strongSwan ist eine Open-Source-, plattformübergreifende, moderne und vollständige IPsec-basierte VPN-Lösung für Linux, die vollständige Unterstützung für Internet Key Exchange bietet (beide IKEv1 und IKEv2 ) zum Herstellen von Sicherheitszuordnungen (SA) zwischen zwei Peers. Es ist voll funktionsfähig, modular aufgebaut und bietet Dutzende von Plugins, die die Kernfunktionalität verbessern.
Verwandter Artikel :So richten Sie ein IPsec-basiertes VPN mit Strongswan unter Debian und Ubuntu ein
In diesem Artikel erfahren Sie, wie Sie mithilfe von strongSwan Site-to-Site-IPsec-VPN-Gateways einrichten auf CentOS/RHEL 8 Server. Dadurch können sich Peers gegenseitig mit einem starken vorinstallierten Schlüssel (PSK) authentifizieren ). Ein Site-to-Site-Setup bedeutet, dass hinter jedem Sicherheits-Gateway ein Subnetz steht.
Testumgebung
Vergessen Sie nicht, während der Konfigurationen Ihre realen IP-Adressen zu verwenden, während Sie der Anleitung folgen.
Standort-1-Gateway
Public IP: 192.168.56.7 Private IP: 10.10.1.1/24 Private Subnet: 10.10.1.0/24
Standort 2 Gateway
Public IP: 192.168.56.6 Private IP: 10.20.1.1/24 Private Subnet: 10.20.1.0/24
Schritt 1:Kernel-IP-Weiterleitung in CentOS 8 aktivieren
1. Beginnen Sie mit der Aktivierung der Kernel-IP-Weiterleitungsfunktion in /etc/sysctl.conf Konfigurationsdatei auf beiden VPN-Gateways.
# vi /etc/sysctl.conf
Fügen Sie diese Zeilen in die Datei ein.
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. Führen Sie nach dem Speichern der Änderungen in der Datei den folgenden Befehl aus, um die neuen Kernel-Parameter zur Laufzeit zu laden.
# sysctl -p
3. Erstellen Sie als Nächstes eine permanente statische Route in der Datei /etc/sysconfig/network-scripts/route-eth0 auf beiden Sicherheitsgateways.
# vi /etc/sysconfig/network-scripts/route-eth0
Fügen Sie die folgende Zeile in die Datei ein.
#Site 1 Gateway 10.20.1.0/24 via 192.168.56.7 #Site 2 Gateway 10.10.1.0/24 via 192.168.56.6
4. Starten Sie dann den Netzwerkmanager neu, um die neuen Änderungen zu übernehmen.
# systemctl restart NetworkManager
Schritt 2:StrongSwan in CentOS 8 installieren
5. Der starke Schwan Paket wird im EPEL bereitgestellt Repository. Um es zu installieren, müssen Sie das EPEL-Repository aktivieren und dann strongwan auf beiden Sicherheitsgateways installieren.
# dnf install epel-release # dnf install strongswan
6. Um die Version von strongswan zu überprüfen auf beiden Gateways installiert ist, führen Sie den folgenden Befehl aus.
# strongswan version
7. Starten Sie als Nächstes den strongswan Dienst und aktivieren Sie ihn so, dass er beim Systemstart automatisch gestartet wird. Überprüfen Sie dann den Status auf beiden Sicherheitsgateways.
# systemctl start strongswan # systemctl enable strongswan # systemctl status strongswan
Hinweis :Die neueste Version von strongswan in CentOS/REHL 8 kommt mit Unterstützung für beide swanctl (ein neues, portables Befehlszeilen-Dienstprogramm, das mit strongSwan 5.2.0 eingeführt wurde und zum Konfigurieren, Steuern und Überwachen des IKE-Daemons Charon mithilfe von vici verwendet wird Plugin) und Starter (oder ipsec )-Dienstprogramm, das das veraltete Stroke-Plug-in verwendet.
8. Das Hauptkonfigurationsverzeichnis ist /etc/strongswan/ die Konfigurationsdateien für beide Plugins enthält:
# ls /etc/strongswan/
Strongswan-Konfigurationsstruktur
Für diese Anleitung verwenden wir das Dienstprogramm IPsec, das mit strongswan aufgerufen wird Befehl und die Stroke-Schnittstelle. Wir werden also die folgenden Konfigurationsdateien verwenden:
- /etc/strongswan/ipsec.conf – Konfigurationsdatei für das StrongSwan IPsec-Subsystem.
- /etc/strongswan/ipsec.secrets – geheime Datei.
Schritt 3:Sicherheits-Gateways konfigurieren
9. In diesem Schritt müssen Sie die Verbindungsprofile auf jedem Sicherheits-Gateway für jede Site mithilfe von /etc/strongswan/ipsec.conf konfigurieren Strongswan-Konfigurationsdatei.
Verbindungsprofil für Standort 1 konfigurieren
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig # vi /etc/strongswan/ipsec.conf
Kopieren Sie die folgende Konfiguration und fügen Sie sie in die Datei ein.
config setup charondebug="all" uniqueids=yes conn ateway1-to-gateway2 type=tunnel auto=start keyexchange=ikev2 authby=secret left=192.168.56.7 leftsubnet=10.10.1.1/24 right=192.168.56.6 rightsubnet=10.20.1.1/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
Verbindungsprofil für Standort 2 konfigurieren
# cp /etc/strongswan/ipsec.conf /etc/strongswan/ipsec.conf.orig # vi /etc/strongswan/ipsec.conf
Kopieren Sie die folgende Konfiguration und fügen Sie sie in die Datei ein:
config setup charondebug="all" uniqueids=yes conn 2gateway-to-gateway1 type=tunnel auto=start keyexchange=ikev2 authby=secret left=192.168.56.6 leftsubnet=10.20.1.1/24 right=192.168.56.7 rightsubnet=10.10.1.1/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart
Lassen Sie uns jeden der obigen Konfigurationsparameter kurz beschreiben:
- Konfigurationseinstellungen – definiert die allgemeinen Konfigurationsinformationen für IPSec, die für alle Verbindungen gelten.
- charondebug – gibt an, wie viel Charon-Debugging-Ausgabe protokolliert werden soll.
- Uniqueids – legt fest, ob eine bestimmte Teilnehmer-ID eindeutig gehalten werden soll.
- conn Gateway1-zu-Gateway2 – wird verwendet, um den Verbindungsnamen festzulegen.
- tippen – definiert den Verbindungstyp.
- Automatisch – Wird verwendet, um festzulegen, wie die Verbindung gehandhabt wird, wenn IPSec gestartet oder neu gestartet wird.
- Schlüsselaustausch – gibt die Version des zu verwendenden IKE-Protokolls an.
- authby – gibt an, wie Peers sich gegenseitig authentifizieren sollen.
- links – gibt die IP-Adresse der öffentlichen Netzwerkschnittstelle des linken Teilnehmers an.
- linkes Subnetz – deklariert das private Subnetz hinter dem linken Teilnehmer.
- richtig – gibt die IP-Adresse der öffentlichen Netzwerkschnittstelle des richtigen Teilnehmers an.
- rightsubnet – deklariert das private Subnetz hinter dem linken Teilnehmer.
- wie – Wird verwendet, um eine Liste der zu verwendenden IKE/ISAKMP SA-Verschlüsselungs-/Authentifizierungsalgorithmen zu deklarieren. Beachten Sie, dass dies eine durch Kommas getrennte Liste sein kann.
- besonders – gibt eine Liste von ESP-Verschlüsselungs-/Authentifizierungsalgorithmen an, die für die Verbindung verwendet werden sollen.
- 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 – gibt an, 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 den Peer gesendet werden.
- dpdtimeout – Wird verwendet, um das Timeout-Intervall anzugeben, nach dem alle Verbindungen zu einem Peer bei Inaktivität gelöscht werden.
- dpdaktion – gibt an, wie das Dead Peer Detection (DPD)-Protokoll verwendet wird, um die Verbindung zu verwalten.
Eine Beschreibung aller Konfigurationsparameter für das strongSwan-IPsec-Subsystem finden Sie in der ipsec.conf Manpage.
# man ipsec.conf
Schritt 4:PSK für Peer-to-Peer-Authentifizierung konfigurieren
10. Als Nächstes müssen Sie wie folgt einen starken PSK generieren, der von den Peers zur Authentifizierung verwendet wird.
# head -c 24 /dev/urandom | base64
PSK-Schlüssel generieren
11. Fügen Sie das PSK in /etc/strongswan/ipsec.conf hinzu Datei auf beiden Sicherheitsgateways.
# vi /etc/strongswan/ipsec.secrets
Geben Sie die folgende Zeile in die Datei ein.
#Site 1 Gateway 192.168.56.7 192.168.56.6 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL" #Site 1 Gateway 192.168.56.6 192.168.56.7 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"
12. Starten Sie dann den strongsan Dienst und überprüfen Sie den Verbindungsstatus.
# systemctl restart strongswan # strongswan status
Prüfen Sie die Strongswan-Verbindungen
13. Testen Sie, ob Sie von einem der Sicherheits-Gateways aus auf die privaten Subnetze zugreifen können, indem Sie einen Ping-Befehl ausführen.
# ping 10.20.1.1 # ping 10.10.1.1
Ping-Sicherheits-Gateways
14. Last but not least, um mehr über strongswan zu erfahren Befehle zum manuellen Herauf-/Herunterfahren von Verbindungen und mehr finden Sie auf der Strongswan-Hilfeseite.
# strongswan --help
Das ist jetzt alles! Um Ihre Gedanken mit uns zu teilen oder Fragen zu stellen, erreichen Sie uns über das Feedback-Formular unten. Und um mehr über das neue Dienstprogramm swanctl und die neue, flexiblere Konfigurationsstruktur zu erfahren, lesen Sie die strongSwan-Benutzerdokumentation.
Sharing is Caring…Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenAuf Reddit teilen