요약
NAS 에서 특정 기능 혹은 특정 앱만 VPN을 이용하도록 격리시킬 수 있습니다.
다음은 Synology NAS 에서 qBittorrent 만 VPN을 사용하도록 격리시키는 방법입니다.
설명
우선 VPN 접속에 사용할 ovpn 파일을 준비합니다.
NordVPN의 경우, 아래 URL에서 원하는 국가를 선택 한 후, 다운로드 할 수 있습니다.
(NordVPN은 유료 VPN 입니다. 가입 및 결재가 필요합니다.)
https://nordvpn.com/servers/tools/
NAS에서 아래와 같이 폴더를 생성합니다.
/docker/임의의폴더명/openvpn
ex) /docker/qbittorrentvpn/openvpn
그리고 앞서 받은 ovpn 파일을 openvpn 폴더 안에 넣어둡니다.
Docker > 레지스트리 > qbittorrentvpn 을 다운로드 합니다.
(https://hub.docker.com/r/markusmcnugen/qbittorrentvpn)
작업 스케줄러 > 생성 > 예약된 작업 > 사용자 정의 스크립트
스케줄 > 다음 날짜에 실행
작업 설정 > 사용자 정의 스크립트
docker run -d --name=qbittorrentvpn \
-v /volume1/docker/qbittorrentvpn/:/config \
-v /your/download/path/:/downloads \
-e PUID=1026 \
-e PGID=100 \
-e TZ=Asia/Seoul \
-e "VPN_ENABLED=yes" \
-e "VPN_USERNAME=your_VPN_ID" \
-e "VPN_PASSWORD=your_VPN_PASSWORD" \
-e "LAN_NETWORK=192.168.1.0/24" \
-e "NAME_SERVERS=8.8.8.8,8.8.4.4" \
-p 8080:8080 \
-p 8999:8999 \
-p 8999:8999/udp \
markusmcnugen/qbittorrentvpn
본인의 환경에 맞게 수정해야 하는 항목은 다음과 같습니다.
docker run -d --name=qbittorrentvpn \ | 컨테이너 이름을 지정 |
-v /volume1/docker/qbittorrentvpn/:/config \ | 설정 파일을 저장할 path를 지정 위에서 ovpn 파일을 넣어둔 폴더 경로와 혼동하시면 안됩니다. ovpn 파일을 넣은 경로: /docker/qbittorrentvpn/openvpn 여기서 설정해줄 경로: /docker/qbittorrentvpn/ |
-v /your/download/path/:/downloads \ | 다운로드, 임시파일 저장 path 를 지정 |
-e "VPN_USERNAME=your_VPN_ID" \ | vpn 계정 정보 |
-e "VPN_PASSWORD=your_VPN_PASSWORD" \ | vpn 패스워드 정보 |
-e "LAN_NETWORK=192.168.1.0/24" \ | 본인 NAS의 IP 대역 |
제가 설정한 화면은 이렇습니다. 참고해주세요.
docker run -d --name=qbittorrent_vpn2 \
-v /volume1/docker/qbittorrentvpn/:/config \
-v /volumeUSB1/usbshare/down/:/downloads \
-e PUID=1026 \
-e PGID=100 \
-e TZ=Asia/Seoul \
-e "VPN_ENABLED=yes" \
-e "VPN_USERNAME=aaaa@bbbb.com" \
-e "VPN_PASSWORD=mypassword" \
-e "LAN_NETWORK=192.168.1.0/24" \
-e "NAME_SERVERS=8.8.8.8,8.8.4.4" \
-p 8080:8080 \
-p 8999:8999 \
-p 8999:8999/udp \
markusmcnugen/qbittorrentvpn
작업 스케줄을 실행한 후, 도커 컨테이너가 정상적으로 실행되었는지 로그를 확인합니다.
\docker\qbittorrentvpn\qBittorrent\data\logs\qbittorrent-daemon.log
정상적으로 구동이 되면 아무 내용이 없으므로 웹 콘솔 확인으로 넘어가면 됩니다.
만약 아래와 같은 메세지가 표시되면 아래 스텝을 진행해주세요.
/usr/bin/qbittorrent-nox: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
컨테이너 > 터미널 > 생성 > bash 생성 후, 아래와 같이 실행하고 컨테이너를 재시작합니다.
apt update
apt install binutils
strip –remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
컨테이너 로그를 통해 정상적으로 실행이 되었는지 확인합니다.
그 후 NAS IP:8080 으로 접속해서 WebUI 가 표시되면 로그인 합니다. (admin / adminadmin)
VPN을 통해 연결되고 있는지 확인 방법
이제 실제로 VPN 을 통해 다운로드되는 것인지 확인을 해볼 차례입니다.
VPN 연결이 되지 않으면 연결이 끊어지도록 Kill Switch 가 걸려있긴하지만 그래도 실제 동작 여부를 확인해볼 필요가 있습니다.
위 설명처럼 다시 컨테이너에서 bash 를 실행해서 내부에 접속 한후, traceroute 패키지를 설치합니다.
apt update
apt install traceroute
그 후, 임의의 도메인에 대해 경로를 확인합니다.
traceroute amazon.de
2번의 IP가 VPN 서버의 IP 입니다. 확인한 IP를 https://whois.domaintools.com/ 에서 국가 정보를 확인합니다.
'Hardware > Synology' 카테고리의 다른 글
APC UPS A/S 받는 방법 (0) | 2024.03.08 |
---|---|
APC Back-UPS 400/550/700 설명서 (0) | 2022.04.09 |
[Synology] NAS를 이용해서 PC에 WOL 패킷 보내기 (0) | 2021.12.02 |
[Synology] EBS 방송 예약 녹음 (2) | 2021.06.15 |
[Synology DSM] DDSM에서 Download Station 임시 위치 변경 (0) | 2021.06.15 |