NAT рд░ VMWare NSX Edge рдкрдЫрд╛рдбрд┐ Strongswan рдмреАрдЪ IPSec рд╕реБрд░реБрдЩ

рдзреЗрд░реИ рдХрд╛рд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рдпреЛ VMWare рдХреНрд▓рд╛рдЙрдб рдирд┐рд░реНрджреЗрд╢рдХрдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рд░ рдХреНрд▓рд╛рдЙрдбрдорд╛ рдЫреБрдЯреНрдЯреИ Ubuntu рдореЗрд╕рд┐рди рдмреАрдЪ VPN рдЬрдбрд╛рди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛред рдиреЛрдЯрд▓реЗ рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдгрдХреЛ рдмрд╣рд╛рдирд╛ рдЧрд░реНрджреИрди, рдпреЛ рдХреЗрд╡рд▓ рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рддрд░рд┐рдХрд╛ рд╣реЛред

NAT рд░ VMWare NSX Edge рдкрдЫрд╛рдбрд┐ Strongswan рдмреАрдЪ IPSec рд╕реБрд░реБрдЩ

2015 рдмрд╛рдЯ рдпрд╕ рд╡рд┐рд╖рдпрдорд╛ рдорд╛рддреНрд░ рд▓реЗрдЦ рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рдлреЗрд▓рд╛ рдкрд░реНрдпреЛ "рд╕рд╛рдЗрдЯ рдЯреВ рд╕рд╛рдЗрдЯ IPSEC VPN NSX Edge рд░ Linux strongSwan рдмреАрдЪ"ред

рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдпреЛ рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдореНрднрд╡ рдерд┐рдПрди, рдХрд┐рдирднрдиреЗ ... рдо рдЕрдзрд┐рдХ рднрд░рдкрд░реНрджреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЪрд╛рд╣рд╛рдиреНрдЫреБ, рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╣реЛрдЗрди, рд░ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рдирд▓реЗ NAT рдкрдЫрд┐ рдХрд╛рдо рдЧрд░реНрдиреЗ рдерд┐рдПрдиред

рддрд╕рд░реНрде, рдореИрд▓реЗ рдмрд╕реЗрд░ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рдЦреЛрдЬреНрдиреБрдкрд░реНтАНрдпреЛред

рдЖрдзрд╛рд░рдХреЛ рд░реВрдкрдорд╛, рдореИрд▓реЗ рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд▓рд┐рдПрдБ, рдЬрд╕рд▓реЗ рдорд▓рд╛рдИ рд▓рдЧрднрдЧ рдХреБрдиреИ рдкрдирд┐ OS рдмрд╛рдЯ рдЬрдбрд╛рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рд░ рдпрд╕рдорд╛ рдПрдЙрдЯрд╛ рдЯреБрдХреНрд░рд╛ рдердкреЗрдХреЛ рдЫ рдЬрд╕рд▓реЗ рдорд▓рд╛рдИ NSX Edge рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

Strongswan рд╕рд░реНрднрд░ рд╕реНрдерд╛рдкрдирд╛ рд░ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗ рдпрд╕ рдиреЛрдЯрдХреЛ рджрд╛рдпрд░рд╛рднрдиреНрджрд╛ рдмрд╛рд╣рд┐рд░ рдЫ, рдорд▓рд╛рдИ рд╕рдиреНрджрд░реНрдн рдЧрд░реНрди рджрд┐рдиреБрд╣реЛрд╕реН рдпрд╕ рд╡рд┐рд╖рдпрдорд╛ рд░рд╛рдореНрд░реЛ рд╕рд╛рдордЧреНрд░реА.

рддреНрдпрд╕реЛрднрдП, рд╕рд┐рдзреИ рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдорд╛ рдЬрд╛рдФрдВред

рд╣рд╛рдореНрд░реЛ рдЬрдбрд╛рди рд░реЗрдЦрд╛рдЪрд┐рддреНрд░ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреЗрдЫ:

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди