도커 컨테이너에서 DDNS와 VPN 사용하기
목표
- DDNS 주소로 VPN이 활성화된 NAS의 도커 컨테이너에 접속하기
기존 문제점
VPN 연결이 활성화된 NAS에서 도커를 사용할 때, DDNS 주소로 컨테이너에 접속할 수 없습니다. 리버스 프락시는 서브도메인을 파악하여 내부 포트에 연결해 주는데, VPN 서버에서 걸러지면서 클라이언트는 목적지에 도달할 수 없습니다.
DDNS에 WAN IP를 알려주면
그림과 같이 사용자가 DDNS로 접속할 때, 실제 WAN IP로 통신이 되며, NAS에서 인터넷에 접속할 때에는 VPN IP로 통신이 됩니다.
이렇게 하면 qBitTorrent를 Docker로 실행할 때 VPN을 적용하여 IP를 숨길 수 있습니다. 동시에 DDNS 주소로 여러 응용 프로그램 및 도커 컨테이너를 사용할 수 있습니다. 토렌트 WEB UI에 접속할 수 있으며, 위키, 워드프레드 등의 컨테이너와 시놀로지 서비스에 접속이 됩니다. 리버스 프락시가 정상 동작하고 컨테이너 내부와 통신이 된다는 말입니다. 이렇게 하려면 DDNS 서버에 실제 IP를 알려줘야 합니다.
VPN 준비
일단 ExpressVPN을 준비합니다. 타사 VPN은 추천하지 않습니다. 아래 링크는 ExpressVPN 첫 한 달 무료 이벤트 링크입니다.
빠르고 보안에 강한 VPN, EXPRESSVPN 30일 무료 체험 초대권
로그인 후 장치 설정 페이지로 이동하면 아래와 같은 페이지가 나타나는데, 수동 구성 항목을 클릭합니다.
오른쪽에 사용자명과 비밀번호가 나타납니다. NAS VPN 설정에서 입력해야 합니다.
스크롤을 내리면 접속 가능한 서버 목록이 나타납니다.
SOUTH KOREA 서버를 찾아서 클릭하면 my_expressvpn_south_korea_-_2_udp.ovpn 파일을 내려받을 수 있습니다.
NAS 설정
다중 게이트웨이 활성화
제어판 - 네트워크 - 일반 탭으로 이동하여 고급 설정 버튼을 클릭합니다.
다중 케이트웨이 활성화를 선택 후 확인 버튼을 누릅니다.
VPN 설정
제어판 - 네트워크 - 네트워크 인터페이스 탭으로 이동합니다. 생성 버튼을 누르면 나타나는 프로파일 생성 창에서 OpenVPN 항목을 선택합니다. 다음 버튼 클릭.
ExpressVPN에서 얻은 사용자명, 비밀번호를 사용자 이름, 암호 상자에 입력합니다. 내려받은 .ovpn 파일을 찾아서 입력합니다. 다음 버튼 클릭.
원격 네트워크의 기본 게이트웨이 사용, VPN 연결이 끊어지면 다시 연결 항목을 선택하고 완료 버튼을 누릅니다.
등록한 프로파일을 선택하고 연결을 합니다.
관리 메뉴 - 서비스 순서 항목을 선택합니다.
VPN 프로파일을 드래그하여 첫 번째 위치로 옮긴 후 확인 버튼을 누릅니다.
일반 탭에서 기본 게이트웨이가 VPN 프로파일로 설정됐는지 확인합니다.
DDNS용 정적 라우트 등록
정적 라우트 탭으로 이동 후 생성 버튼을 누릅니다.
Synology DDNS 서버 주소
https://www.nslookup.io/ 사이트에서 DDNS의 IP주소를 알아내야 합니다. myds.me를 검색했더니 4개의 서버가 나타납니다.
하나씩 누르면 IP를 볼 수 있습니다. 찾아볼 필요 없이 아래 목록에 추가하였습니다.🤣
164.92.113.143
162.243.23.112
143.244.185.93
165.227.213.35
44.239.77.234
44.240.201.191
44.236.224.47
52.10.31.158
44.241.103.184
44.239.15.20
159.89.129.146
142.93.81.166
138.68.28.244
165.227.63.200
104.248.79.120
159.89.142.52
159.65.77.153
206.189.214.49
네트워크 대상 입력 상자에 DDNS 네임서버 IP를 하나씩 입력합니다. 넷마스크는 255.255.255.255로 입력합니다. 게이트웨이는 공유기의 IP를 입력합니다. 인터페이스는 기본 LAN 프로파일을 선택합니다. 생성 버튼을 눌러 등록합니다. 같은 방법으로 위 IP를 모두 등록합니다.
연결 테스트
VPN 연결 테스트
http://checkmyip.torrentprivacy.com/ 사이트로 접속 후 Download Now 버튼을 누르거나 버튼의 링크를 복사하여 Torrent에 입력합니다.
토렌트 내려받기를 실행하면 사이트에서 실시간 접속 상태를 볼 수 있습니다.
여기에 나타나는 IP address 주소가 VPN 서버 주소로 나타난다면 정상적으로 VPN 연결이 되는 것입니다.
DDNS 연결 테스트
제어판 - 외부 액세스 - DDNS 화면으로 이동 후 지금 업데이트 버튼을 누릅니다. 외부 주소를 보면 ISP에서 제공하는 WAN IP로 나타나는 것을 확인할 수 있습니다.
도커 컨테이너 연결 테스트
도커로 실행 중인 위키미디어입니다. 워드프레스, Plex, 각종 도커 컨테이너가 정상 접속됩니다.
끝
이렇게 설정함으로써 NAS 서비스와 도커 컨테이너는 VPN 서버를 통해 데이터를 송수신하고, 외부 접속자는 DDNS를 통해 NAS에 접속할 수 있습니다.
참조
Synology NAS 에서 VPN 연결을 사용하고 있습니다. DDNS 를 통해 연결할 수 있습니까? - Synology 지식 센터