Het hebben van een Virtueel Privénetwerk (VPN) is een must in dit tijdperk van technologie. VPN’s zijn steeds belangrijker geworden voor persoonlijk gebruik en vooral voor bedrijven en ondernemingen. En als je nog steeds aan het beslissen bent welke VPN-oplossing je wilt kiezen, waarom overweeg je dan niet OpenConnect VPN?
OpenConnect VPN is een gratis VPN-oplossing met prestaties en functies op bedrijfsniveau. En in deze tutorial leer je hoe je de OpenConnect VPN-server (ocserv) kunt opzetten en verbinden.
Lees verder en houd kwaadwillige entiteiten buiten je netwerk!
Vereisten
Deze tutorial omvat praktische demonstraties. Zorg ervoor dat je het volgende gereed hebt om mee te doen:
- A Linux server running Debian- This tutorial uses a Debian 11 Bullseye with hostname ocserv-debian.
- Een beheerdersgebruiker of een niet-rootgebruiker met sudo/root-privileges.
- A domain name pointed to your Linux server IP address – This tutorial uses a domain name vpn.atadomain.io.
- A client machine like Windows 10 or Linux Desktop – This tutorial uses a Windows 10 machine.
Het installeren van de OpenConnect VPN-server
De OpenConnect VPN-server is een open-source SSL-gebaseerde VPN-server voor Linux, beschikbaar op de meeste Linux-distributies, zoals Debian, Ubuntu, RHEL/CentOS en Fedora.
De OpenConnect VPN-server ondersteunt de meeste clients van Desktop/Computer tot Mobiel (Android en iOS). Evenzo ondersteunt de OpenConnect VPN-server meerdere authenticatieback-ends, zoals Radius, OpenID, Kerberos en Smart Card.
Maar voordat je van deze functies kunt profiteren, moet je eerst de OpenConnect VPN-server installeren, zoals hieronder:
1. SSH naar je server en voer het volgende apt update
commando uit om de pakketindex bij te werken en te vernieuwen. Dit commando zorgt ervoor dat je de nieuwste pakketinformatie hebt.

2. Voer vervolgens het volgende apt install
commando uit om het ocserv
pakket te installeren.
Zodra de installatie is voltooid, zal de nieuwe systemd-service genaamd ocserv
actief zijn en

3. Voer nu de volgende systemctl
commando’s uit om ervoor te zorgen dat de ocserv
service draait.
Zoals je kunt zien aan de output, is de status van de ocserv
service ingeschakeld en draaiende.

SSL/TLS-certificaten genereren
Met de OpenConnect VPN Server geïnstalleerd, is de volgende stap ervoor te zorgen dat je veilig verbinding kunt maken met de OpenConnect VPN Server. Hoe? De eerste stap is het genereren van SSL/TLS-certificaten via Certbot en LetsEncrypt.
Maar voordat u certificaten genereert, zorg ervoor dat u een e-mailadres heeft om u te registreren bij LetsEncrypt, en dat de domeinnaam is gericht op het IP-adres van de Debian-server.
Om SSL/TLS-certificaten te genereren:
1. Voer de onderstaande opdracht uit om certbot
te installeren op uw Linux-server.

2. Voer vervolgens de onderstaande certbot
-opdracht uit om SSL/TLS-certificaten te genereren. Zorg ervoor dat u het e-mailadres ([email protected]
) en de domeinnaam (vpn.atadomain.io
) aanpast.

3. Voer tot slot de volgende opdracht uit om te controleren of de gegenereerde SSL/TLS-certificaten aanwezig zijn in uw domeinmap.
Als dit succesvol is, ziet u de openbare (fullchain.pem) en private (privkey.pem) sleutels, zoals hieronder weergegeven.

Configureren van de OpenConnect VPN-server
Zelfs met de SSL/TSL-certificaten tot uw beschikking, blijven ze daar liggen tenzij u de OpenConnect VPN-server configureert. U zult de standaardconfiguratie van de OpenConnect VPN-server aanpassen (/etc/ocserv/ocserv.conf) als volgt:
- Wijzig de standaard authenticatiemethode.
- UDP uitschakelen op de OpenConnect VPN-server.
- Wijzig standaard SSL/TLS-certificaten.
- Configuratie van de domeinnaam en een intern netwerk of IP-adres voor clients instellen.
Volg de onderstaande stappen om de OpenConnect VPN-server te configureren:
1. Voer eerst het cp
-commando hieronder uit om de standaardconfiguratie van de OpenConnect VPN-server (ocserv.conf
) te back-uppen naar ocserv.conf.orig
opgeslagen in de /etc/ocserv
-map.
2. Open vervolgens de configuratie van de OpenConnect VPN-server (/etc/ocserv/ocserv.conf) met uw favoriete editor.
3. Wijzig de waarde van de parameter auth
naar plain[passwd=/etc/ocserv/ocpasswd]
, zoals hieronder weergegeven. Hierdoor wordt de standaard authenticatie met het Pluggable Authentication Modules (PAM)-bestand vervangen door het wachtwoordbestand.
auth = "plain[passwd=/etc/ocserv/ocpasswd]"

