Einrichten eines IKEv2-VPN-Servers mit StrongSwan unter Ubuntu 18.04

Einführung

Ein virtuelles privates Netzwerk oder VPN ermöglicht es Ihnen, den Datenverkehr auf dem Weg durch nicht vertrauenswürdige Netzwerke, z. B. im Café, auf einer Konferenz oder auf einem Flughafen, sicher zu verschlüsseln.

IKEv2 oder Internet Key Exchange v2 ist ein Protokoll, das direktes IPSec-Tunneln zwischen Server und Client ermöglicht. In IKEv2-VPN-Implementierungen stellt IPSec die Verschlüsselung für den Netzwerkverkehr bereit. IKEv2 wird auf einigen Plattformen (OS X 10.11+, iOS 9.1+ und Windows 10) nativ unterstützt, ohne dass zusätzliche Anwendungen erforderlich sind, und es verarbeitet Client-Probleme problemlos.

In diesem Lernprogramm richten Sie unter Verwendung von StrongSwan einen IKEv2-VPN-Server auf einem Ubuntu 18.04-Server ein und stellen über Windows-, macOS-, Ubuntu-, iOS- und Android-Clients eine Verbindung dazu her.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie:

Schritt 1 - Installieren von StrongSwan

Zunächst installieren wir StrongSwan, einen Open-Source-IPSec-Daemon, den wir als unseren VPN-Server konfigurieren. Wir werden auch die Infrastrukturkomponente für öffentliche Schlüssel installieren, damit wir eine Zertifizierungsstelle erstellen können, die Anmeldeinformationen für unsere Infrastruktur bereitstellt.

Aktualisieren Sie den lokalen Paketcache und installieren Sie die Software, indem Sie Folgendes eingeben:

sudo apt update
sudo apt install strongswan strongswan-pki

Nachdem alles installiert ist, können Sie nun unsere Zertifikate erstellen.

Schritt 2 - Erstellen einer Zertifizierungsstelle

Ein IKEv2-Server benötigt ein Zertifikat, um sich gegenüber Clients zu identifizieren. Um die Erstellung des erforderlichen Zertifikats zu erleichtern, enthält das Paket + strongswan-pki + ein Dienstprogramm zum Generieren einer Zertifizierungsstelle und von Serverzertifikaten. Zunächst erstellen wir ein paar Verzeichnisse, in denen alle Elemente gespeichert werden, an denen wir arbeiten werden. Die Verzeichnisstruktur stimmt mit einigen Verzeichnissen in + / etc / ipsec.d + überein, in die wir schließlich alle von uns erstellten Elemente verschieben. Wir werden die Berechtigungen sperren, damit unsere privaten Dateien nicht von anderen Nutzern gesehen werden können:

mkdir -p ~/pki/{cacerts,certs,private}
chmod 700 ~/pki

Da wir nun eine Verzeichnisstruktur haben, in der alles gespeichert werden kann, können wir einen Stammschlüssel generieren. Dies ist ein 4096-Bit-RSA-Schlüssel, der zum Signieren unserer Stammzertifizierungsstelle verwendet wird.

Führen Sie diese Befehle aus, um den Schlüssel zu generieren:

ipsec pki --gen --type rsa --size 4096 --outform pem > ~/pki/private/ca-key.pem

Nachdem wir einen Schlüssel haben, können wir mit dem Erstellen unserer Stammzertifizierungsstelle fortfahren und den Schlüssel zum Signieren des Stammzertifikats verwenden:

ipsec pki --self --ca --lifetime 3650 --in ~/pki/private/ca-key.pem \
   --type rsa --dn "CN=VPN root CA" --outform pem > ~/pki/cacerts/ca-cert.pem

Sie können die DN-Werte (Distinguished Name) auf Wunsch in einen anderen Wert ändern. Der hier verwendete gebräuchliche Name ist nur ein Indikator, daher muss er nicht mit den Angaben in Ihrer Infrastruktur übereinstimmen.

Nachdem wir unsere Stammzertifizierungsstelle eingerichtet haben, können wir ein Zertifikat erstellen, das der VPN-Server verwendet.

