ΠΠΎΡΠ°Π΄ΠΈ ΡΠ΅Π΄ΠΈΡΠ° ΠΏΡΠΈΡΠΈΠ½ΠΈ Π±Π΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° VPN Π²ΡΡΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π²ΡΠ² VMWare Cloud Director ΠΈ ΠΎΡΠ΄Π΅Π»Π½Π° Ubuntu ΠΌΠ°ΡΠΈΠ½Π° Π² ΠΎΠ±Π»Π°ΠΊΠ°. ΠΠ΅Π»Π΅ΠΆΠΊΠ°ΡΠ° Π½Π΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΠΈΡΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ»Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΡΡ Π΅ ΡΠ°ΠΌΠΎ ΠΌΠ°Π»ΡΠΊ Π½Π°ΡΡΡΠ½ΠΈΠΊ.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° ΡΡΠ°ΡΠΈΡ Π½Π° ΡΠ°Π·ΠΈ ΡΠ΅ΠΌΠ° ΠΎΡ 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
ΠΠ°Π΄ΡΠ²Π°ΠΌ ΡΠ΅ ΡΠ°Π·ΠΈ ΠΌΠ°Π»ΠΊΠ° Π±Π΅Π»Π΅ΠΆΠΊΠ° Π΄Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΈ Π΄Π° ΡΠΏΠ΅ΡΡΠΈ Π½Π° Π½ΡΠΊΠΎΠ³ΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°ΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com