도커 컨테이너가 VPN을 통해서만 통신하도록 설정하고자 할 때, Gluetun은 편리한 도구입니다. Gluetun은 와이어가드(WireGuard)나 오픈VPN(OpenVPN)을 지원하는 VPN과 함께 사용할 수 있습니다. 아래는 무료 버전의 프로톤 VPN을 사용하여 컨테이너를 생성하는 Docker Compose 예시입니다.
version: "3"
services:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
restart: unless-stopped
cap_add:
- NET_ADMIN
environment:
- VPN_SERVICE_PROVIDER=protonvpn
- OPENVPN_USER=아이디
- OPENVPN_PASSWORD=비번
- SERVER_COUNTRIES=Japan
- FREE_ONLY=on
- TZ=Asia/Tokyo
ports:
- xxxx:xxxx # 다른 컨테이너에서 필요한 포트
- 8888:8888/tcp # HTTP proxy
- 8388:8388/tcp # Shadowsocks
- 8388:8388/udp # Shadowsocks
위 예시에서 실제 프로톤 VPN 계정의 오픈VPN 아이디와 비밀번호로 대체해야 합니다. 또한, 지역을 일본으로 설정하였으며, 만약 프록시 지원이 필요하지 않다면 포트에서 해당 부분을 생략할 수 있습니다. 중요한 점은, 다른 도커 컨테이너에서 필요한 포트를 해당 도커에서 작성하는 대신 Gluetun의 포트 설정 부분에 입력해야 합니다.
version: "3"
services:
example:
image:
network_mode: container:gluetun
# ports:
# - 필요한 포트
다른 컨테이너는 네트워크 모드를 container:gluetun으로 설정하여 VPN으로만 통신하도록 할 수 있으며, Gluetun에서는 필요한 포트를 설정하여 다른 컨테이너의 포트 요청을 라우팅합니다. 이를 통해 Gluetun은 마치 킬 스위치와 같은 역할을 수행하며, 컨테이너 간 통신은 오로지 설정된 VPN을 통해서만 이루어집니다.
추가적인 옵션을 사용하고자 할 경우, 아래의 링크에서 자세한 정보를 확인할 수 있습니다.
https://github.com/qdm12/gluetun/wiki
'> Server' 카테고리의 다른 글
개인용 클라우드 솔루션 Nextcloud (1) | 2023.05.19 |
---|---|
만화 및 이북 뷰어 Kavita (0) | 2023.05.18 |
무료 도메인 DuckDNS를 활용한 SSL 인증과 DDNS 설정 가이드 (1) | 2023.05.17 |
역방향 프록시 관리 도구(NPM)의 설정과 주의사항 (0) | 2023.05.17 |
큐냅(QNAP) 나스의 컨테이너 스테이션 활용 가이드 (0) | 2023.05.17 |