Le seul article de 2015 sur ce sujet, " Site à site VPN IPSEC entre NSX Edge et Linux strongSwan ", a été trouvé sur le réseau .
Malheureusement, nous n'avons pas pu l'utiliser directement, car Je voulais un cryptage plus sécurisé, pas un certificat auto-signé, et la configuration décrite ne fonctionnerait pas derrière NAT.
Par conséquent, j'ai dû m'asseoir et fouiller dans la documentation.
Comme base, j'ai pris une configuration que j'utilise depuis longtemps, qui vous permet de vous connecter à partir de presque n'importe quel système d'exploitation, et j'ai simplement ajouté une pièce qui vous permet de vous connecter à NSX Edge.
Étant donné que l'installation et la configuration à part entière du serveur Strongswan sortent du cadre de cet article, je me permets de me référer à de bons éléments sur ce sujet .
Alors, passons directement aux paramètres.
Le schéma de connexion ressemblera à ceci:
VMWare 33.33.33.33 192.168.1.0/24
Linux 22.22.22.22 10.10.10.0/24
Let's encrypt vpn.linux.ext
PSK : ChangeMeNow!
Configuration de NSX Edge:
Texte
Enabled: yes
Enable perfect forward secrecy (PFS): yes
Name: VPN_strongswan (, )
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 — . , )
Digest Algorithm: SHA256
IKE Option: IKEv2
IKE Responder Only: no
Session Type: Policy Based Session
Captures d'écran
Personnalisation de Strongswan:
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!"
après cela, il suffit de relire la config, de démarrer la connexion et de vérifier qu'elle est établie:
ipsec update
ipsec rereadsecrets
ipsec up linux-nsx-psk
ipsec status
J'espère que ce petit article sera utile et permettra à quelqu'un de gagner quelques heures.