Pritunl VPN Server instellen op Ubuntu 20.04

Pritunl is een open-source, eenvoudige en gemakkelijk te gebruiken VPN server waarmee je binnen een minuut je privé netwerken over datacenters heen kunt virtualiseren. Het biedt een eenvoudige en gebruiksvriendelijke webinterface en heeft de mogelijkheid om een breed scala van cloud VPN netwerken te maken. Het biedt een officieel client pakket en ondersteunt alle OpenVPN clients voor de meeste toestellen en platforms.

In deze zelfstudie wordt uitgelegd hoe je een Pritunl VPN Server en Client op Ubuntu 20.04 server kunt instellen.

Vereisten

  • Een systeem waarop Ubuntu 20.04 server draait.
  • Een systeem waarop Ubuntu 20.04 Desktop draait.
  • Een root wachtwoord is de server geconfigureerd.

Aan de slag

Alvorens te beginnen is het aan te raden je systeempakketten naar de laatste versie bij te werken. Je kunt alle pakketten bijwerken door het volgende commando uit te voeren:

apt-get update -y

Zodra alle pakketten bijgewerkt zijn, installeer je andere vereiste afhankelijkheden door het volgende commando uit te voeren:

apt-get install curl gnupg2 wget unzip -y

Als alle pakketten geïnstalleerd zijn, kun je verder gaan met de volgende stap.

Installeer Pritunl Server

Pritunl is standaard niet beschikbaar in de Ubuntu standaard repository. Je zult dus een GPG sleutel en repository aan je systeem moeten toevoegen.

Voeg eerst de GPG sleutel toe met het volgende commando:

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

Voeg vervolgens de Pritunl repository toe met het volgende commando:

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

Als de repository is toegevoegd, werk dan de repository cache bij en installeer de Pritunl server met het volgende commando:

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

Als de installatie klaar is, start je de Pritunl service en schakel je hem in om te starten bij het herstarten van het systeem met het volgende commando:

systemctl start pritunl
systemctl enable pritunl

Je kunt nu de status van de Pritunl dienst controleren met het volgende commando:

systemctl status pritunl

Je zou de volgende uitvoer moeten krijgen:

? 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 ubuntu2004 systemd[1]: Started Pritunl Daemon.
Jan 09 11:51:04 ubuntu2004 pritunl[11487]: /usr/lib/pritunl/lib/python2.7/site-packages/OpenSSL/crypto.py:12: CryptographyDeprecationWarning: >
Jan 09 11:51:04 ubuntu2004 pritunl[11487]:   from cryptography import x509

Je kunt ook de Pritunl luisterpoort verifiëren met het volgende commando:

ss -antpl | grep pritunl

Je zou de volgende uitvoer moeten krijgen:

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

Als je klaar bent, kun je verder gaan met de volgende stap.

Installeer MongoDB

Pritunl is gebouwd op MongoDB, dus je zult de MongoDB server in je systeem moeten installeren. MongoDB is standaard niet beschikbaar in de Ubuntu 20.04 standaard repository, dus je zult de MongoDB repository aan je systeem moeten toevoegen.

Download eerst de MongoDB sleutel en voeg hem toe met het volgende commando:

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

Voeg vervolgens de MongoDB repository toe met het volgende commando:

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

Als de repository is toegevoegd, update je de repository en installeer je de MongoDB server met het volgende commando:

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

Als de installatie klaar is, start je de MongoDB service en schakel je hem in om te starten bij het herstarten van het systeem met het volgende commando:

systemctl start mongodb
systemctl enable mongodb

Je kunt de status van de MongoDB dienst controleren met het volgende commando:

systemctl status mongodb

Je zou de volgende uitvoer moeten krijgen:

? 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 ubuntu2004 systemd[1]: Started An object/document-oriented database.

Op dit moment is MongoDB gestart en luistert op poort 27017. Je kunt dit verifiëren met het volgende commando:

ss -antpl | grep 27017

Je zou de volgende uitvoer moeten krijgen:

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

Als je klaar bent, kun je verder gaan met de volgende stap.

Toegang tot de Pritunl Web Interface

Open nu je web browser en ga naar de Pritunl web installatie wizard met de URL https://your-server-ip. Je zou het volgende scherm moeten zien:

Pritunl installatieprogramma

Open nu je terminal en voer het volgende commando uit om een sleutel te genereren:

pritunl setup-key

Je zou de volgende uitvoer moeten krijgen:

/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

Kopieer de sleutel uit de bovenstaande uitvoer en ga dan naar de webinterface, plak de sleutel en klik op de Save knop. Je wordt nu doorgestuurd naar de Pritunl Sign in pagina:

