NAT เจ…เจคเฉ‡ VMWare NSX Edge เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ Strongswan เจตเจฟเจšเจ•เจพเจฐ IPSec เจธเฉเจฐเฉฐเจ—

เจ•เจˆ เจ•เจพเจฐเจจเจพเจ‚ เจ•เจฐเจ•เฉ‡, VMWare เจ•เจฒเจพเจ‰เจก เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐ เจตเจฟเฉฑเจš เจจเฉˆเจŸเจตเจฐเจ• เจ…เจคเฉ‡ เจ•เจฒเจพเจ‰เจก เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจ‰เจฌเฉฐเจŸเฉ‚ เจฎเจธเจผเฉ€เจจ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจ‡เฉฑเจ• VPN เจ•เจจเฉˆเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเฉ€เฅค เจจเฉ‹เจŸ เจ‡เฉฑเจ• เจชเฉ‚เจฐเจพ เจตเฉ‡เจฐเจตเจพ เจนเฉ‹เจฃ เจฆเจพ เจฆเจฟเจ–เจพเจตเจพ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ, เจ‡เจน เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจœเจฟเจนเจพ เจคเจฐเฉ€เจ•เจพ เจนเฉˆเฅค

NAT เจ…เจคเฉ‡ VMWare NSX Edge เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ Strongswan เจตเจฟเจšเจ•เจพเจฐ IPSec เจธเฉเจฐเฉฐเจ—

2015 เจคเฉ‹เจ‚ เจ‡เจธ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจ‡เจ•เฉ‹ เจ‡เจ• เจฒเฉ‡เจ– เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ 'เจคเฉ‡ เจชเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€ "NSX Edge เจ…เจคเฉ‡ Linux strongSwan เจตเจฟเจšเจ•เจพเจฐ เจธเจพเจˆเจŸ เจคเฉ‹เจ‚ เจธเจพเจˆเจŸ IPSEC VPN".

เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจ‡เจธเจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเจฃเจพ เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจธเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ... เจฎเฉˆเจ‚ เจตเจงเฉ‡เจฐเฉ‡ เจญเจฐเฉ‹เจธเฉ‡เจฎเฉฐเจฆ เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจšเจพเจนเฉเฉฐเจฆเจพ เจธเฉ€, เจจเจพ เจ•เจฟ เจ‡เฉฑเจ• เจธเจตเฉˆ-เจฆเจธเจคเจ–เจค เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ, เจ…เจคเฉ‡ เจตเจฐเจฃเจจ เจ•เฉ€เจคเฉ€ เจธเฉฐเจฐเจšเจจเจพ NAT เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เฉ€.

เจ‡เจธ เจฒเจˆ, เจฎเฉˆเจจเฉ‚เฉฐ เจฌเฉˆเจ  เจ•เฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเฉ€ เจ–เฉ‹เจœ เจ•เจฐเจจเฉ€ เจชเจˆเฅค

เจ‡เฉฑเจ• เจ…เจงเจพเจฐ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡, เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจธเฉฐเจฐเจšเจจเจพ เจฒเจฟเจ† เจœเฉ‹ เจฎเฉˆเจ‚ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ เจตเจฐเจค เจฐเจฟเจนเจพ เจธเฉ€, เจœเฉ‹ เจฎเฉˆเจจเฉ‚เฉฐ เจฒเจ—เจญเจ— เจ•เจฟเจธเฉ‡ เจตเฉ€ OS เจคเฉ‹เจ‚ เจœเฉเฉœเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจฌเจธ เจ‡เฉฑเจ• เจŸเฉเจ•เฉœเจพ เจœเฉ‹เฉœเจฟเจ† เจœเฉ‹ เจฎเฉˆเจจเฉ‚เฉฐ NSX Edge เจจเจพเจฒ เจœเฉเฉœเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ.

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจŸเฉเจฐเฉ‹เจ‚เจ—เจธเจตเจพเจจ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเจจเจพ เจ‡เจธ เจจเฉ‹เจŸ เจฆเฉ‡ เจฆเจพเจ‡เจฐเฉ‡ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจนเฉˆ, เจ†เจ“ เจฎเฉˆเจ‚ เจ‡เจธ เจฆเจพ เจนเจตเจพเจฒเจพ เจฆเจฟเฉฐเจฆเจพ เจนเจพเจ‚ เจ‡เจธ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจšเฉฐเจ—เฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€.

เจ‡เจธ เจฒเจˆ, เจ†เจ“ เจธเจฟเฉฑเจงเฉ‡ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ 'เจคเฉ‡ เจšเฉฑเจฒเฉ€เจเฅค

เจธเจพเจกเจพ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจšเจฟเฉฑเจคเจฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡เจตเฉ‡เจ—เจพ:

NAT เจ…เจคเฉ‡ VMWare NSX Edge เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ Strongswan เจตเจฟเจšเจ•เจพเจฐ 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 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

เจธเจ•เจฐเฉ€เจจเจธเจผเจพเจŸ
NAT เจ…เจคเฉ‡ VMWare NSX Edge เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ Strongswan เจตเจฟเจšเจ•เจพเจฐ IPSec เจธเฉเจฐเฉฐเจ—
NAT เจ…เจคเฉ‡ VMWare NSX Edge เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ Strongswan เจตเจฟเจšเจ•เจพเจฐ IPSec เจธเฉเจฐเฉฐเจ—

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

เจ‰เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจชเฉœเฉเจนเฉ‹, เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจœเจพเจ‚เจš เจ•เจฐเฉ‹ เจ•เจฟ เจ‡เจน เจธเจฅเจพเจชเจฟเจค เจนเฉˆ:

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

เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ›เฉ‹เจŸเจพ เจœเจฟเจนเจพ เจจเฉ‹เจŸ เจฎเจฆเจฆเจ—เจพเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ•เจฟเจธเฉ‡ เจจเฉ‚เฉฐ เจ•เฉเจ เจ˜เฉฐเจŸเฉ‡ เจฌเจšเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