GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So richten Sie ein IPsec-basiertes VPN mit Strongswan unter CentOS/RHEL 8 ein

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
Cent OS
  1. So richten Sie Wireguard VPN auf CentOS 8 ein

  2. So legen Sie den Hostnamen in CentOS 7 / RHEL 7 fest oder ändern ihn

  3. So installieren Sie phpMyAdmin mit Nginx unter CentOS 7 / RHEL 7

  4. So legen Sie children-max für den udev-Dienst in CentOS/RHEL 7 fest

  5. So legen Sie einen benutzerdefinierten Schnittstellennamen mit NetworkManager in CentOS/RHEL 7 fest

So stellen/ändern Sie den Hostnamen in CentOS 8 / RHEL 8

So installieren Sie WordPress mit Nginx unter CentOS 8 / RHEL 8

So richten Sie einen IKEv2-VPN-Server mit StrongSwan unter Ubuntu 22.04 ein

So schützen Sie E-Mail-Server vor Hacking mit VPN (CentOS/RHEL)

So richten Sie ein IPsec-basiertes VPN mit Strongswan unter Debian und Ubuntu ein

So richten Sie SSH unter CentOS und RHEL ein