웹사이트 검색

Ubuntu 20.04에서 Pritunl VPN 서버를 설정하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • Ubuntu 20.04(Focal Fossa)
  • Ubuntu 18.04(Bionic Beaver)

이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. Pritunl 서버 설치
  4. MongoDB 설치
  5. Pritunl 웹 인터페이스 액세스
  6. Pritunl 클라이언트 설치
  7. Pritunl 클라이언트를 Pritunl 서버에 연결
  8. 결론

Pritunl은 간단하고 사용하기 쉬운 오픈 소스 VPN 서버로, 1분 안에 데이터 센터 전체에서 개인 네트워크 가상화를 설정할 수 있습니다. 간단하고 사용자 친화적인 웹 인터페이스를 제공하며 광범위한 클라우드 VPN 네트워크를 생성할 수 있습니다. 공식 클라이언트 패키지를 제공하고 대부분의 장치 및 플랫폼에서 모든 OpenVPN 클라이언트를 지원합니다.

이 튜토리얼에서는 Ubuntu 20.04 서버에서 Pritunl VPN 서버 및 클라이언트를 설정하는 방법을 설명합니다.

전제 조건

  • Ubuntu 20.04 서버를 실행하는 시스템.\n
  • Ubuntu 20.04 데스크탑을 실행하는 시스템.\n
  • 루트 암호는 서버에 구성됩니다.\n

시작하기

시작하기 전에 시스템 패키지를 최신 버전으로 업데이트하는 것이 좋습니다. 다음 명령을 실행하여 모든 패키지를 업데이트할 수 있습니다.

apt-get update -y

모든 패키지가 업데이트되면 다음 명령을 실행하여 다른 필수 종속성을 설치합니다.

apt-get install curl gnupg2 wget unzip -y

모든 패키지가 설치되면 다음 단계로 진행할 수 있습니다.

Pritunl 서버 설치

기본적으로 Pritunl은 Ubuntu 기본 리포지토리에서 사용할 수 없습니다. 따라서 GPG 키와 리포지토리를 시스템에 추가해야 합니다.

먼저 다음 명령을 사용하여 GPG 키를 추가합니다.

apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv E162F504A20CDF15827F718D4B7C549A058F8B6B
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A

다음으로 다음 명령을 사용하여 Pritunl 리포지토리를 추가합니다.

echo "deb http://repo.pritunl.com/stable/apt focal main" | tee /etc/apt/sources.list.d/pritunl.list

리포지토리가 추가되면 리포지토리 캐시를 업데이트하고 다음 명령을 사용하여 Pritunl 서버를 설치합니다.

apt-get update -y
apt-get install pritunl -y

설치가 완료되면 Pritunl 서비스를 시작하고 다음 명령을 사용하여 시스템 재부팅 시 시작되도록 활성화합니다.

systemctl start pritunl
systemctl enable pritunl

이제 다음 명령을 사용하여 Pritunl 서비스의 상태를 확인할 수 있습니다.

systemctl status pritunl

다음과 같은 결과가 표시되어야 합니다.

? pritunl.service - Pritunl Daemon
     Loaded: loaded (/etc/systemd/system/pritunl.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-01-09 11:51:03 UTC; 4s ago
   Main PID: 11487 (pritunl)
      Tasks: 2 (limit: 2353)
     Memory: 181.2M
     CGroup: /system.slice/pritunl.service
             ??11487 /usr/lib/pritunl/bin/python /usr/lib/pritunl/bin/pritunl start

Jan 09 11:51:03 ubunt4 systemd[1]: Started Pritunl Daemon.
Jan 09 11:51:04 ubunt4 pritunl[11487]: /usr/lib/pritunl/lib/python2.7/site-packages/OpenSSL/crypto.py:12: CryptographyDeprecationWarning: >
Jan 09 11:51:04 ubunt4 pritunl[11487]:   from cryptography import x509

다음 명령을 사용하여 Pritunl 수신 포트를 확인할 수도 있습니다.

ss -antpl | grep pritunl

다음 출력이 표시되어야 합니다.

LISTEN   0        4096                          *:443                  *:*       users:(("pritunl-web",pid=11523,fd=4))                                         
LISTEN   0        5                         [::1]:9755              [::]:*       users:(("pritunl",pid=11487,fd=5))  

완료되면 다음 단계로 진행할 수 있습니다.

몽고DB 설치

Pritunl은 MongoDB를 기반으로 구축되었으므로 시스템에 MongoDB 서버를 설치해야 합니다. 기본적으로 MongoDB는 Ubuntu 20.04 기본 리포지토리에서 사용할 수 없으므로 시스템에 MongoDB 리포지토리를 추가해야 합니다.

먼저 다음 명령을 사용하여 MongoDB 키를 다운로드하고 추가합니다.

curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -

그런 다음 다음 명령을 사용하여 MongoDB 리포지토리를 추가합니다.

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list

리포지토리가 추가되면 리포지토리를 업데이트하고 다음 명령을 사용하여 MongoDB 서버를 설치합니다.

apt-get update -y
apt-get install mongodb-server -y

설치가 완료되면 MongoDB 서비스를 시작하고 다음 명령을 사용하여 시스템 재부팅 시 시작되도록 활성화합니다.

systemctl start mongodb
systemctl enable mongodb

다음 명령을 사용하여 MongoDB 서비스의 상태를 확인할 수 있습니다.

systemctl status mongodb

다음과 같은 결과가 표시되어야 합니다.

? mongodb.service - An object/document-oriented database
     Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-01-09 11:52:12 UTC; 11s ago
       Docs: man:mongod(1)
   Main PID: 11782 (mongod)
      Tasks: 23 (limit: 2353)
     Memory: 41.9M
     CGroup: /system.slice/mongodb.service
             ??11782 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

Jan 09 11:52:12 ubunt4 systemd[1]: Started An object/document-oriented database.

이 시점에서 MongoDB가 시작되고 포트 27017에서 수신 대기합니다. 다음 명령으로 확인할 수 있습니다.

ss -antpl | grep 27017

다음과 같은 결과가 표시되어야 합니다.

LISTEN   0        4096                  127.0.0.1:27017          0.0.0.0:*       users:(("mongod",pid=11782,fd=11))      

완료되면 다음 단계로 진행할 수 있습니다.

Pritunl 웹 인터페이스에 액세스

이제 웹 브라우저를 열고 URL https://your-server-ip를 사용하여 Pritunl 웹 설치 마법사에 액세스하십시오. 다음 화면이 표시됩니다.

이제 터미널을 열고 다음 명령을 실행하여 키를 생성하십시오.

pritunl setup-key

다음 출력이 표시되어야 합니다.

/usr/lib/pritunl/lib/python2.7/site-packages/OpenSSL/crypto.py:12: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
  from cryptography import x509
08b35282d88d4fce8dc9516cd5d03892

위 출력에서 키를 복사한 다음 웹 인터페이스로 이동하여 키를 붙여넣고 저장 버튼을 클릭합니다. Pritunl 로그인 페이지로 리디렉션됩니다.

이제 터미널을 열고 다음 명령을 실행하여 비밀번호를 생성하십시오.

pritunl default-password

다음과 같은 결과가 표시되어야 합니다.

  from cryptography import x509
[undefined][2021-01-09 13:09:17,430][INFO] Getting default administrator password
Administrator default password:
  username: "pritunl"
  password: "27Z4n6yGFZnW"

위 출력에서 사용자 이름과 비밀번호를 복사한 다음 웹 인터페이스로 이동하여 사용자 이름과 비밀번호를 입력하고 로그인 버튼을 클릭합니다. 초기 설정 화면으로 리디렉션됩니다.

원하는 경우 비밀번호나 사용자를 변경한 다음 저장 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

이제 조직 추가 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

조직 이름을 입력하고 추가 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

사용자 추가 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

사용자 이름을 입력하고 고정한 다음 추가 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

이제 서버 탭을 클릭하십시오. 다음 페이지가 표시됩니다.

서버 추가 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

서버 이름, 포트, DNS IP, 가상 네트워크를 제공하고 추가 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

조직 연결 버튼을 클릭하여 조직을 서버에 연결합니다. 다음 페이지가 표시됩니다.

첨부 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

서버 시작 버튼을 클릭하여 VPN 서버를 시작합니다. 다음 페이지가 표시됩니다.

Pritunl 클라이언트 설치

이 시점에서 Pritunl 서버가 설치되고 구성됩니다. 이제 클라이언트 시스템의 Pritunl 클라이언트를 설치하고 구성해야 합니다.

클라이언트 시스템에서 다음 명령을 사용하여 Pritunl 키를 추가합니다.

apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv E162F504A20CDF15827F718D4B7C549A058F8B6B
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A

키가 추가되면 다음 명령을 사용하여 Pritunl 리포지토리를 추가합니다.

echo "deb http://repo.pritunl.com/stable/apt focal main" | tee /etc/apt/sources.list.d/pritunl.list

리포지토리가 추가되면 리포지토리를 업데이트하고 다음 명령을 사용하여 Pritunl 클라이언트 패키지를 설치합니다.

apt-get update -y
apt-get install pritunl-client-electron -y

설치가 완료되면 다음 단계로 진행할 수 있습니다.

Pritunl 클라이언트를 Pritunl 서버에 연결

다음으로 Pritunl 클라이언트 애플리케이션을 열고 VPN 서버에 연결해야 합니다.

시작하기 전에 Pritunl 웹 인터페이스로 이동하여 사용자 탭을 클릭하고 클라이언트 시스템에서 사용자 프로필을 다운로드합니다.

다운로드 버튼을 클릭하여 사용자 프로필을 클라이언트 시스템에 다운로드합니다.

다운로드가 완료되면 다음 명령을 사용하여 다운로드한 tar 파일의 압축을 풉니다.

tar -xvf user1.tar

다음 출력에 추출된 파일이 표시되어야 합니다.

myorg_user1_server1.ovpn

이제 아래와 같이 애플리케이션 메뉴에서 Pritunl 클라이언트 애플리케이션에 액세스합니다.

프로필 가져오기 버튼을 클릭하여 시스템에서 myorg_user1_server1.ovpn 파일을 가져옵니다. 다음 화면이 표시됩니다.

이제 빨간색 사각형 버튼을 클릭하십시오. 다음 화면이 표시됩니다.

이제 연결 버튼을 클릭하여 VPN 서버에 연결하십시오. 아래와 같이 사용자 PIN을 제공하라는 메시지가 표시됩니다.

사용자 핀을 제공하고 확인 버튼을 클릭합니다. 연결되면 다음 화면이 표시됩니다.

다음 명령을 사용하여 VPN 연결을 확인할 수도 있습니다.

ifconfig tun0

다음 출력이 표시되어야 합니다.

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:192.168.237.2  P-t-P:192.168.237.2  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:3752 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3847 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:2399700 (2.3 MB)  TX bytes:807236 (807.2 KB)

이제 모든 트래픽은 VPN 서버를 통해 라우팅됩니다.

이를 확인하려면 웹 브라우저를 열고 https://whatismyipaddress.com/ 페이지에 액세스하십시오. 다음 페이지에서 VPN 서버 IP를 가져와야 합니다.

결론

축하합니다! Ubuntu 20.04에 Pritunl 서버와 클라이언트를 성공적으로 설치했습니다. 이제 신원을 숨겨 익명으로 인터넷 서핑을 할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.