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 рдПрдЬ рд╡рд░реВрди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди:

рдордЬрдХреВрд░

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