docker의 VPN에서만 액세스할 수 있는 서비스 만들기
거의 pritunl 이야기입니다.
docker 컨테이너
docker에서 사용하는 이미지는 VPN 구축을위한 Pritunl과 설명을위한 Nginx입니다. Pritunl은 호스트 시스템과의 통신을 위해 포트를 비워 두지 만 Nginx는 VPN 연결시에만 액세스 할 수 있도록 포트를 설정하지 않습니다.
docker-compose.yml
version: '3.7'
services:
pritunl:
image: jippi/pritunl
container_name: pritunl
privileged: true
ports:
- "1194:1194/udp"
- "1194:1194/tcp"
- "80:80/tcp"
- "443:443/tcp"
networks:
bridge:
ipv4_address: 172.16.20.2
nginx:
image: nginx
container_name: nginx
networks:
bridge:
ipv4_address: 172.16.20.3
networks:
bridge:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.16.20.0/24
docker-compose.yml
준비가 되면 컨테이너를 시작합니다.$ docker-compose up -d
이 시점에서는 Nginx에 연결되지 않습니다.

Pritunl에 로그인
docker가 시작되면 localhost:443
에서 pritunl에 연결하고 로그인합니다.
기본 Username과 Password는 모두 pritunl입니다.

로그인하면 Initial Setup 화면이 표시되므로 우선 Username과 Password를 변경해 둡시다. Public Address는 공란으로 두면 글로벌 IP 주소가 자동으로 입력되어 버리기 때문에 우선 손으로 움직이기 위해 localhost
로 변경해 둡니다.

Pritunl 설정 변경
여기에서 Pritunl을 설정합니다. Users
탭에서 Add Organization을 클릭하고 적절한 이름을 입력한 후 Add를 눌러 추가합니다.

그런 다음 사용자를 추가합니다. Pin 코드는 optional이므로 공란이 될 수 있습니다.

이제 Servers 탭으로 이동하여 Add Server에서 Server를 추가합니다. Port와 Protocol은 docker-compose에서 설정한 udp의 포트를 지정합니다.
Virtual Network로 설정한 네트워크의 ip는 vpn 클라이언트에 할당됩니다.
이 값을, docker상의 bridge 네트워크와 동일하게 해 버려, Pritunl 컨테이너에 연결하지 않게 된 실수를 한 것은, 여기만의 이야기.
그래서, docker의 네트워크의 서브넷과는 전혀 다른 값으로 해 두는 편이, 트러블이 적을 것.

서버를 만들었으면 Route도 추가합니다. Add Route를 클릭하고 docker compose에서 설정한 네트워크를 추가합니다.

서버가 생성되면 Attach Organization을 클릭하여 생성한 서버에 Organization을 연결합니다.

VPN 서버 시작
Servers에서 만든 서버의 Start Sever를 클릭하면 VPN 서버가 시작됩니다.

Pritunl 클라이언트 설정
사용자 탭으로 돌아가서 대상 사용자 프로필을 다운로드합니다.

Pritunl Client 공식 사이트에서 클라이언트를 다운로드하고 시작합니다.
가져오기 프로필을 클릭하여 방금 다운로드한 프로필을 로드합니다.

가져온 후 메뉴 버튼에서 Conect
를 선택하여 VPN에 연결합니다.


VPN에 연결할 수 있으면 이전에 연결되지 않은 172.16.20.3
Nginx에 액세스할 수 있습니다.
Reference
이 문제에 관하여(docker의 VPN에서만 액세스할 수 있는 서비스 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hyonsoku/items/326dd0409fe483f1a76c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
여기에서 Pritunl을 설정합니다.
Users
탭에서 Add Organization을 클릭하고 적절한 이름을 입력한 후 Add를 눌러 추가합니다.
그런 다음 사용자를 추가합니다. Pin 코드는 optional이므로 공란이 될 수 있습니다.

이제 Servers 탭으로 이동하여 Add Server에서 Server를 추가합니다. Port와 Protocol은 docker-compose에서 설정한 udp의 포트를 지정합니다.
Virtual Network로 설정한 네트워크의 ip는 vpn 클라이언트에 할당됩니다.
이 값을, docker상의 bridge 네트워크와 동일하게 해 버려, Pritunl 컨테이너에 연결하지 않게 된 실수를 한 것은, 여기만의 이야기.
그래서, docker의 네트워크의 서브넷과는 전혀 다른 값으로 해 두는 편이, 트러블이 적을 것.

서버를 만들었으면 Route도 추가합니다. Add Route를 클릭하고 docker compose에서 설정한 네트워크를 추가합니다.

서버가 생성되면 Attach Organization을 클릭하여 생성한 서버에 Organization을 연결합니다.

VPN 서버 시작
Servers에서 만든 서버의 Start Sever를 클릭하면 VPN 서버가 시작됩니다.

Pritunl 클라이언트 설정
사용자 탭으로 돌아가서 대상 사용자 프로필을 다운로드합니다.

Pritunl Client 공식 사이트에서 클라이언트를 다운로드하고 시작합니다.
가져오기 프로필을 클릭하여 방금 다운로드한 프로필을 로드합니다.

가져온 후 메뉴 버튼에서 Conect
를 선택하여 VPN에 연결합니다.


VPN에 연결할 수 있으면 이전에 연결되지 않은 172.16.20.3
Nginx에 액세스할 수 있습니다.
Reference
이 문제에 관하여(docker의 VPN에서만 액세스할 수 있는 서비스 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hyonsoku/items/326dd0409fe483f1a76c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
사용자 탭으로 돌아가서 대상 사용자 프로필을 다운로드합니다.

Pritunl Client 공식 사이트에서 클라이언트를 다운로드하고 시작합니다.
가져오기 프로필을 클릭하여 방금 다운로드한 프로필을 로드합니다.

가져온 후 메뉴 버튼에서
Conect
를 선택하여 VPN에 연결합니다.

VPN에 연결할 수 있으면 이전에 연결되지 않은
172.16.20.3
Nginx에 액세스할 수 있습니다.
Reference
이 문제에 관하여(docker의 VPN에서만 액세스할 수 있는 서비스 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hyonsoku/items/326dd0409fe483f1a76c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)