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.

Im Netz fand sich nur ein einziger Artikel aus dem Jahr 2015 zu diesem Thema „».
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 .
zu verweisen.
Nun kommen wir direkt zu den Einstellungen. Die Verbindungsstruktur sieht folgendermaßen aus:

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


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=1hipsec.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
