NAT เช…เชจเซ‡ VMWare NSX เชเชœ เชชเชพเช›เชณ เชธเซเชŸเซเชฐเซ‹เช‚เช—เชธเซเชตเชพเชจ เชตเชšเซเชšเซ‡ IPSec เชŸเชจเชฒ

เชธเช‚เช–เซเชฏเชพเชฌเช‚เชง เช•เชพเชฐเชฃเซ‹เชธเชฐ, VMWare เช•เซเชฒเชพเช‰เชก เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเชฎเชพเช‚ เชจเซ‡เชŸเชตเชฐเซเช• เช…เชจเซ‡ เช•เซเชฒเชพเช‰เชกเชฎเชพเช‚ เช…เชฒเช— เช‰เชฌเซเชจเซเชŸเซ เชฎเชถเซ€เชจ เชตเชšเซเชšเซ‡ VPN เช•เชจเซ‡เช•เซเชถเชจ เช—เซ‹เช เชตเชตเซเช‚ เชœเชฐเซ‚เชฐเซ€ เชนเชคเซเช‚. เชจเซ‹เช‚เชง เชธเช‚เชชเซ‚เชฐเซเชฃ เชตเชฐเซเชฃเชจ เชนเซ‹เชตเชพเชจเซ‹ เชกเซ‹เชณ เช•เชฐเชคเซ€ เชจเชฅเซ€, เชคเซ‡ เชฎเชพเชคเซเชฐ เชเช• เชจเชพเชจเซ€ เชฐเซ€เชค เช›เซ‡.

NAT เช…เชจเซ‡ VMWare NSX เชเชœ เชชเชพเช›เชณ เชธเซเชŸเซเชฐเซ‹เช‚เช—เชธเซเชตเชพเชจ เชตเชšเซเชšเซ‡ IPSec เชŸเชจเชฒ

2015 เชฅเซ€ เช† เชตเชฟเชทเชฏ เชชเชฐเชจเซ‹ เชเช•เชฎเชพเชคเซเชฐ เชฒเซ‡เช– เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชชเชฐ เชฎเชณเซเชฏเซ‹ เชนเชคเซ‹ โ€œNSX Edge เช…เชจเซ‡ Linux strongSwan เชตเชšเซเชšเซ‡ เชธเชพเช‡เชŸ เชŸเซ เชธเชพเช‡เชŸ IPSEC VPNยป.

เช•เชฎเชจเชธเซ€เชฌเซ‡, เชคเซ‡เชจเซ‹ เชธเซ€เชงเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชถเช•เซเชฏ เชจเชนเซ‹เชคเซเช‚, เช•เชพเชฐเชฃ เช•เซ‡... เชนเซเช‚ เชตเชงเซ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชเชจเซเช•เซเชฐเชฟเชชเซเชถเชจ เช‡เชšเซเช›เชคเซ‹ เชนเชคเซ‹, เชธเซเชต-เชนเชธเซเชคเชพเช•เซเชทเชฐเชฟเชค เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชจเชนเซ€เช‚, เช…เชจเซ‡ เชตเชฐเซเชฃเชตเซ‡เชฒ เชฐเซ‚เชชเชฐเซ‡เช–เชพ NAT เชชเชพเช›เชณ เช•เชพเชฎ เช•เชฐเซ€ เชถเช•เชคเซ€ เชจเชฅเซ€.

เชคเซ‡เชฅเซ€, เชฎเชพเชฐเซ‡ เชฌเซ‡เชธเซ€เชจเซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃเชจเซ€ เชคเชชเชพเชธ เช•เชฐเชตเซ€ เชชเชกเซ€.

เชเช• เช†เชงเชพเชฐ เชคเชฐเซ€เช•เซ‡, เชฎเซ‡เช‚ เชเช• เชฐเซ‚เชชเชฐเซ‡เช–เชพ เชฒเซ€เชงเซ€ เชœเซ‡เชจเซ‹ เชนเซเช‚ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เชนเชคเซ‹, เชœเซ‡ เชฎเชจเซ‡ เชฒเช—เชญเช— เช•เซ‹เชˆเชชเชฃ OS เชฅเซ€ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชซเช•เซเชค เชเช• เชญเชพเช— เช‰เชฎเซ‡เชฐเซเชฏเซ‹ เช›เซ‡ เชœเซ‡ เชฎเชจเซ‡ NSX เชเชœ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เช•เชพเชฐเชฃ เช•เซ‡ เชธเซเชŸเซเชฐเซ‹เช‚เช—เชธเซเชตเชพเชจ เชธเชฐเซเชตเชฐเชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช…เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชฐเซ€เชคเซ‡ เช—เซ‹เช เชตเชตเชพเชจเซเช‚ เช† เชจเซ‹เช‚เชงเชจเชพ เช…เชตเช•เชพเชถเชจเซ€ เชฌเชนเชพเชฐ เช›เซ‡, เชšเชพเชฒเซ‹ เชนเซเช‚ เชคเซ‡เชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เชฒเชˆเชถ เช† เชตเชฟเชทเชฏ เชชเชฐ เชธเชพเชฐเซ€ เชธเชพเชฎเช—เซเชฐเซ€.

เชคเซ‡เชฅเซ€, เชšเชพเชฒเซ‹ เชธเซ€เชงเชพ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชชเชฐ เชœเชˆเช.

เช…เชฎเชพเชฐเซเช‚ เช•เชจเซ‡เช•เซเชถเชจ เชกเชพเชฏเชพเช—เซเชฐเชพเชฎ เช†เชจเชพ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชถเซ‡:

NAT เช…เชจเซ‡ VMWare NSX เชเชœ เชชเชพเช›เชณ เชธเซเชŸเซเชฐเซ‹เช‚เช—เชธเซเชตเชพเชจ เชตเชšเซเชšเซ‡ IPSec เชŸเชจเชฒ

ัะพ ัั‚ะพั€ะพะฝั‹ 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 เชเชœเชฅเซ€ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ:

เชŸเซ‡เช•เซเชธเซเชŸ

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

เชธเซเช•เซเชฐเซ€เชจเชถเซ‹เชŸ
NAT เช…เชจเซ‡ VMWare NSX เชเชœ เชชเชพเช›เชณ เชธเซเชŸเซเชฐเซ‹เช‚เช—เชธเซเชตเชพเชจ เชตเชšเซเชšเซ‡ IPSec เชŸเชจเชฒ
NAT เช…เชจเซ‡ VMWare NSX เชเชœ เชชเชพเช›เชณ เชธเซเชŸเซเชฐเซ‹เช‚เช—เชธเซเชตเชพเชจ เชตเชšเซเชšเซ‡ IPSec เชŸเชจเชฒ

เชธเซเชŸเซเชฐเซ‹เช‚เช—เชธเซเชตเชพเชจเชฅเซ€ เชธเซ‡เชŸเช…เชช:

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!"

เชคเซ‡ เชชเช›เซ€, เชซเช•เซเชค เชฐเซ‚เชชเชฐเซ‡เช–เชพเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชตเชพเช‚เชšเซ‹, เช•เชจเซ‡เช•เซเชถเชจ เชถเชฐเซ‚ เช•เชฐเซ‹ เช…เชจเซ‡ เชคเชชเชพเชธเซ‹ เช•เซ‡ เชคเซ‡ เชธเซเชฅเชพเชชเชฟเชค เชฅเชฏเซ‡เชฒ เช›เซ‡:

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

เชนเซเช‚ เช†เชถเชพ เชฐเชพเช–เซเช‚ เช›เซเช‚ เช•เซ‡ เช† เชจเชพเชจเซ€ เชจเซ‹เช‚เชง เชฎเชฆเชฆเชฐเซ‚เชช เชฅเชถเซ‡ เช…เชจเซ‡ เช•เซ‹เชˆเชจเซ‡ เชฅเซ‹เชกเชพ เช•เชฒเชพเช•เซ‹ เชฌเชšเชพเชตเชถเซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