Pour diverses raisons, il a été nécessaire d'organiser une connexion VPN entre le réseau dans VMWare Cloud Director et une machine Ubuntu distincte dans le cloud. Cette note ne prétend pas être une description exhaustive, mais simplement un petit guide pratique.

Sur le réseau, j'ai trouvé l'unique article de 2015 à ce sujet «».
Malheureusement, je n'ai pas pu l'utiliser directement, car je souhaitais un chiffrement plus solide, pas de certificat auto-signé, et le configuration décrite ne fonctionnerait pas derrière NAT.
Par conséquent, j'ai dû m'asseoir et plonger dans la documentation.
J'ai pris comme base une configuration que j'ai utilisée depuis longtemps, permettant de se connecter depuis presque tous les systèmes d'exploitation, et j'y ai simplement ajouté un morceau permettant de se connecter à NSX Edge.
Puisque l'installation et la configuration complète du serveur Strongswan dépassent le cadre de cette note, je me permets de renvoyer à .
Alors, passons directement aux configurations.
Le schéma de la connexion sera le suivant :

du côté de VMWare l'adresse externe 33.33.33.33 et le réseau interne 192.168.1.0/24
du côté de Linux l'adresse externe 22.22.22.22 et le réseau interne 10.10.10.0/24
il faudra également configurer un certificat Let's Encrypt pour l'adresse vpn.linux.ext
PSK des deux côtés : ChangeMeNow!Configuration du côté de NSX Edge :
Texte
Activé : oui
Activer la parfaite confidentialité des clés (PFS) : oui
Nom : VPN_strongswan (choisissez ce que vous voulez)
Id local : 33.33.33.33
Point de terminaison local : 33.33.33.33
Sous-réseaux locaux : 192.168.1.0/24
Id de pair : vpn.linux.ext
Point de terminaison de pair : 22.22.22.22
Sous-réseaux de pair : 10.10.10.0/24
Algorithme de chiffrement : AES256
Authentification : PSK
Clé partagée préalablement : ChangeMeNow!
Groupe Diffie-Hellman : 14 (2048 bits — un compromis acceptable entre vitesse et sécurité. Mais si vous le souhaitez, vous pouvez en mettre un plus élevé)
Algorithme de résumé : SHA256
Option IKE : IKEv2
Répondant IKE uniquement : non
Type de session : Session basée sur la politique Captures d'écran


Configuration du côté 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=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!"Après cela, il suffit de relire la configuration, 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 cette petite note sera utile et fera gagner quelques heures à quelqu'un.
Source : habr.com
