Wie man IPSec-basierte VPN mit Strongswan auf Debian und Ubuntu eingerichtet hat

Wie man IPSec-basierte VPN mit Strongswan auf Debian und Ubuntu eingerichtet hat

Strongswan ist eine Open-Source-, plattformübergreifende, voll ausgestattete und weit verbreitete IPSec-basierte VPN-Implementierung (Virtual Private Network), die unter Linux, FreeBSD, OS X, Windows, Android und iOS ausgeführt wird. Es ist in erster Linie ein Keying -Daemon, der die unterstützt Internetschlüsselaustausch Protokolle (Ikev1 Und Ikev2) Sicherheitsverbände festlegen (Sa) zwischen zwei Kollegen.

In diesem Artikel wird beschrieben, wie Site-to-Site eingerichtet wird Ipsec vpn Gateways verwendet Strongswan An Ubuntu Und Debian Server. Mit Site-to-Site meinen wir, dass jedes Sicherheits-Gateway ein Unter-Netz dahinter hat. Außerdem authentifizieren sich die Kollegen gegenseitig mit einem vorab getriebenen 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 oder Ubuntu Public IP: 10.20.20.1 Private IP: 192.168.0.101/24 Privates Subnetz: 192.168.0.0/24 

Standort 2 Gateway (Tecmint-Prodgateway)

OS 2: Debian oder Ubuntu Public IP: 10.20.20.3 Private IP: 10.0.2.15/24 Privates Subnetz: 10.0.2.0/24 

Schritt 1: Aktivierung der Kernel -Paketweiterung

1. Zunächst müssen Sie den Kernel konfigurieren, um die Paketweiterleitung zu aktivieren, indem Sie die entsprechenden Systemvariablen in in den /etc/sysctl.Conf Konfigurationsdatei auf beiden Sicherheitsgateways.

$ sudo vim /etc /sysctl.Conf 

Suchen Sie nach den folgenden Zeilen und wenden Sie sich an und setzen Sie ihre Werte wie gezeigt (lesen Sie Kommentare in der Datei, um weitere Informationen zu erhalten).

Netz.IPv4.ip_forward = 1 net.IPv6.Conf.alle.Weiterleitung = 1 Netz.IPv4.Conf.alle.Accept_redirects = 0 Netz.IPv4.Conf.alle.send_redirects = 0 

2. Laden Sie als Nächstes die neuen Einstellungen, indem Sie den folgenden Befehl ausführen.

$ sudo sysctl -p 
Laden Sie die SYSCTL -Kerneleinstellungen

3. Wenn Sie einen UFW -Firewall -Dienst aktiviert haben, müssen Sie den folgenden Regeln hinzufügen /etc/ufw/vor.Regeln Konfigurationsdatei kurz vor den Filterregeln in beiden Sicherheits -Gateways.

Standort 1 Gateway (Tecmint-Devgateway)

*nat: poTrouting akzeptieren [0: 0] -a poTrouting -s 10.0.2.0/24 -D 192.168.0.0/24 -J Masquerade Commit 

Standort 2 Gateway (Tecmint-Prodgateway)

*nat: poTrouting akzeptieren [0: 0] -a poTrouting -s 192.168.0.0/24 -d 10.0.2.0/24 -J Masquerade Commit 

4. Sobald die Firewall -Regeln hinzugefügt wurden, wenden Sie die neuen Änderungen durch Neustart an UFW wie gezeigt.

$ sudo ufw deaktivieren $ sudo ufw aktivieren 

Schritt 2: Installation von Strongswan in Debian und Ubuntu

5. Aktualisieren Sie Ihren Paket -Cache auf beiden Sicherheitsgateways und installieren Sie die Strongswan Paket mit dem APT -Paketmanager Paket.

$ sudo apt Update $ sudo Apt installieren Sie Strongswan 

6. Sobald die Installation abgeschlossen ist, startet das Installationskript die Strongswan Service und ermöglichen es, automatisch am Systemstart zu beginnen. Sie können seinen Status überprüfen und ob es über den folgenden Befehl aktiviert ist.

$ sudo systemctl Status Strongswan.Service $ sudo systemctl is-fähig Strongswan.Service 

Schritt 3: Konfigurieren von Sicherheits -Gateways

7. Als nächstes müssen Sie die Sicherheits -Gateways mit der Konfiguration des /etc/ipsec.Conf 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 in die Datei.

config Setup charondebug = "All" UniqueIds = Ja Conn Devgatewayway-to-Prodgateway-Typ = Tunnel auto = start keyExchange = ikev2 authby = geheim links = 10.20.20.1 linksSubnet = 192.168.0.101/24 rechts = 10.20.20.3 Rightsubnet = 10.0.2.15/24 IKE = AES256-SHA1-MODP1024! ESP = AES256-SHA1! aggressiv = no keyingtries =%Forever Ikelifetime = 28800S Lifetime = 3600S DPDDELAY = 30S DPDTimeOut = 120S DPDAction = Neustart 

Standort 2 Gateway (Tecmint-Prodgateway)

$ sudo cp /etc /ipsec.conf /etc /ipsec.Conf.orig $ sudo nano /etc /ipsec.Conf 

Kopieren Sie die folgende Konfiguration und fügen Sie in die Datei ein und fügen Sie sie ein.