4. Zet nu #
voor de parameter udp-port
om de standaard UDP-verbindingen uit te schakelen.
Je zult OpenConnect VPN nu gebruiken in alleen TCP-modus, waarmee je de snelheid kunt verhogen via kernelparameters.
tcp-port = 443
#udp-port = 443

5. Vervang het pad van het certificaatbestand in de parameter server-cert
door de openbare sleutel en de parameter server-key
door de privésleutel.
server-cert = /etc/letsencrypt/live/vpn.atadomain.io/fullchain.pem
server-key = /etc/letsencrypt/live/vpn.atadomain.io/privkey.pem

6. Verander de waarde van de parameter try-mtu-discovery
naar true
om de MTU-ontdekking in te schakelen. Hierdoor wordt de snelheid en prestaties van de OpenConnect VPN-server verhoogd.
try-mtu-discovery = true

7. Voer vervolgens de domeinnaam voor de OpenConnect VPN-server in bij de parameter default-domain
, en verander het standaard interne IP-adres in de parameter ipv4-network
.
In dit voorbeeld zullen VPN-clients het interne netwerk 10.11.0.0/24
gebruiken.
default-domain = vpn.atadomain.io
ipv4-network = 10.11.0.0

8. Commentarieer de standaard route
-parameters uit door een #
-teken toe te voegen aan het begin van elke regel om de standaard routegateway uit te schakelen. Zodra klaar, sla het bestand op en verlaat de editor.
#route = 10.0.0.0/8
#route = 172.16.0.0/12
#route = 192.168.0.0/16
#route = fd00::/8
#route = default

9. Voer nu de volgende commando’s uit om de ocserv
-service te herstarten
, de wijzigingen toe te passen en alle open poorten (ss
) op uw systeem op te lijsten.
Als de OpenConnect VPN-server actief is, zult u poort 443 in de LISTEN-toestand zien en in gebruik door de ocserv-service, zoals hieronder wordt weergegeven.

Gebruikers toevoegen aan de OpenConnect VPN-server
Met de OpenConnect VPN-server geconfigureerd, heeft u een manier nodig om ermee te verbinden. Hoe? Door een VPN-gebruiker te maken en toe te voegen aan de OpenConnect VPN-server.
Om een gebruiker toe te voegen aan de OpenConnect VPN-server, maakt u een VPN-gebruiker aan en genereert u een wachtwoordbestand via het hulpprogramma ocpasswd
als volgt:
Voer het volgende ocpasswd
-commando uit om een nieuwe gebruiker aan te maken. Wanneer daarom wordt gevraagd, voert u een nieuw wachtwoord in voor de gebruiker en herhaalt u dit. De gebruikersnaam voor deze tutorial is atauser
, maar u kunt uw eigen gebruikersnaam opgeven.
Zodra de gebruiker is aangemaakt, wordt het wachtwoordbestand (/etc/ocserv/ocpasswd
) ook aangemaakt.

Voer nu het volgende cat
-commando uit om de details van het wachtwoordbestand (/etc/ocserv/ocpasswd
) te controleren.

UFW-firewallregels toevoegen aan belangrijke poorten openen
Op een Debian-systeem is de standaardfirewall IPTables, die een grondig begrip van netwerken vereist om in te stellen. Waarom het proces niet vereenvoudigen? In deze tutorial installeert en configureert u de UFW als standaardfirewall.
1. Voer het onderstaande commando uit om UFW te installeren
terwijl u automatisch alle prompts accepteert (-y
)

2. Nadat UFW is geïnstalleerd, voert u de volgende ufw
-commando’s uit om belangrijke poorten voor de OpenConnect VPN-server te openen zodat deze correct werkt.
Wanneer gevraagd, voer Y in en druk op Enter om door te gaan met de bewerking, zoals hieronder weergegeven.

3. Voer tot slot de volgende opdracht uit om de UFW-status te controleren en ervoor te zorgen dat UFW actief is.
De onderstaande uitvoer toont de actieve UFW-status en alle toegevoegde firewall-regels.

Port forwarding inschakelen
Met een VPN-server actief, moet je het verkeer van buitenaf naar je server leiden door port forwarding in te schakelen. Je staat port forwarding toe op je Debian-server via kernelparameters.
Volg deze stappen om port forwarding in te schakelen:
Voer de volgende opdracht uit, die geen uitvoer naar de terminal genereert, maar een nieuw bestand genaamd /etc/sysctl.d/60-ocserv.conf
aanmaakt. Dit bestand bevat kernelparameters om port forwarding in te schakelen op je systeem.
Voer nu de sysctl
-opdracht hieronder uit om de nieuwe kernelparameters toe te passen en port forwarding in te schakelen.

