이 튜토리얼에서는 CloudSigma를 사용하여 Docker에서 Open VPN 서버를 설정해 보겠습니다. CloudSigma의 클라우드 위치가 전 세계에 분산되어 있으므로, 그 중 어느 곳에서나 서버를 생성하고 해당 위치에서 콘텐츠에 액세스할 수 있습니다.
가상 머신 생성하기
먼저, 다음과 같은 리소스를 가진 가상 머신을 생성합니다:
20 GHz CPU
16 GB RAM
20 GB SSD
CloudSigma 라이브러리에서 제공하는 Ubuntu 18.04 이미지로 디스크를 마운트합니다.
Ubuntu 18.04 : VirtIO 드라이버가 사전 설치된 64비트, superuser, Python 2.7.15, Pip 18.0, OpenSSL 1.1.0i, Cloud-init 및 2018-09-30까지의 최신 업데이트 포함.
머신의 기존 모든 저장소 및 패키지를 업데이트합니다.
|
1 2 |
sudo apt update sudo apt upgrade |
이제 시스템이 최신 상태이므로 Docker 설치를 진행하겠습니다. Docker에 대한 자세한 정보는 여기.
Docker 설치하기
다음 명령을 실행하여 Docker를 설치할 수 있습니다:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce |
OpenVPN
이제 Docker가 성공적으로 설치되었으므로 OpenVPN Access Server를 작동시켜 보겠습니다. 다음은 지정된 구성으로 OpenVPN Access Server의 새 Docker 컨테이너를 생성하는 명령입니다.
|
1 2 3 4 5 6 7 8 |
docker create \ --name=openvpn-as \ -v <path to data>:/config \ -e PGID=<gid> -e PUID=<uid> \ -e TZ=<timezone> \ -e INTERFACE=<interface> \ --net=host --privileged \ linuxserver/openvpn-as |
다음 명령들은 Docker 이미지 페이지에 언급되어 있습니다.
openvpn-as가 구성 파일을 저장해야 하는 위치:
|
1 |
-v /config |
GroupID 설정:
|
1 |
-e PGID |
UserID로 사용됨:
|
1 |
-e PUID |
시간대(Timezone) 설정:
|
1 |
-e TZ |
openvpn-as의 기본 인터페이스 설정은 eth0입니다:
|
1 |
-e INTERFACE |
중요: 대부분의 사용자의 경우 호스트 모드에서 작동해야 합니다:
|
1 |
--net=host |
중요: 권한 부여(privileged) 모드가 아니면 작동하지 않습니다:
|
1 |
--privileged |
그룹 ID와 사용자 ID를 가져오려면 다음 명령을 실행합니다:
|
1 |
id |
시간대는 CET로 지정합니다.
인터페이스를 확인하려면 다음 명령을 실행합니다:
|
1 |
ip r |
인터페이스는 일반적으로 ens3 또는 eth0입니다. 제 시스템의 경우 ens3입니다.
이 모든 사항을 추가한 후, 다음 명령을 실행합니다:
|
1 2 3 4 5 6 7 8 |
sudo docker create --name=openvpn-as \ --restart=always \ -v /home/docker/openvpn-as/config:/config \ -e INTERFACE=ens3 \ -e PGID=1004 -e PUID=1000 \ -e TZ=Europe/Warsaw \ --net=host --privileged \ linuxserver/openvpn-as |
시스템에 이미지가 아직 없으므로 서버에서 이미지를 가져옵니다(pull). 출력 결과는 다음과 같습니다:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
불가능 to 찾기 이미지 'linuxserver/openvpn-as:latest' 로컬에서 latest: 가져오는 중 로부터 linuxserver/openvpn-as 56d9dc91333b: 가져오기 완료 1356b0cfc067: 가져오기 완료 155f3c53d4a5: 가져오기 완료 05088c205b6d: 가져오기 완료 112068b0fa4e: 가져오기 완료 2ff5dd4a0d9b: 가져오기 완료 7dd87385ca73: 가져오기 완료 d966d969c7cd: 가져오기 완료 4439dbcda217: 가져오기 완료 5f960f89c64e: 가져오기 완료 다이제스트: sha256:d65f743bcec24b6b6ad0b19f9d7876cd70d5237690a940301b2366d6d5767a80 상태: 다운로드됨 더 새로운 이미지 대상 linuxserver/openvpn-as:latest f0a1eb5440b5a423f8f21081d8654aaba2c0bd9995d2dea88a979c97ea977e16 |
다음 명령어로 컨테이너를 시작합니다:
|
1 |
sudo docker start openvpn-as |
로그인
이제 시작했으므로, 액세스 서버의 관리자 패널로 이동하겠습니다.
URL로 이동: https://<<YourIpAddress>>:943/admin

기본적으로 설정된 사용자 이름과 비밀번호를 요구합니다:
사용자 이름: admin
비밀번호: password

로그인하면 EULA(최종 사용자 라이선스 동의서)에 동의하는지 묻습니다. 동의(Agree)를 클릭하고 관리자 대시보드로 이동합니다.

보안을 위해 관리자 계정의 비밀번호를 변경하는 것이 좋습니다. 다음 명령어를 사용하여 변경합니다:
|
1 |
docker exec -it openvpn-as passwd admin |
DNS 구성하기
이제 서버가 가동되었으므로 DNS를 구성하고자 합니다. 도메인 네임 서버(DNS)에 대한 자세한 정보를 보려면 여기.
가장 빠른 DNS 서버 중 하나는 Google’s입니다. 클라이언트가 웹사이트를 쉽게 돌아다닐 수 있도록 OpenVPN Access Server에 이를 구성하겠습니다.
VPN 설정으로 이동하여 DNS 설정 아래의 “Have clients use specific DNS servers(클라이언트가 특정 DNS 서버를 사용하도록 설정)”를 활성화하겠습니다.

다음으로, DNS 서버 열에 다음 주소를 입력하겠습니다:
기본 DNS 서버: 8.8.8.8
보조 DNS 서버: 8.8.8.4

설정을 저장하고 “Update Running Server(실행 중인 서버 업데이트)”를 클릭합니다. 실행 중인 서버가 업데이트됩니다.
서버를 성공적으로 구성했으므로, 이제 제 시스템을 통해 VPN에 연결하는 단계로 넘어갈 수 있습니다.
클라이언트 UI 접속 주소: https://<<YourIpAddress>>:943.
관리자 사용자 이름, 관리자 비밀번호를 입력하거나 관리자 패널의 사용자 관리(User Management) 섹션에서 새 사용자를 생성합니다.
로그인하면 다양한 OS에 대한 여러 옵션이 제공됩니다. Windows를 선택하고 클라이언트 소프트웨어를 다운로드합니다.

설치가 완료되면 시작 메뉴에서 실행하거나 자동으로 실행됩니다. 시스템 트레이에서 이전에 설정한 계정을 사용하여 VPN에 연결할 수 있습니다.

그리고 VPN에 연결되었습니다. Et Voila! 이것이 Docker에서 VPN 서버를 만드는 방법입니다.
댓글
아직 댓글이 없습니다. 첫 번째로 작성해 보세요.