IPSec σήραγγα μεταξύ του Strongswan πίσω από το NAT και το VMWare NSX Edge

Για διάφορους λόγους, ήταν απαραίτητο να οργανωθεί μια σύνδεση VPN μεταξύ του δικτύου στο VMWare Cloud Director και μιας ξεχωριστής μηχανής Ubuntu στο cloud. Η σημείωση δεν προσποιείται ότι είναι μια πλήρης περιγραφή, είναι απλώς ένα μικρό πώς.

IPSec σήραγγα μεταξύ του Strongswan πίσω από το NAT και το VMWare NSX Edge

Το μόνο άρθρο για αυτό το θέμα από το 2015 βρέθηκε στο Διαδίκτυο "Ιστότοπος σε ιστότοπο IPSEC VPN μεταξύ NSX Edge και Linux strongSwan».

Δυστυχώς, δεν ήταν δυνατή η άμεση χρήση του, γιατί... Ήθελα πιο αξιόπιστη κρυπτογράφηση, όχι ένα αυτο-υπογεγραμμένο πιστοποιητικό και η περιγραφόμενη διαμόρφωση δεν θα είχε λειτουργήσει πίσω από το NAT.

Ως εκ τούτου, έπρεπε να καθίσω και να εμβαθύνω στην τεκμηρίωση.

Ως βάση, πήρα μια διαμόρφωση που χρησιμοποιούσα για μεγάλο χρονικό διάστημα, η οποία μου επιτρέπει να συνδεθώ από σχεδόν οποιοδήποτε λειτουργικό σύστημα, και απλά πρόσθεσα ένα κομμάτι σε αυτό που μου επιτρέπει να συνδεθώ στο NSX Edge.

Δεδομένου ότι η εγκατάσταση και η πλήρης διαμόρφωση του διακομιστή Strongswan είναι πέρα ​​από το πεδίο εφαρμογής αυτής της σημείωσης, επιτρέψτε μου να αναφερθώ στο καλό υλικό για αυτό το θέμα.

Λοιπόν, ας περάσουμε απευθείας στις ρυθμίσεις.

Το διάγραμμα σύνδεσής μας θα μοιάζει με αυτό:

IPSec σήραγγα μεταξύ του Strongswan πίσω από το NAT και το VMWare NSX Edge

со стороны 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!

Διαμόρφωση από το NSX Edge:

Κείμενο

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

Στιγμιότυπα
IPSec σήραγγα μεταξύ του Strongswan πίσω από το NAT και το VMWare NSX Edge
IPSec σήραγγα μεταξύ του Strongswan πίσω από το NAT και το VMWare NSX Edge

Ρύθμιση από το 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.μυστικό

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

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

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

Μετά από αυτό, απλώς διαβάστε ξανά τη διαμόρφωση, ξεκινήστε τη σύνδεση και ελέγξτε ότι έχει δημιουργηθεί:

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

Ελπίζω αυτή η μικρή σημείωση να είναι χρήσιμη και να σώσει κάποιον για μερικές ώρες.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο