Π ΡΠΈΠ»Ρ ΡΡΠ΄Π° ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ VPN-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΡΡ Π² VMWare Cloud Director ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ Ubuntu Π² ΠΎΠ±Π»Π°ΠΊΠ΅. ΠΠ°ΠΌΠ΅ΡΠΊΠ° Π½Π΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅Ρ Π½Π° ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ howto.
Π ΡΠ΅ΡΠΈ Π½Π°ΡΠ»Π°ΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ 2015 Π³ΠΎΠ΄Π° Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ Β«
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½Π°ΠΏΡΡΠΌΡΡ Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, Ρ.ΠΊ. Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ½Π°Π΄ΡΠΆΠ½Π΅Π΅, Π½Π΅ ΡΠ°ΠΌΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°, Π΄Π° ΠΈ Π·Π° NAT-ΠΎΠΌ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ Π½Π΅ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π» Π±Ρ.
ΠΠΎΡΡΠΎΠΌΡ, ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΠ΅ΡΡΡ ΠΈ ΠΏΠΎΠΊΠΎΠΏΠ°ΡΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠ° ΠΎΡΠ½ΠΎΠ²Ρ Ρ Π²Π·ΡΠ» Π΄Π°Π²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΌΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ· Π»ΡΠ±ΠΎΠΉ ΠΠ‘ ΠΈ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΠΊ Π½Π΅ΠΌΡ ΠΊΡΡΠΎΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ NSX Edge.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° Strongswan Π²ΡΡ
ΠΎΠ΄ΡΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ Π·Π°ΠΌΠ΅ΡΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»Ρ ΡΠ΅Π±Π΅ ΡΠΎΡΠ»Π°ΡΡΡΡ Π½Π°
ΠΡΠ°ΠΊ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ.
Π‘Ρ Π΅ΠΌΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ 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
Π‘ΠΊΡΠΈΠ½ΡΠΎΡΡ
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ 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
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ Π·Π°ΠΌΠ΅ΡΠΊΠ° ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΠΊΠΎΠΌΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠ°ΡΡ ΡΠ°ΡΠΎΠ².
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com