[Docker] 도커 VPN 컨테이너로 다른 컨테이너 트래픽 라우팅하기 ( feat.NordVPN )

2025. 5. 30. 22:52·도커&쿠버네티스

VPN과 연결된 특정 컨테이너로, 다른 모든 컨테이너의 트래픽을 라우팅 하는 방법을 알아보자.

아래 글을 NordVPN 기준으로 작성되었다.


NordVPN 토큰 발급

요새 대부분의 서비스들은 "ID:PW" 방식은 웹 페이지 로그인할 때만 사용하고 외부에서 해당 서비스를 이용할 때는 API나 토큰을 발급하는데 이는 NordVPN도 마찬가지였다.

 

https://my.nordaccount.com/dashboard/nordvpn

접속 후 하단의 Get Access token 클릭

이메일 인증 후 발급되는 토큰 기록

 

 

VPN 컨테이너 빌드 및 실행

Dockerfile

FROM ubuntu:24.04

RUN apt-get update && \
apt-get install -y --no-install-recommends wget apt-transport-https ca-certificates && \
    apt-get install -y --no-install-recommends wget apt-transport-https ca-certificates && \ 
    wget -qO /etc/apt/trusted.gpg.d/nordvpn_public.asc https://repo.nordvpn.com/gpg/nordvpn_public.asc && \
    echo "deb https://repo.nordvpn.com/deb/nordvpn/debian stable main" > /etc/apt/sources.list.d/nordvpn.list && \
    apt-get update && \
    apt-get install -y --no-install-recommends nordvpn && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

ENTRYPOINT /etc/init.d/nordvpn start && sleep 5 && /bin/bash -c "$@"
CMD bash

빌드

docker build -t nord_vpn:latest .

 실행

docker run -it --hostname nord_bridge \
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
--privileged \
--name nord_bridge nord_vpn:latest

방화벽 설정

- 아래 명령어는 '실행' 단계에서 실행 된 컨테이너 내부에서 실행해야 한다.

- 컨테이너 실행 후 초기에는 방화벽 정책에 의해 그 어떠한 서버와도 통신할 수 없다.

-- 다시 말하면 NordVPN 로그인 조차 불가능하다는 뜻

-- 따라서 최소한의 NordVPN과 통신할 수 있는 정책은 필요하다.

update-alternatives --set iptables /usr/sbin/iptables-legacy
iptables -A OUTPUT -d api.nordvpn.com -j ACCEPT && iptables -A OUTPUT -d downloads.nordcdn.com -j ACCEPT

NordVPN 로그인

- 아래 명령어는 '실행' 단계에서 실행 된 컨테이너 내부에서 실행해야 한다.

- 토큰 발급 단계에서 발급 받은 토큰을 사용한다.

nordvpn login --token token_goes_here

NordVPN 설정

- 아래 명령어는 '실행' 단계에서 실행 된 컨테이너 내부에서 실행해야 한다.

nordvpn set autoconnect enable # 자동 연결 활성화
nordvpn set analytics disable # 통계 정보 제공하지 않음
nordvpn set killswitch enable # 킬 스위치 활성화
nordvpn c uk # 영국 연결

여기까지 문제 없이 실행되었으면 생성 된 컨테이너는  다른 컨테이너의 트래픽을 받아서 VPN 을 통해 처리하게 되는 역할을 한다.


다른 컨테이너 트래픽 라우팅 하기 ( 예시: 우분투 )

VPN 컨테이너를 만들어 놨으니 이제 다른 컨테이너의 트래픽을 라우팅 시켜야 하는데, 이는 간단하게  `-net` 옵션으로 해결할 수 있다.

docker run -it --net=container:nord_bridge -d --name ubuntu_vpn ubuntu

 


오류 해결

resolv.conf 권한 오류

루트 편집 허용

chattr -i resolv.conf

 

파일 권한 재설정

chmod 777 resolv.conf

'도커&쿠버네티스' 카테고리의 다른 글

[Docker] Nginx Proxy Manager, NPM 사용법 (리다이렉션)  (1) 2025.06.04
[Docker] Nginx Proxy Manager, NPM 사용법 (리버스 프록시)  (0) 2025.05.31
[Docker] Nginx Proxy Manager, NPM 사용법 (설치 및 인증서 발급)  (0) 2025.05.31
'도커&쿠버네티스' 카테고리의 다른 글
  • [Docker] Nginx Proxy Manager, NPM 사용법 (리다이렉션)
  • [Docker] Nginx Proxy Manager, NPM 사용법 (리버스 프록시)
  • [Docker] Nginx Proxy Manager, NPM 사용법 (설치 및 인증서 발급)
초보 & 뉴비
초보 & 뉴비
보안과 개발(프론트는 좀 약함, 미적 감각 부재 이슈)을 좋아하며 업으로 삼고 있습니다.
  • 초보 & 뉴비
    보안과 그 개발, 그 어딘가
    초보 & 뉴비
  • 전체
    오늘
    어제
    • 분류 전체보기 (334) N
      • 옵시디언 (1)
      • 도커&쿠버네티스 (4) N
      • NAS(시놀로지&헤놀로지) (1)
      • Webhacking.kr (62)
      • Lord_of_SQL-Injections_I (27)
      • DVWA (0)
      • Root-Me.org (0)
      • Pwnable.kr (6)
      • HackerSchool_FTZ (20)
      • CodeEngn_Basic (20)
      • CodeEngn_Advance (0)
      • Lord_of_BoF_Redhat (1)
      • Lord_of_BoF_FC3 (5)
      • io_smashthestack (6)
      • n00bs CTF Labs (1)
      • 블록체인 (3)
      • Machine Learning (25)
        • Tensorflow (3)
        • PyTorch (18)
        • Visualize (4)
      • Kali 2.0 & Metasploit (16)
        • Windows Hacking (5)
        • Linux Hacking (0)
        • Malware (3)
        • ETC (8)
      • Fuzzing (2)
      • Windows (1)
      • Linux (4)
      • Android (2)
      • Android_Vuln (26)
      • 익스플로잇 (12)
      • 모의해킹 (4)
        • 워드프레스 (4)
      • SQL Injection (1)
      • System Hacking(OS) (5)
        • Shellcode (5)
      • Buffer OverFlow (9)
      • Reversing (44)
        • Lena's Reversing Tutorial f.. (41)
        • 이것 저것 (3)
      • ===== 번역 ===== (0)
      • primalsecurity.net (14)
        • Python Tutorials (14)
      • securityxploded.com (1)
        • IDA Pro (1)
      • 개인 정리 (11)
        • Burpsuite (11)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

    • 정보보안 관련 포스팅 주의사항
  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
초보 & 뉴비
[Docker] 도커 VPN 컨테이너로 다른 컨테이너 트래픽 라우팅하기 ( feat.NordVPN )
상단으로

티스토리툴바