vpn:linux_server_ikev2
Это старая версия документа!
Install packages
apt install strongswan strongswan-pki libcharon-extra-plugins netfilter-persistent iptables-persistent
Generate CA and certificates
ipsec pki --gen --type ecdsa --outform pem > vpn_ca_key.pem ipsec pki --self --in vpn_ca_key.pem --type ecdsa --dn "C=US, O=Testig Ltd., CN=Root CA" --ca --lifetime 3650 --outform pem > vpn_ca_cert.pem ipsec pki --gen --type ecdsa --outform pem > vpn_server_key.pem ipsec pki --pub --in vpn_server_key.pem --type ecdsa > vpn_server_pub_key.pem ipsec pki --issue --in vpn_server_pub_key.pem --lifetime 3650 --cacert vpn_ca_cert.pem --cakey vpn_ca_key.pem --dn "CN=FQDN" --san="FQDN" --flag serverAuth --flag ikeIntermediate --outform pem > vpn_server_cert.pem
Move certs
mv vpn_ca_cert.pem /etc/ipsec.d/cacerts/ mv vpn_server_cert.pem /etc/ipsec.d/certs/ mv vpn_server_key.pem /etc/ipsec.d/private/
Change ipsec conf
# cat /etc/ipsec.conf config setup strictcrlpolicy=no uniqueids=no conn ipsec-ikev2-vpn ike=aes256gcm16-aes192gcm16-chacha20poly1305-prfsha512-prfsha256-ecp521-ecp256,aes256-sha512-sha256-prfsha512-prfsha256-modp3072-modp2048-modp1024-ecp521! esp=aes256gcm16-aes192gcm16-chacha20poly1305-ecp521-ecp256-modp3072-modp2048,aes256-sha512-sha256-modp3072-modp2048! auto=add compress=no type=tunnel keyexchange=ikev2 fragmentation=yes forceencaps=yes dpdaction=clear dpddelay=300s rekey=no left=%any leftid=@FQDN leftcert=vpn_server_cert.pem leftsendcert=always leftsubnet=0.0.0.0/0 right=%any rightid=%any rightauth=eap-mschapv2 rightsourceip=172.16.15.2/24 rightdns=1.1.1.1,8.8.8.8 rightsendcert=always eap_identity=%identity
Change ipsec secrets conf
# cat /etc/ipsec.secrets : ECDSA vpn_server_key.pem USER1 : EAP "PASSWORD1" USER2 : EAP "PASSWORD2" ...
Add changes to sysctl
net.ipv4.ip_forward = 1 net.ipv4.ip_no_pmtu_disc = 1
Iptables rules
iptables -t nat -A POSTROUTING -s 172.16.15.0/24 ! -d 172.16.15.0/24 -j SNAT --to-source SERVER_IP iptables -t mangle -A FORWARD -s 172.16.15.0/24 -o SERVER_MAIN_ETH -p tcp -m policy --dir in --pol ipsec -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360
Clients must connect to FQDN.
vpn/linux_server_ikev2.1632058352.txt.gz · Последнее изменение: — bers
