strongSwan ist eine quelloffene, plattformübergreifende, voll funktionsfähige und weit verbreitete IPsec-basierte VPN-Implementierung (Virtual Private Network), die unter Linux, FreeBSD, OS X, Windows, Android und iOS läuft. Es ist in erster Linie ein Keying-Daemon, der den Internet Key Exchange unterstützt Protokolle (IKEv1 und IKEv2 ), um Sicherheitszuordnungen (SA ) zwischen zwei Peers.
In diesem Artikel wird beschrieben, wie Sie ein Site-to-Site-IPSec-VPN einrichten Gateways mit strongSwan auf Ubuntu und Debian Server. Mit Standort-zu-Standort meinen wir, dass hinter jedem Sicherheits-Gateway ein Subnetz steht. Außerdem authentifizieren sich die Peers gegenseitig mit einem vorinstallierten Schlüssel (PSK ).
Testumgebung
Denken Sie daran, die folgenden IPs durch Ihre realen IPs zu ersetzen, um Ihre Umgebung zu konfigurieren.
Standort-1-Gateway (tecmint-devgateway)
OS 1: Debian or Ubuntu Public IP: 10.20.20.1 Private IP: 192.168.0.101/24 Private Subnet: 192.168.0.0/24
Site 2 Gateway (tecmint-prodgateway)
OS 2: Debian or Ubuntu Public IP: 10.20.20.3 Private IP: 10.0.2.15/24 Private Subnet: 10.0.2.0/24
Schritt 1:Kernel-Paketweiterleitung aktivieren
1. Zuerst müssen Sie den Kernel konfigurieren, um die Paketweiterleitung zu aktivieren, indem Sie die entsprechenden Systemvariablen in /etc/sysctl.conf hinzufügen Konfigurationsdatei auf beiden Sicherheitsgateways.
$ sudo vim /etc/sysctl.conf
Suchen Sie nach den folgenden Zeilen, kommentieren Sie sie aus und setzen Sie ihre Werte wie gezeigt (lesen Sie die Kommentare in der Datei für weitere Informationen).
net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0
2. Laden Sie als Nächstes die neuen Einstellungen, indem Sie den folgenden Befehl ausführen.
$ sudo sysctl -p
Sysctl-Kernel-Einstellungen laden
3. Wenn Sie einen UFW-Firewalldienst aktiviert haben, müssen Sie die folgenden Regeln zu /etc/ufw/before.rules hinzufügen Konfigurationsdatei direkt vor den Filterregeln in beiden Sicherheitsgateways.
Standort-1-Gateway (tecmint-devgateway)
*nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.0.2.0/24 -d 192.168.0.0/24 -j MASQUERADE COMMIT
Site 2 Gateway (tecmint-prodgateway)
*nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 192.168.0.0/24 -d 10.0.2.0/24 -j MASQUERADE COMMIT
4. Sobald Firewallregeln hinzugefügt wurden, wenden Sie die neuen Änderungen an, indem Sie UFW neu starten wie abgebildet.
$ sudo ufw disable $ sudo ufw enable
Schritt 2:StrongSwan in Debian und Ubuntu installieren
5. Aktualisieren Sie Ihren Paket-Cache auf beiden Sicherheits-Gateways und installieren Sie strongswan Paket mit dem APT-Paketmanager.
$ sudo apt update $ sudo apt install strongswan
6. Sobald die Installation abgeschlossen ist, startet das Installationsskript den strongswan Dienst und aktivieren Sie ihn so, dass er beim Systemstart automatisch gestartet wird. Mit dem folgenden Befehl können Sie seinen Status überprüfen und ob er aktiviert ist.
$ sudo systemctl status strongswan.service $ sudo systemctl is-enabled strongswan.service
Schritt 3:Sicherheits-Gateways konfigurieren
7. Als nächstes müssen Sie die Sicherheits-Gateways mit /etc/ipsec.conf konfigurieren Konfigurationsdatei.
Standort-1-Gateway (tecmint-devgateway)
$ sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig $ sudo nano /etc/ipsec.conf
Kopieren Sie die folgende Konfiguration und fügen Sie sie in die Datei ein.
config setup charondebug="all" uniqueids=yes conn devgateway-to-prodgateway type=tunnel auto=start keyexchange=ikev2 authby=secret left=10.20.20.1 leftsubnet=192.168.0.101/24 right=10.20.20.3 rightsubnet=10.0.2.15/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
Site 2 Gateway (tecmint-prodgateway)
$ sudo cp /etc/ipsec.conf /etc/ipsec.conf.orig $ sudo cp /etc/ipsec.conf
Kopieren Sie die folgende Konfiguration und fügen Sie sie in die Datei ein.
config setup charondebug="all" uniqueids=yes conn prodgateway-to-devgateway type=tunnel auto=start keyexchange=ikev2 authby=secret left=10.20.20.3 leftsubnet=10.0.2.15/24 right=10.20.20.1 rightsubnet=192.168.0.101/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
Hier ist die Bedeutung der einzelnen Konfigurationsparameter:
- Konfigurationseinstellungen – gibt allgemeine Konfigurationsinformationen für IPSec an, die für alle Verbindungen gelten.
- charondebug – definiert, wie viel Charon-Debugging-Ausgabe protokolliert werden soll.
- Uniqueids – legt fest, ob eine bestimmte Teilnehmer-ID eindeutig gehalten werden soll.
- conn prodgateway-to-devgateway – definiert den Verbindungsnamen.
- tippen – definiert den Verbindungstyp.
- automatisch – Umgang mit der Verbindung, wenn IPSec gestartet oder neu gestartet wird.
- Schlüsselaustausch – definiert die Version des zu verwendenden IKE-Protokolls.
- authby – definiert, wie Peers sich gegenseitig authentifizieren sollen.
- links – definiert die IP-Adresse der öffentlichen Netzwerkschnittstelle des linken Teilnehmers.
- linkes Subnetz – gibt das private Subnetz hinter dem linken Teilnehmer an.
- richtig – gibt die IP-Adresse der öffentlichen Netzwerkschnittstelle des richtigen Teilnehmers an.
- rightsubnet – gibt das private Subnetz hinter dem linken Teilnehmer an.
- wie – definiert eine Liste der zu verwendenden IKE/ISAKMP SA-Verschlüsselungs-/Authentifizierungsalgorithmen. Sie können eine durch Kommas getrennte Liste hinzufügen.
- besonders – definiert eine Liste von ESP-Verschlüsselungs-/Authentifizierungsalgorithmen, die für die Verbindung verwendet werden sollen. Sie können eine durch Kommas getrennte Liste hinzufügen.
- aggressiv – gibt an, ob Aggressive oder Main Mode verwendet werden soll.
- Eingabeversuche – gibt die Anzahl der Versuche an, die unternommen werden sollen, um eine Verbindung auszuhandeln.
- wielebensdauer – gibt an, wie lange der Schlüsselkanal einer Verbindung dauern soll, bevor er neu ausgehandelt wird.
- lebenslang – definiert, wie lange eine bestimmte Instanz einer Verbindung dauern soll, von der erfolgreichen Aushandlung bis zum Ablauf.
- dpddelay – gibt das Zeitintervall an, in dem R_U_THERE-Nachrichten/INFORMATIONAL-Austausche an die Gegenstelle gesendet werden.
- dpdtimeout – gibt das Timeout-Intervall an, nach dem alle Verbindungen zu einem Peer bei Inaktivität gelöscht werden.
- dpdaktion – definiert, wie das Dead Peer Detection (DPD)-Protokoll verwendet wird, um die Verbindung zu verwalten.
Weitere Informationen zu den oben genannten Konfigurationsparametern finden Sie in der ipsec.conf Manpage durch Ausführen des Befehls.
$ man ipsec.conf
Schritt 4:PSK für Peer-to-Peer-Authentifizierung konfigurieren
8. Nachdem Sie beide Sicherheitsgateways konfiguriert haben, generieren Sie einen sicheren PSK von den Peers mit dem folgenden Befehl verwendet werden.
$ head -c 24 /dev/urandom | base64
PSK-Schlüssel generieren
9. Fügen Sie als Nächstes den PSK hinzu in /etc/ipsec.secrets Datei auf beiden Gateways.
$ sudo vim /etc/ipsec.secrets
Kopieren Sie die folgende Zeile und fügen Sie sie ein.
------- Site 1 Gateway (tecmint-devgateway) ------- 10.20.20.1 10.20.20.3 : PSK "qLGLTVQOfqvGLsWP75FEtLGtwN3Hu0ku6C5HItKo6ac=" ------- Site 2 Gateway (tecmint-prodgateway) ------- 10.20.20.3 10.20.20.1 : PSK "qLGLTVQOfqvGLsWP75FEtLGtwN3Hu0ku6C5HItKo6ac="
10. Starten Sie IPSec neu Programm und überprüfen Sie seinen Status, um die Verbindungen anzuzeigen.
$ sudo ipsec restart $ sudo ipsec status
IPSec-Verbindungsstatus anzeigen
11. Stellen Sie schließlich sicher, dass Sie von beiden Sicherheits-Gateways aus auf die privaten Subnetze zugreifen können, indem Sie einen Ping-Befehl ausführen.
$ ping 192.168.0.101 $ ping 10.0.2.15
Überprüfen Sie die Site-to-Site-VPN-Einrichtung
12. Außerdem können Sie IPSec wie gezeigt stoppen und starten.
$ sudo ipsec stop $ sudo ipsec start
13. Weitere Informationen zu IPSec-Befehlen zum manuellen Herstellen von Verbindungen und mehr finden Sie auf der IPSec-Hilfeseite.
$ ipsec --help
Das ist alles! In diesem Artikel haben wir beschrieben, wie Sie mit strongSwan ein Site-to-Site-IPSec-VPN einrichten auf Ubuntu und Debian Server, bei denen beide Sicherheitsgateways so konfiguriert wurden, dass sie sich gegenseitig mit einem PSK authentifizieren . Wenn Sie Fragen oder Gedanken haben, die Sie uns mitteilen möchten, erreichen Sie uns über das unten stehende Feedback-Formular.
Sharing is Caring…Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenAuf Reddit teilen