Inlogpagina

Open nu je terminal en voer het volgende commando uit om een wachtwoord te genereren:

pritunl default-password

Je zou de volgende uitvoer moeten krijgen:

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

Kopieer de gebruikersnaam en het wachtwoord uit de bovenstaande uitvoer en ga dan naar de webinterface, typ je gebruikersnaam en wachtwoord in en klik op de knop Sign in. Je wordt doorgestuurd naar het beginscherm:

Pritunl opstelling

Verander je wachtwoord of gebruiker als je wilt en klik dan op de Save knop. Je zou de volgende pagina moeten zien.

Gebruikers en organisaties

Klik nu op de Add Organization knop. Je zou nu de volgende pagina moeten zien:

Organisatie toevoegen

Geef je Organisatie naam op en klik op de Toevoegen knop. Je zou de volgende pagina moeten zien:

Lijst van organisaties

Klik op de Add User knop. Je zou de volgende pagina moeten zien:

Gebruiker toevoegen

Geef je gebruikersnaam, pin en klik op de knop Toevoegen. Je zou de volgende pagina moeten zien:

Gebruiker succesvol toegevoegd

Klik nu op het Servers tabblad. Je zou de volgende pagina moeten zien:

Nog geen servers toegevoegd

Klik op de Add Server knop. Je zou de volgende pagina moeten zien:

Server toevoegen

Geef je servernaam, poort, DNS IP, Virtueel netwerk op en klik op de knop Toevoegen. Je zou de volgende pagina moeten zien:

Servergegevens

Klik op de Attach Organization knop om je Organisatie aan de server te koppelen. Je zou de volgende pagina moeten zien:

Organisatie bijvoegen

Klik op de knop Attach. Je zou de volgende pagina moeten zien:

Server is klaar

Klik op de Start Server knop om de VPN server te starten. Je zou de volgende pagina moeten zien:

Beginnen met VPN

Installeer Pritunl Client

Op dit punt is de Pritunl server geïnstalleerd en ingesteld. Nu moet je de Pritunl client van de client machine installeren en configureren.

Voeg op de cliënt machine de Pritunl sleutel toe met het volgende commando:

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

Zodra de sleutel is toegevoegd, voeg je de Pritunl repository toe met het volgende commando:

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

Zodra de repository is toegevoegd, werk je de repository bij en installeer je het Pritunl client pakket met het volgende commando:

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

Als de installatie voltooid is, kun je verder gaan met de volgende stap.

Verbind Pritunl Client met de Pritunl Server

Vervolgens moet je je Pritunl client programma openen en verbinding maken met de VPN server.

Ga voor je begint naar de Pritunl webinterface, klik op de Gebruikers tab en download het gebruikersprofiel op je cliënt machine:

Verbind Pritunl Client met de Pritunl Server

Klik op de download knop om het gebruikersprofiel naar de cliëntmachine te downloaden.

Zodra het downloaden voltooid is, pak je het gedownloade tar bestand uit met het volgende commando:

tar -xvf user1.tar

Je zou het uitgepakte bestand in de volgende uitvoer moeten zien:

myorg_user1_server1.ovpn

Open nu de Pritunl cliënt toepassing in het menu Toepassing zoals hieronder getoond:

Pritunl Cliënt

Klik op de knop Importeer profiel om het bestand myorg_user1_server1.ovpn van je systeem te importeren. Je zou het volgende scherm moeten zien:

Invoerprofiel

Klik nu op de rode vierkante knop. Je zou nu het volgende scherm moeten zien:

Klaar om verbinding te maken met VPN

Klik nu op de knop Verbinden om verbinding te maken met de VPN server. Je wordt gevraagd je gebruikerspin op te geven zoals hieronder:

VPN verbinding

Geef je gebruikerspin op en klik op de Ok knop. Eenmaal verbonden zou je het volgende scherm moeten zien:

VPN met succes verbonden

Je kunt de VPN verbinding ook verifiëren met het volgende commando:

ifconfig tun0

Je zou de volgende uitvoer moeten zien:

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)

Nu wordt al het verkeer door je VPN server geleid.

Om dit te verifiëren open je je webbrowser en ga je naar de pagina https://whatismyipaddress.com/. Je zou op de volgende pagina het IP van je VPN server moeten krijgen:

Verkrijg IP adres

Conclusie

Gefeliciteerd! Je hebt met succes de Pritunl server en client geïnstalleerd op Ubuntu 20.04. Je kunt nu anoniem over het internet surfen door je identiteit te verbergen. Voel je vrij me te vragen als je vragen hebt.