Aufgrund verschiedener Gründe war es notwendig, eine VPN-Verbindung zwischen dem Netzwerk in VMWare Cloud Director und einer separaten Ubuntu-Maschine in der Cloud einzurichten. Diese Notiz erhebt nicht den Anspruch auf eine vollständige Beschreibung, sondern ist lediglich ein kleines How-To.

Es fand sich nur ein einziger Artikel aus dem Jahr 2015 zu diesem Thema „».
Leider konnte ich ihn nicht direkt verwenden, da ich eine sicherere Verschlüsselung ohne selbstsigniertes Zertifikat wollte und die beschriebene Konfiguration hinter NAT nicht funktionieren würde.
Deshalb musste ich mich hinsetzen und die Dokumentation durchforsten.
Ich habe als Grundlage eine bereits lange von mir verwendete Konfiguration genommen, die es ermöglicht, sich praktisch von jedem Betriebssystem aus zu verbinden, und habe nur einen Abschnitt hinzugefügt, der die Verbindung zum NSX Edge ermöglicht.
Da die Installation und die umfassende Konfiguration des Strongswan-Servers den Rahmen dieser Notiz sprengen, erlaube ich mir, auf .
Kommen wir also direkt zu den Einstellungen.
Das Schema der Verbindung wird wie folgt aussehen:

von VMWare die externe Adresse 33.33.33.33 und das interne Netzwerk 192.168.1.0/24
von Linux die externe Adresse 22.22.22.22 und das interne Netzwerk 10.10.10.0/24
zudem ist ein Let's Encrypt-Zertifikat für die Adresse vpn.linux.ext erforderlich
PSK von beiden Seiten: ChangeMeNow!Konfiguration auf der NSX Edge-Seite:
Text
Enabled: yes
Enable perfect forward secrecy (PFS): yes
Name: VPN_strongswan (beliebig, nach Ihrer Wahl)
Local Id: 33.33.33.33
Local Endpoint: 33.33.33.33
Local Subnets: 192.168.1.0/24
Peer Id: vpn.linux.ext
Peer Endpoint: 22.22.22.22
Peer Subnets: 10.10.10.0/24
Encryption Algorithm: AES256
Authentication: PSK
Pre-Shared Key: ChangeMeNow!
Diffie-Hellman Group: 14 (2048 Bit — akzeptabler Kompromiss zwischen Geschwindigkeit und Sicherheit. Aber wenn Sie möchten, können Sie auch mehr einstellen)
Digest Algorithm: SHA256
IKE Option: IKEv2
IKE Responder Only: no
Session Type: Policy Based Session 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 reicht es, die Konfiguration zu überprüfen, die Verbindung zu starten und sicherzustellen, dass sie hergestellt wurde:
ipsec update
ipsec rereadsecrets
ipsec up linux-nsx-psk
ipsec status Ich hoffe, diese kleine Notiz erweist sich als nützlich und spart jemandem ein paar Stunden.
Quelle: habr.com