Schritt 3 - Erstellen eines Zertifikats für den VPN-Server

Jetzt erstellen wir ein Zertifikat und einen Schlüssel für den VPN-Server. Mit diesem Zertifikat kann der Client die Authentizität des Servers mithilfe des soeben erstellten CA-Zertifikats überprüfen.

Erstellen Sie zunächst einen privaten Schlüssel für den VPN-Server mit dem folgenden Befehl:

ipsec pki --gen --type rsa --size 4096 --outform pem > ~/pki/private/server-key.pem

Erstellen und signieren Sie nun das VPN-Serverzertifikat mit dem Schlüssel der Zertifizierungsstelle, den Sie im vorherigen Schritt erstellt haben. Führen Sie den folgenden Befehl aus, aber ändern Sie das Feld Common Name (CN) und Subject Alternate Name (SAN) in den DNS-Namen oder die IP-Adresse Ihres VPN-Servers:

ipsec pki --pub --in ~/pki/private/server-key.pem --type rsa \
   | ipsec pki --issue --lifetime 1825 \
       --cacert ~/pki/cacerts/ca-cert.pem \
       --cakey ~/pki/private/ca-key.pem \
       --dn "CN=" --san "" \
       --flag serverAuth --flag ikeIntermediate --outform pem \
   >  ~/pki/certs/server-cert.pem

Nachdem wir alle von StrongSwan benötigten TLS / SSL-Dateien generiert haben, können wir die Dateien in das Verzeichnis "+ / etc / ipsec.d +" verschieben, indem wir Folgendes eingeben:

sudo cp -r ~/pki/* /etc/ipsec.d/

In diesem Schritt haben wir ein Zertifikatpaar erstellt, mit dem die Kommunikation zwischen dem Client und dem Server gesichert wird. Wir haben die Zertifikate auch mit dem CA-Schlüssel signiert, sodass der Client die Authentizität des VPN-Servers mithilfe des CA-Zertifikats überprüfen kann. Nachdem Sie alle Zertifikate bereitgestellt haben, fahren Sie mit der Konfiguration der Software fort.

Schritt 4 - StrongSwan konfigurieren

StrongSwan hat eine Standardkonfigurationsdatei mit einigen Beispielen, aber wir müssen den größten Teil der Konfiguration selbst vornehmen. Sichern Sie die Datei als Referenz, bevor Sie von vorne beginnen:

sudo mv /etc/ipsec.conf{,.original}

Erstellen und öffnen Sie eine neue leere Konfigurationsdatei, indem Sie Folgendes eingeben:

sudo nano /etc/ipsec.conf

Zunächst weisen wir StrongSwan an, Daemon-Status für das Debugging zu protokollieren und doppelte Verbindungen zuzulassen. Fügen Sie der Datei die folgenden Zeilen hinzu:

/etc/ipsec.conf

config setup
   charondebug="ike 1, knl 1, cfg 0"
   uniqueids=no

Anschließend erstellen wir einen Konfigurationsabschnitt für unser VPN. Außerdem weisen wir StrongSwan an, IKEv2-VPN-Tunnel zu erstellen und diesen Konfigurationsabschnitt beim Start automatisch zu laden. Fügen Sie die folgenden Zeilen an die Datei an:

/etc/ipsec.conf

. . .
conn ikev2-vpn
   auto=add
   compress=no
   type=tunnel
   keyexchange=ikev2
   fragmentation=yes
   forceencaps=yes

Wir konfigurieren außerdem die Dead-Peer-Erkennung, um alle "baumelnden" Verbindungen zu löschen, falls der Client die Verbindung unerwartet trennt. Fügen Sie diese Zeilen hinzu:

/etc/ipsec.conf

. . .
conn ikev2-vpn
   . . .
   dpdaction=clear
   dpddelay=300s
   rekey=no

Anschließend konfigurieren wir die serverseitigen IPSec-Parameter (links). Fügen Sie dies zur Datei hinzu:

/etc/ipsec.conf

. . .
conn ikev2-vpn
   . . .
   left=%any
   leftid=
   leftcert=server-cert.pem
   leftsendcert=always
   leftsubnet=0.0.0.0/0

Als Nächstes können wir die IPSec-Parameter auf der rechten Seite des Clients konfigurieren, z. B. die privaten IP-Adressbereiche und die zu verwendenden DNS-Server:

/etc/ipsec.conf

. . .
conn ikev2-vpn
   . . .
   right=%any
   rightid=%any
   rightauth=eap-mschapv2
   rightsourceip=10.10.10.0/24
   rightdns=8.8.8.8,8.8.4.4
   rightsendcert=never

Abschließend fordern wir StrongSwan auf, den Client nach Benutzeranmeldeinformationen zu fragen, wenn diese eine Verbindung herstellen:

/etc/ipsec.conf

. . .
conn ikev2-vpn
   . . .
   eap_identity=%identity

Die Konfigurationsdatei sollte folgendermaßen aussehen:

/etc/ipsec.conf

config setup
   charondebug="ike 1, knl 1, cfg 0"
   uniqueids=no

conn ikev2-vpn
   auto=add
   compress=no
   type=tunnel
   keyexchange=ikev2
   fragmentation=yes
   forceencaps=yes
   dpdaction=clear
   dpddelay=300s
   rekey=no
   left=%any
   leftid=
   leftcert=server-cert.pem
   leftsendcert=always
   leftsubnet=0.0.0.0/0
   right=%any
   rightid=%any
   rightauth=eap-mschapv2
   rightsourceip=10.10.10.0/24
   rightdns=8.8.8.8,8.8.4.4
   rightsendcert=never
   eap_identity=%identity

Speichern und schließen Sie die Datei, nachdem Sie überprüft haben, ob Sie die angezeigten Einstellungen vorgenommen haben.

Nachdem wir die VPN-Parameter konfiguriert haben, erstellen wir ein Konto, damit unsere Benutzer eine Verbindung zum Server herstellen können.

Schritt 5 - Konfigurieren der VPN-Authentifizierung

Unser VPN-Server ist jetzt so konfiguriert, dass er Client-Verbindungen akzeptiert, es sind jedoch noch keine Anmeldeinformationen konfiguriert. Wir müssen einige Dinge in einer speziellen Konfigurationsdatei namens "+ ipsec.secrets +" konfigurieren:

  • Wir müssen StrongSwan mitteilen, wo sich der private Schlüssel für unser Serverzertifikat befindet, damit sich der Server gegenüber Clients authentifizieren kann.

  • Wir müssen auch eine Liste von Benutzern einrichten, die eine Verbindung zum VPN herstellen dürfen.

Öffnen wir die Geheimhaltungsdatei zum Bearbeiten:

sudo nano /etc/ipsec.secrets

Zuerst teilen wir StrongSwan mit, wo Sie Ihren privaten Schlüssel finden:

/etc/ipsec.secrets

: RSA "server-key.pem"

Anschließend definieren wir die Benutzeranmeldeinformationen. Sie können sich eine beliebige Kombination aus Benutzername und Passwort zusammenstellen:

/etc/ipsec.secrets

: EAP

Speichern und schließen Sie die Datei. Nachdem wir mit den VPN-Parametern fertig sind, starten wir den VPN-Dienst neu, damit unsere Konfiguration angewendet wird:

sudo systemctl restart strongswan

Nachdem der VPN-Server vollständig mit Serveroptionen und Benutzeranmeldeinformationen konfiguriert wurde, ist es an der Zeit, mit der Konfiguration des wichtigsten Teils fortzufahren: der Firewall.

Schritt 6 - Konfigurieren der Firewall- und Kernel-IP-Weiterleitung

Nach Abschluss der StrongSwan-Konfiguration müssen wir die Firewall so konfigurieren, dass der VPN-Verkehr weitergeleitet und zugelassen wird.

Wenn Sie das Lernprogramm für die Voraussetzungen befolgt haben, sollte eine sehr einfache UFW-Firewall aktiviert sein. Wenn Sie UFW noch nicht konfiguriert haben, können Sie eine Basiskonfiguration erstellen und diese aktivieren, indem Sie Folgendes eingeben:

sudo ufw allow OpenSSH
sudo ufw enable

Fügen Sie nun eine Regel hinzu, um UDP-Verkehr zu den Standard-IPSec-Ports 500 und 4500 zuzulassen:

sudo ufw allow 500,4500/udp

Als Nächstes werden wir eine der Konfigurationsdateien von UFW öffnen, um einige Richtlinien auf niedriger Ebene für das Weiterleiten und Weiterleiten von IPSec-Paketen hinzuzufügen. Bevor wir dies tun, müssen wir herausfinden, welche Netzwerkschnittstelle auf unserem Server für den Internetzugang verwendet wird. Dies können wir feststellen, indem wir nach der Schnittstelle fragen, die der Standardroute zugeordnet ist:

ip route | grep default

Ihre öffentliche Schnittstelle sollte dem Wort "dev" folgen. Dieses Ergebnis zeigt zum Beispiel die Schnittstelle mit dem Namen "+ eth0 +", die unten hervorgehoben ist:

Outputdefault via 203.0.113.7 dev  proto static

Wenn Sie über eine öffentliche Netzwerkschnittstelle verfügen, öffnen Sie die Datei "+ / etc / ufw / before.rules" in Ihrem Texteditor:

sudo nano /etc/ufw/before.rules

Fügen Sie am Anfang der Datei (vor der Zeile + * filter +) den folgenden Konfigurationsblock hinzu:

/etc/ufw/before.rules

*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]
. . .

Ändern Sie jede Instanz von "+ eth0 " in der obigen Konfiguration so, dass sie mit dem Schnittstellennamen übereinstimmt, den Sie mit " ip route " gefunden haben. Die Zeilen " * nat " erstellen Regeln, damit die Firewall den Datenverkehr zwischen den VPN-Clients und dem Internet korrekt weiterleiten und bearbeiten kann. Die ` * mangle +` - Zeile passt die maximale Paketsegmentgröße an, um potenzielle Probleme mit bestimmten VPN-Clients zu vermeiden.

Fügen Sie nach den Zeilen "+ * filter +" und "chain definition" einen weiteren Konfigurationsblock hinzu:

/etc/ufw/before.rules

. . .
*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]

Diese Zeilen weisen die Firewall an, den Datenverkehr ESP (Encapsulating Security Payload) weiterzuleiten, damit die VPN-Clients eine Verbindung herstellen können. ESP bietet unseren VPN-Paketen zusätzliche Sicherheit, da sie nicht vertrauenswürdige Netzwerke durchqueren.

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Bevor wir die Firewall neu starten, ändern wir einige Netzwerkkernparameter, um das Routing von einer Schnittstelle zur anderen zu ermöglichen. Öffnen Sie die Konfigurationsdatei der UFW-Kernelparameter:

sudo nano /etc/ufw/sysctl.conf

Hier müssen wir einige Dinge konfigurieren:

  • Zunächst aktivieren wir die IPv4-Paketweiterleitung.

  • Wir deaktivieren die Path MTU-Erkennung, um Paketfragmentierungsprobleme zu vermeiden.

  • Wir akzeptieren auch keine ICMP-Weiterleitungen und senden keine ICMP-Weiterleitungen, um man-in-the-middle -Angriffe zu verhindern.

Die Änderungen, die Sie an der Datei vornehmen müssen, sind im folgenden Code hervorgehoben:

/etc/ufw/sysctl.conf

. . .

# Enable forwarding
# Uncomment the following line


. . .

# Do not accept ICMP redirects (prevent MITM attacks)
# Ensure the following line is set


# Do not send ICMP redirects (we are not a router)
# Add the following lines

Speichern Sie die Datei, wenn Sie fertig sind. UFW wird diese Änderungen beim nächsten Start anwenden.

Jetzt können wir alle unsere Änderungen aktivieren, indem wir die Firewall deaktivieren und erneut aktivieren:

sudo ufw disable
sudo ufw enable

Sie werden aufgefordert, den Vorgang zu bestätigen. Geben Sie + Y + ein, um UFW mit den neuen Einstellungen wieder zu aktivieren.

Schritt 7 - Testen der VPN-Verbindung unter Windows, iOS und macOS

Nachdem Sie alles eingerichtet haben, ist es Zeit, es auszuprobieren. Zunächst müssen Sie das von Ihnen erstellte CA-Zertifikat kopieren und auf den Client-Geräten installieren, die eine Verbindung zum VPN herstellen. Am einfachsten melden Sie sich dazu bei Ihrem Server an und geben den Inhalt der Zertifikatsdatei aus:

cat /etc/ipsec.d/cacerts/ca-cert.pem

Es wird eine Ausgabe ähnlich der folgenden angezeigt:

Output-----BEGIN CERTIFICATE-----
MIIFQjCCAyqgAwIBAgIIFkQGvkH4ej0wDQYJKoZIhvcNAQEMBQAwPzELMAkGA1UE

. . .

EwbVLOXcNduWK2TPbk/+82GRMtjftran6hKbpKGghBVDPVFGFT6Z0OfubpkQ9RsQ
BayqOb/Q
-----END CERTIFICATE-----

Kopieren Sie diese Ausgabe auf Ihren Computer, einschließlich der Zeilen "+ ----- BEGIN CERTIFICATE ----- " und " ----- END CERTIFICATE ----- ", und speichern Sie sie in einer Datei mit einem erkennbaren Namen wie ` ca-cert.pem `. Stellen Sie sicher, dass die von Ihnen erstellte Datei die Erweiterung " .pem +" hat.

Nachdem Sie die Datei "+ ca-cert.pem +" auf Ihren Computer heruntergeladen haben, können Sie die Verbindung zum VPN herstellen.

Verbindung von Windows

Importieren Sie zunächst das Stammzertifikat, indem Sie die folgenden Schritte ausführen:

  1. Drücken Sie "+ WINDOWS + R ", um das Dialogfeld "Ausführen" aufzurufen, und geben Sie " mmc.exe +" ein, um die Windows-Verwaltungskonsole zu starten.

  2. Navigieren Sie im Menü * Datei * zu * Snap-In hinzufügen oder entfernen *, wählen Sie * Zertifikate * aus der Liste der verfügbaren Snap-Ins aus und klicken Sie auf * Hinzufügen *.

  3. Wir möchten, dass das VPN mit jedem Benutzer funktioniert. Wählen Sie daher * Computerkonto * und klicken Sie auf * Weiter *.

  4. Wir konfigurieren gerade Dinge auf dem lokalen Computer. Wählen Sie daher "Lokaler Computer" aus und klicken Sie auf "Fertig stellen".

  5. Erweitern Sie unter dem Knoten * Console Root * den Eintrag * Certificates (Local Computer) *, erweitern Sie * Trusted Root Certification Authorities *, und wählen Sie dann den Eintrag * Certificates * aus:
    image: https: //assets.digitalocean.com/articles/ikevpn_ubuntu_1604/4PN0vT6.png [Zertifikatsansicht]

  6. Wählen Sie im Menü * Aktion * die Option * Alle Aufgaben * aus und klicken Sie auf * Importieren *, um den Zertifikatimport-Assistenten anzuzeigen. Klicken Sie auf * Weiter *, um die Einführung zu verlassen.

  7. Klicken Sie im Bildschirm "Zu importierende Datei" auf die Schaltfläche "Durchsuchen" und wählen Sie die von Ihnen gespeicherte Zertifikatdatei aus. Klicken Sie dann auf * Weiter *.

  8. Stellen Sie sicher, dass der * Zertifikatspeicher * auf * Vertrauenswürdige Stammzertifizierungsstellen * eingestellt ist, und klicken Sie auf * Weiter *.

  9. Klicken Sie auf * Fertig stellen *, um das Zertifikat zu importieren.

Konfigurieren Sie dann das VPN mit diesen Schritten:

  1. Starten Sie die * Systemsteuerung * und navigieren Sie zum * Netzwerk- und Freigabecenter *.

  2. Klicken Sie auf * Eine neue Verbindung oder ein neues Netzwerk einrichten * und wählen Sie dann * Mit einem Arbeitsplatz verbinden *.

  3. Wählen Sie * Meine Internetverbindung (VPN) verwenden *.

  4. Geben Sie die VPN-Serverdetails ein. Geben Sie den Domänennamen oder die IP-Adresse des Servers in das Feld * Internetadresse * ein und geben Sie in das Feld * Zielname * etwas ein, das Ihre VPN-Verbindung beschreibt. Klicken Sie dann auf * Fertig *.

Ihre neue VPN-Verbindung wird in der Liste der Netzwerke angezeigt. Wählen Sie das VPN aus und klicken Sie auf * Verbinden *. Sie werden aufgefordert, Ihren Benutzernamen und Ihr Passwort einzugeben. Geben Sie sie ein, klicken Sie auf "OK" und Sie werden verbunden.

Herstellen einer Verbindung unter macOS

Führen Sie die folgenden Schritte aus, um das Zertifikat zu importieren:

  1. Doppelklicken Sie auf die Zertifikatdatei. * Schlüsselbundzugriff * wird mit einem Dialogfeld geöffnet, in dem angegeben wird, dass der Schlüsselbundzugriff versucht, den Systemschlüsselbund zu ändern. Geben Sie Ihr Passwort ein, um dies zuzulassen. "

  2. Geben Sie Ihr Passwort ein und klicken Sie auf * Schlüsselbund ändern *

  3. Doppelklicken Sie auf das neu importierte VPN-Zertifikat. Dadurch wird ein kleines Eigenschaftenfenster geöffnet, in dem Sie die Vertrauensebenen angeben können. Stellen Sie * IP-Sicherheit (IPSec) * auf * Immer vertrauen * ein, und Sie werden erneut zur Eingabe Ihres Kennworts aufgefordert. Diese Einstellung wird nach Eingabe des Passworts automatisch gespeichert.

Nachdem das Zertifikat wichtig und vertrauenswürdig ist, konfigurieren Sie die VPN-Verbindung mit den folgenden Schritten:

  1. Gehen Sie zu * Systemeinstellungen * und wählen Sie * Netzwerk *.

  2. Klicken Sie auf das kleine Pluszeichen unten links in der Liste der Netzwerke.

  3. Stellen Sie im angezeigten Popup * Schnittstelle * auf * VPN * ein, legen Sie den * VPN-Typ * auf * IKEv2 * fest und geben Sie der Verbindung einen Namen.

  4. Geben Sie im Feld * Server * und * Remote-ID * den Domänennamen oder die IP-Adresse des Servers ein. Lassen Sie die * Local ID * leer.

  5. Klicken Sie auf * Authentifizierungseinstellungen *, wählen Sie * Benutzername * und geben Sie Ihren Benutzernamen und Ihr Kennwort ein, die Sie für Ihren VPN-Benutzer konfiguriert haben. Klicken Sie dann auf * OK *.

Klicken Sie abschließend auf * Verbinden *, um eine Verbindung zum VPN herzustellen. Sie sollten jetzt mit dem VPN verbunden sein.

Verbindung von Ubuntu

Um eine Verbindung von einem Ubuntu-Computer herzustellen, können Sie StrongSwan als Dienst einrichten und verwalten oder jedes Mal, wenn Sie eine Verbindung herstellen möchten, einen einmaligen Befehl verwenden. Anweisungen werden für beide bereitgestellt.

StrongSwan als Service verwalten
  1. Aktualisieren Sie Ihren lokalen Paket-Cache: + sudo apt update

  2. Installieren Sie StrongSwan und die dazugehörige Software + sudo apt install strongswan libcharon-extra-plugins +

  3. Kopieren Sie das CA-Zertifikat in das Verzeichnis "+ / etc / ipsec.d / cacerts ": " sudo cp / etc / ipsec.d / cacerts +"

  4. Deaktivieren Sie StrongSwan, damit das VPN nicht automatisch gestartet wird: + sudo systemctl disable --now strongswan +

  5. Konfigurieren Sie Ihren VPN-Benutzernamen und Ihr Passwort in der Datei "+ / etc / ipsec.secrets ": ": EAP +"

  6. Bearbeiten Sie die Datei "+ / etc / ipsec.conf +", um Ihre Konfiguration zu definieren.

/etc/ipsec.conf

config setup

conn ikev2-rw
   right=
   # This should match the `leftid` value on your server's configuration
   rightid=
   rightsubnet=0.0.0.0/0
   rightauth=pubkey
   leftsourceip=%config
   leftid=
   leftauth=eap-mschapv2
   eap_identity=%identity
   auto=start

Geben Sie Folgendes ein, um eine Verbindung zum VPN herzustellen:

sudo systemctl start strongswan

Um die Verbindung wieder zu trennen, geben Sie Folgendes ein:

sudo systemctl stop strongswan
Verwenden eines einfachen Clients für einmalige Verbindungen
  1. Aktualisieren Sie Ihren lokalen Paket-Cache: + sudo apt update

  2. Installieren Sie "+ charon-cmd " und die dazugehörige Software " sudo apt install charon-cmd libcharon-extra-plugins +"

  3. Wechseln Sie in das Verzeichnis, in das Sie das CA-Zertifikat kopiert haben: + cd <^> / path / to / ca-cert.pem +

  4. Stellen Sie mit + charon-cmd + eine Verbindung zum VPN-Server her, indem Sie das CA-Zertifikat des Servers, die IP-Adresse des VPN-Servers und den von Ihnen konfigurierten Benutzernamen verwenden: `+ sudo charon-cmd --cert ca-cert.pem --host --identity + `

  5. Geben Sie bei Aufforderung das Kennwort des VPN-Benutzers ein.

Sie sollten jetzt mit dem VPN verbunden sein. Drücken Sie zum Trennen der Verbindung die Tastenkombination STRG + C + und warten Sie, bis die Verbindung geschlossen ist.

Verbindung von iOS

Gehen Sie folgendermaßen vor, um die VPN-Verbindung auf einem iOS-Gerät zu konfigurieren:

  1. Senden Sie sich eine E-Mail mit dem angehängten Stammzertifikat.

  2. Öffnen Sie die E-Mail auf Ihrem iOS-Gerät und tippen Sie auf die angehängte Zertifikatdatei. Tippen Sie anschließend auf * Installieren * und geben Sie Ihren Passcode ein. Tippen Sie nach der Installation auf * Fertig *.

  3. Gehen Sie zu * Einstellungen *, * Allgemein *, * VPN * und tippen Sie auf * VPN-Konfiguration hinzufügen *. Daraufhin wird der Konfigurationsbildschirm für die VPN-Verbindung angezeigt.

  4. Tippen Sie auf * Typ * und wählen Sie * IKEv2 *.

  5. Geben Sie im Feld * Beschreibung * einen Kurznamen für die VPN-Verbindung ein. Das könnte alles sein, was du willst.

  6. Geben Sie im Feld * Server * und * Remote-ID * den Domänennamen oder die IP-Adresse des Servers ein. Das Feld * Lokale ID * kann leer gelassen werden.

  7. Geben Sie Ihren Benutzernamen und Ihr Passwort in den Bereich * Authentifizierung * ein und tippen Sie anschließend auf * Fertig *.

  8. Wählen Sie die gerade erstellte VPN-Verbindung aus, tippen Sie auf den Schalter oben auf der Seite, und Sie werden verbunden.

Verbindung von Android

Führen Sie die folgenden Schritte aus, um das Zertifikat zu importieren:

  1. Senden Sie sich eine E-Mail mit dem angehängten CA-Zertifikat. Speichern Sie das CA-Zertifikat in Ihrem Download-Ordner.

  2. Laden Sie den StrongSwan VPN-Client aus dem Play Store herunter.

  3. Öffne die App. Tippen Sie auf das Symbol * "more" * in der oberen rechten Ecke (das Symbol mit den drei Punkten) und wählen Sie * CA-Zertifikate * aus.

  4. Tippen Sie erneut auf das Symbol * “more” * in der oberen rechten Ecke. Wählen Sie * Zertifikat importieren *.

  5. Navigieren Sie zu der CA-Zertifikatdatei in Ihrem Download-Ordner und wählen Sie sie aus, um sie in die App zu importieren.

Nachdem das Zertifikat in die StrongSwan-App importiert wurde, können Sie die VPN-Verbindung folgendermaßen konfigurieren:

  1. Tippen Sie in der App oben auf * VPN-PROFIL HINZUFÜGEN *.

  2. Füllen Sie den * Server * mit dem Domainnamen oder der öffentlichen IP-Adresse Ihres VPN-Servers aus.

  3. Stellen Sie sicher, dass * IKEv2 EAP (Benutzername / Passwort) * als VPN-Typ ausgewählt ist.

  4. Füllen Sie den * Benutzernamen * und das * Passwort * mit den Anmeldeinformationen aus, die Sie auf dem Server definiert haben.

  5. Deaktivieren Sie "Automatisch auswählen" im Abschnitt "CA-Zertifikat" und klicken Sie auf "CA-Zertifikat auswählen".

  6. Tippen Sie oben auf dem Bildschirm auf die Registerkarte * IMPORTIERT * und wählen Sie die von Ihnen importierte Zertifizierungsstelle aus (sie wird als "VPN-Stammzertifizierungsstelle" bezeichnet, wenn Sie die "DN" zuvor nicht geändert haben).

  7. Wenn Sie möchten, füllen Sie * Profilname (optional) * mit einem aussagekräftigeren Namen aus.

Wenn Sie eine Verbindung zum VPN herstellen möchten, klicken Sie auf das Profil, das Sie gerade in der StrongSwan-Anwendung erstellt haben.

Fehlerbehebung bei Verbindungen

Wenn Sie das Zertifikat nicht importieren können, stellen Sie sicher, dass die Datei die Erweiterung "+ .pem " und nicht " .pem.txt +" aufweist.

Wenn Sie keine Verbindung zum VPN herstellen können, überprüfen Sie den Servernamen oder die IP-Adresse, die Sie verwendet haben. Der Domänenname oder die IP-Adresse des Servers muss mit dem übereinstimmen, den Sie beim Erstellen des Zertifikats als allgemeinen Namen (Common Name, CN) konfiguriert haben. Wenn sie nicht übereinstimmen, funktioniert die VPN-Verbindung nicht. Wenn Sie ein Zertifikat mit dem CN "+ vpn.example.com " einrichten, müssen Sie " vpn.example.com +" verwenden, wenn Sie die VPN-Serverdetails eingeben. Überprüfen Sie den Befehl, den Sie zum Generieren des Zertifikats verwendet haben, und die Werte, die Sie beim Erstellen Ihrer VPN-Verbindung verwendet haben.

Überprüfen Sie abschließend die VPN-Konfiguration, um sicherzustellen, dass der Wert "+ leftid " mit dem Symbol " @ +" konfiguriert ist, wenn Sie einen Domainnamen verwenden:

   leftid=vpn.example.com

Wenn Sie eine IP-Adresse verwenden, stellen Sie sicher, dass das Symbol "+ @ +" weggelassen wird.

Fazit

In diesem Lernprogramm haben Sie einen VPN-Server erstellt, der das IKEv2-Protokoll verwendet. Jetzt können Sie sicher sein, dass Ihre Online-Aktivitäten überall sicher bleiben!

Um Benutzer hinzuzufügen oder zu entfernen, werfen Sie noch einmal einen Blick auf Schritt 5. Jede Zeile ist für einen Benutzer. Das Hinzufügen oder Entfernen von Benutzern ist also so einfach wie das Bearbeiten der Datei.

Von hier aus möchten Sie möglicherweise einen Protokolldatei-Analysator einrichten, da StrongSwan seine Protokolle in syslog ablegt. Das Tutorial Installation und Verwendung von Logwatch Log Analyzer und Reporter auf einem VPS enthält weitere Informationen zum Einrichten.

Möglicherweise interessieren Sie sich auch für dieser Leitfaden des EFF zum Thema Online-Datenschutz.