NAT instellen met UFW
Port forwarding inschakelen is slechts een van de eerste stappen. Deze keer moet je ervoor zorgen dat VPN-clients verbinding kunnen maken met internet of specifieke netwerken via de OpenConnect VPN-server. Hoe? Door NAT in te stellen via UFW.
Om NAT in te stellen met UFW voor de OpenConnect VPN Server:
1. Voer het volgende commando uit om de lijst met interfaces op uw systeem te controleren.
In dit voorbeeld zal de interface eth1 de NAT-gateway zijn voor VPN-clients.

2. Open vervolgens de UFW-configuratie (/etc/ufw/before.rules) met uw favoriete editor, en voeg de volgende regels toe vóór de *filter
optie. Deze configuraties zullen VPN-gebruikers (specificeer uitgaande interface) of intern netwerk NAT’en naar interface eth1
.
Zorg ervoor dat u het subnet (10.11.0.0/24
) wijzigt met de netwerken van uw VPN-client en de interface (eth1
) met uw netwerkinterface.
# NAT voor OpenConnect VPN-server
# met clientnetwerk 10.11.0.0/24
# naar interface eth1
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.11.0.0/24 -o eth1 -j MASQUERADE
COMMIT

3. Voeg de volgende regels toe onder de ok icmp code for FORWARD
sectie van de ufw-before-forward
opties, sla het bestand op en verlaat de editor.
Deze configuraties stellen het doorsturen (bron en bestemming) van het VPN-clientnetwerk in.
# doorsturen van VPN-clientnetwerk toestaan
-A ufw-before-forward -s 10.11.0.0/24 -j ACCEPT
-A ufw-before-forward -d 10.11.0.0/24 -j ACCEPT

4. Zodra opgeslagen, voer het volgende commando uit om de UFW-regels opnieuw te laden en de UFW-service te herstarten. Hiermee wordt ervoor gezorgd dat de NAT-configuratie op het systeem wordt toegepast.
5. Tot slot, voer het volgende iptables
commando uit om de NAT-status op UFW te controleren, aangezien de backend van UFW IPTables is.
Als het succesvol is, ontvangt u een output zoals hieronder weergegeven.

Verbinding maken met de OpenConnect VPN-server via OpenConnect-GUI
Volg de instructies, je zou nu een volledig functionerende OpenConnect VPN-server moeten hebben. Maar na al het harde werk is het moment van de waarheid aangebroken.
De OpenConnect VPN-server kan draaien, maar er is slechts één beste manier om dit te verifiëren – door verbinding te maken met de OpenConnect VPN-server.
Om verbinding te maken met de OpenConnect VPN-server, moet je de OpenConnect-GUI-toepassing installeren:
1. Open je favoriete webbrowser en bezoek de OpenConnect-GUI GitHub-pagina.
2. Download en installeer vervolgens de OpenConnect VPN-toepassing voor Windows.

3. Open de OpenConnect-GUI VPN-client en klik op het Bestand menu → Profielen → Nieuw profiel (geavanceerd) (of druk op Ctrl+Shift+N). Er verschijnt een klein venster waar je de nieuwe profielgegevens kunt invullen (stap vier).

4. Vul nu de VPN-profielinformatie in met het volgende:
- Naam – Geef een verbindingsnaam op (bijv. testvpn).
- Gateway – Specificeer de domeinnaam van je OpenConnect VPN-server (bijv. https://vpn.atadomain.io).
- Gebruikersnaam – De gebruiker toegevoegd (atauser) aan de OpenConnect VPN-server.
Zodra alles is ingevuld, klik op Opslaan om de informatie te bevestigen en het VPN-profiel aan te maken.

5. Volgende stap is het instellen van je nieuw gecreëerde VPN-profiel (testvpn) als de Server, en klik op Verbinden om een verbinding met de OpenConnect VPN-server tot stand te brengen.

6. Wanneer gevraagd, voer het Wachtwoord in voor je VPN-gebruiker en klik op OK.

7. Zodra verbonden, verandert de kleur van het hangslotsymbool naar groen, zoals hieronder weergegeven.

8. Klik tot slot op het tabblad VPN Info om gedetailleerde verbindingsstatus te krijgen. Je zou het interne IP-adres moeten zien dat je hebt ontvangen van de VPN-server, de DNS-server, en de TLS-versie die je gebruikt.

Conclusie
Doorheen deze handleiding heb je geleerd hoe je de OpenConnect VPN-server opzet. Tegelijkertijd heb je kennis opgedaan over het gebruik van SSL/TSL-certificaten en het toevoegen van firewall-regels om een veilige verbinding met de OpenConnect VPN-server tot stand te brengen.
Met deze verworven kennis, waarom integreer je de OpenConnect VPN-server niet met meerdere authenticatie-backends, zoals Radius en OpenID? Of voeg een extra beveiligingslaag toe voor client-authenticatie via tweefactorauthenticatie?