본문 바로가기

Hardware/Synology

[Synology] qBittorrent 만 VPN 사용하게 하기 (DSM6 전용)

요약

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/ 에서 국가 정보를 확인합니다.