config Setup charondebug = "all" einzigartige Ids = Ja Conn prodgateway-to-Devgateway-Typ = Tunnel auto = start keyExchange = ikev2 authby = geheim links = 10.20.20.3 linkssubnet = 10.0.2.15/24 rechts = 10.20.20.1 Rightsubnet = 192.168.0.101/24 IKE = AES256-SHA1-MODP1024! ESP = AES256-SHA1! aggressiv = no keyingtries =%Forever Ikelifetime = 28800S Lifetime = 3600S DPDDELAY = 30S DPDTimeOut = 120S DPDAction = Neustart 

Hier ist die Bedeutung jedes Konfigurationsparameters:

  • Konfigurationseinrichtung - Gibt allgemeine Konfigurationsinformationen für IPSec an, die für alle Verbindungen gilt.
  • Charondebug - definiert, wie viel Charon -Debugging -Ausgabe protokolliert werden sollte.
  • UniqueIds - Gibt an, ob eine bestimmte Teilnehmer -ID einzigartig gehalten werden sollte.
  • Conn Prodgateway-to-Devgateway - Definiert den Verbindungsnamen.
  • Typ - Definiert den Verbindungstyp.
  • Auto - Wie man mit der Verbindung umgeht, wenn IPSec gestartet oder neu gestartet wird.
  • keyExchange - definiert die Version des zu verwendenden IKE -Protokolls.
  • Authby - definiert, wie Gleichaltrige sich gegenseitig authentifizieren sollten.
  • links - Definiert die IP-Adresse der öffentlichen Netzschnittstelle des linken Teilnehmers.
  • linkssubnet - gibt das private Subnetz hinter dem linken Teilnehmer an.
  • Rechts - Gibt die IP-Adresse der öffentlichen Netzwerkoberfläche des richtigen Teilnehmers an.
  • Rechtesubnet - gibt das private Subnetz hinter dem linken Teilnehmer an.
  • ike - Definiert eine Liste von IKE/ISAKMP SA -Verschlüsselung/Authentifizierungsalgorithmen, die verwendet werden sollen. Sie können eine von Kommas getrennte Liste hinzufügen.
  • Esp - Definiert eine Liste der ESP -Verschlüsselungs-/Authentifizierungsalgorithmen, die für die Verbindung verwendet werden sollen. Sie können eine von Kommas getrennte Liste hinzufügen.
  • aggressiv - gibt an, ob Sie aggressiv oder Hauptmodus verwenden sollen.
  • Keyingtries - gibt die Anzahl der Versuche an, eine Verbindung zu verhandeln.
  • ikelifetime - gibt an, wie lange der Keying -Kanal einer Verbindung dauern sollte, bevor sie neu verhandelt werden.
  • Lebensdauer - Definiert, wie lange eine bestimmte Instanz einer Verbindung von erfolgreichen Verhandlungen bis hin zu Ablauf dauern sollte.
  • dpddelay - Gibt das Zeitintervall an, mit dem R_U_TER -Nachrichten/Informationsaustausch an den Peer gesendet werden.
  • DPDTimeout - Gibt das Zeitübergangsintervall an, wonach alle Verbindungen zu einem Peer im Falle einer Inaktivität gelöscht werden.
  • dpdaction - Definiert, wie das DPD -Protokoll (Dead Peer Detection) verwendet wird, um die Verbindung zu verwalten.

Weitere Informationen zu den oben genannten Konfigurationsparametern finden Sie unter ipsec.Conf Mannseite durch Ausführen des Befehls.

$ MAN IPSEC.Conf 

Schritt 4: Konfigurieren von PSK für Peer-to-Peer-Authentifizierung

8. Generieren Sie nach der Konfiguration beider Sicherheitsgateways eine sichere PSK von den Kollegen mit dem folgenden Befehl verwendet werden.

$ head -c 24 /dev /urandom | Basis64 
Generieren Sie PSK -Schlüssel

9. Als nächstes fügen Sie die hinzu PSK im /etc/ipsec.Geheimnisse Datei auf beiden Gateways.

$ sudo vim /etc /ipsec.Geheimnisse 

Kopieren und fügen Sie die folgende Zeile ein und fügen Sie sie ein.

------- Standort 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 " 

10. Starten Sie das neu Ipsec Programm und überprüfen Sie den Status, um Verbindungen anzuzeigen.

$ sudo ipsec starten Sie $ sudo ipsec Status neu 
IPSEC -Verbindungsstatus anzeigen

11. Stellen Sie schließlich sicher, dass Sie auf die privaten Unternetze von beiden Sicherheitsgateways zugreifen können, indem Sie einen Ping-Befehl ausführen.

$ ping 192.168.0.101 $ Ping 10.0.2.15 
Überprüfen Sie Site-to-Site-VPN-Setup

12. Außerdem können Sie anhalten und IPSec wie gezeigt starten.

$ sudo ipsec stoppen $ sudo ipsec Start 

13. Um mehr über IPSec -Befehle zu erfahren, um Verbindungen manuell aufzunehmen, und mehr finden Sie auf der IPSec -Help -Seite.

$ ipsec -HELP 

Das ist alles! In diesem Artikel haben wir beschrieben Strongswan An Ubuntu Und Debian Server, bei denen beide Sicherheitsgateways konfiguriert wurden, um sich gegenseitig mit a zu authentifizieren PSK. Wenn Sie Fragen oder Gedanken zu teilen haben, erreichen Sie uns über das Feedback -Formular unten.