IPSec-Tunnel zwischen Strongswan hinter NAT und VMWare NSX Edge.

Aus verschiedenen Gründen war es notwendig, eine VPN-Verbindung zwischen dem Netzwerk im VMWare Cloud Director und einem separaten Ubuntu-System in der Cloud einzurichten. Dieser Hinweis erhebt keinen Anspruch auf Vollständigkeit, es ist lediglich ein kleines How-to.

IPSec-Tunnel zwischen Strongswan hinter NAT und VMWare NSX Edge.

Im Netz fand sich nur ein einziger Artikel aus dem Jahr 2015 zu diesem Thema „Site to Site IPSEC VPN zwischen NSX Edge und Linux strongSwan».

Leider ließ sich dieser nicht direkt verwenden, da ich auf eine sicherere Verschlüsselung ohne selbstsigniertes Zertifikat Wert legte und die beschriebene Konfiguration hinter NAT nicht funktioniert hätte.

Deshalb musste ich mich setzen und in der Dokumentation stöbern.

Ich nahm als Grundlage eine seit langem von mir genutzte Konfiguration, die es ermöglicht, sich von nahezu jedem Betriebssystem zu verbinden, und fügte einfach einen Abschnitt hinzu, der die Verbindung zu NSX Edge erlaubt.

Da die Installation und umfassende Konfiguration des Strongswan-Servers den Rahmen dieser Notiz sprengt, erlaube ich mir, auf ein gutes Material zu diesem Thema.

zu verweisen.

Nun kommen wir direkt zu den Einstellungen. Die Verbindungsstruktur sieht folgendermaßen aus:

IPSec-Tunnel zwischen Strongswan hinter NAT und VMWare NSX Edge.

Von der VMWare aus die öffentliche Adresse 33.33.33.33 und das interne Netzwerk 192.168.1.0/24. Von der Linux-Seite die öffentliche Adresse 22.22.22.22 und das interne Netzwerk 10.10.10.0/24. Außerdem muss das Let's Encrypt-Zertifikat für die Adresse vpn.linux.ext konfiguriert werden. PSK auf beiden Seiten: ChangeMeNow!

Konfiguration auf der NSX Edge-Seite:

Text

Aktiviert: ja
Perfekte Vorwärtsgeheimhaltung (PFS) aktivieren: ja
Name: VPN_strongswan (beliebig, nach Ihrer Wahl)
Lokale ID: 33.33.33.33
Lokaler Endpunkt: 33.33.33.33
Lokale Subnetze: 192.168.1.0/24
Peer-ID: vpn.linux.ext
Peer-Endpunkt: 22.22.22.22
Peer-Subnetze: 10.10.10.0/24
Verschlüsselungsalgorithmus: AES256
Authentifizierung: PSK
Verschlüsselungsschlüssel: ChangeMeNow!
Diffie-Hellman-Gruppe: 14 (2048 Bit – ein akzeptabler Kompromiss zwischen Geschwindigkeit und Sicherheit. Aber wenn Sie möchten, können Sie auch eine größere einstellen.)
Digest-Algorithmus: SHA256
IKE-Option: IKEv2
Nur IKE-Responder: nein
Sitzungstyp: Richtlinienbasierte Sitzung

Screenshots
IPSec-Tunnel zwischen Strongswan hinter NAT und VMWare NSX Edge.
IPSec-Tunnel zwischen Strongswan hinter NAT und VMWare NSX Edge.

Konfiguration auf der Strongswan-Seite:

ipsec.conf

# /etc/ipsec.conf
config setup

conn %default
	dpdaction=clear
	dpddelay=35s
	dpdtimeout=300s

	fragmentation=yes
	rekey=no

	ike=aes256gcm16-aes256gcm12-aes128gcm16-aes128gcm12-sha256-sha1-modp2048-modp4096-modp1024,aes256-aes128-sha256-sha1-modp2048-modp4096-modp1024,3des-sha1-modp1024!
	esp=aes128gcm12-aes128gcm16-aes256gcm12-aes256gcm16-modp2048-modp4096-modp1024,aes128-aes256-sha1-sha256-modp2048-modp4096-modp1024,aes128-sha1-modp2048,aes128-sha1-modp1024,3des-sha1-modp1024,aes128-aes256-sha1-sha256,aes128-sha1,3des-sha1!

	left=%any
	leftsubnet=10.10.10.0/24
        leftcert=certificate.pem
	leftfirewall=yes
	leftsendcert=always

	right=%any
	rightsourceip=192.168.1.0/24
	rightdns=77.88.8.8,8.8.4.4

	eap_identity=%identity

# IKEv2
conn IPSec-IKEv2
	keyexchange=ikev2
	auto=add

# BlackBerry, Windows, Android
conn IPSec-IKEv2-EAP
	also="IPSec-IKEv2"
	rightauth=eap-mschapv2

# macOS, iOS
conn IKEv2-MSCHAPv2-Apple
	also="IPSec-IKEv2"
	rightauth=eap-mschapv2
	leftid=vpn.linux.ext

# Android IPsec Hybrid RSA
conn IKEv1-Xauth
	keyexchange=ikev1
	rightauth=xauth
	auto=add

# VMWare IPSec VPN
conn linux-nsx-psk
	authby=secret
	auto=start
	leftid=vpn.linux.ext
	left=10.10.10.10
	leftsubnet=10.10.10.0/24
	rightid=33.33.33.33
	right=33.33.33.33
	rightsubnet=192.168.1.0/24
	ikelifetime=28800
	keyexchange=ikev2
	lifebytes=0
	lifepackets=0
	lifetime=1h

ipsec.secret

# /etc/ipsec.secrets
: RSA privkey.pem

# Create VPN users accounts
# ВНИМАНИЕ! После логина сначала пробел, потом двоеточие.

user1 : EAP "stongPass1"
user2 : EAP "stongPass2"
%any 33.33.33.33 : PSK "ChangeMeNow!"

Nach diesem Schritt genügt es, die Konfiguration zu überprüfen, die Verbindung zu starten und zu prüfen, ob sie hergestellt wurde:

ipsec update
ipsec rereadsecrets
ipsec up linux-nsx-psk
ipsec status

Ich hoffe, diese kleine Notiz wird hilfreich sein und jemandem ein paar Stunden Zeit sparen.

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster