@WSGlebKavash

Как настроить L2TP/IPsec VPN-сервер на Ubuntu?

ipsec.conf [основной сервер]
# ipsec.conf - strongSwan IPsec configuration file

# basic configuration

config setup
	# strictcrlpolicy=yes
	# uniqueids = no
	nat_traversal=yes 
 	virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12 

# Add connections here.

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 - local (server) side
	left=%any
	leftauth=pubkey
	leftcert=server.crt
	leftsendcert=always
	leftsubnet=0.0.0.0/0,::/0

	# right - remote (client) side
	right=%any
	rightauth=pubkey
	rightsourceip=192.168.103.0/24,fd46:61f7:22d5:6::/64
	rightdns=8.8.8.8,2001:4860:4860::8888

conn ikev2-pubkey
	keyexchange=ikev2
	auto=add

conn ikev2-pubkey-osx
	also="ikev2-pubkey"
	leftid=domain.org

conn ikev1-fakexauth
	keyexchange=ikev1
	rightauth2=xauth
	auto=add

conn ikev2-eap-tls
	also="ikev2-pubkey"
	rightauth=eap-tls
	eap_identity=%identity

conn l2tpvpn
        type=transport
        authby=rsasig
        pfs=no
        rekey=no
        keyingtries=2
        left=%any
        leftprotoport=udp/l2tp
        leftid=@l2tpvpnserver
        right=%any
        rightprotoport=udp/%any
        auto=add

# Sample VPN connections

#conn sample-self-signed
#      leftsubnet=10.1.0.0/16
#      leftcert=selfCert.der
#      leftsendcert=never
#      right=192.168.0.2
#      rightsubnet=10.2.0.0/16
#      rightcert=peerCert.der
#      auto=start

#conn sample-with-ca-cert
#      leftsubnet=10.1.0.0/16
#      leftcert=myCert.pem
#      right=192.168.0.2
#      rightsubnet=10.2.0.0/16
#      rightid="C=CH, O=Linux strongSwan CN=peer name"
#      auto=start
ipsec.conf [тестовый сервер]
version 2.0
config setup
  virtual-private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!192.168.102.0/24,%v4:!192.168.103.0/24
  uniqueids=no
conn shared
  left=%defaultroute
  leftid=XXX.XXX.XXX.XXX
  right=%any
  encapsulation=yes
  authby=secret
  pfs=no
  rekey=no
  keyingtries=5
  dpddelay=30
  dpdtimeout=300
  dpdaction=clear
  ikev2=never
  ike=aes256-sha2;modp2048,aes128-sha2;modp2048,aes256-sha1;modp2048,aes128-sha1;modp2048
  phase2alg=aes_gcm-null,aes128-sha1,aes256-sha1,aes256-sha2_512,aes128-sha2,aes256-sha2
  ikelifetime=24h
  salifetime=24h
  sha2-truncbug=no
conn l2tp-psk
  auto=add
  leftprotoport=17/1701
  rightprotoport=17/%any
  type=transport
  also=shared
conn xauth-psk
  auto=add
  leftsubnet=0.0.0.0/0
  rightaddresspool=192.168.103.10-192.168.103.120
  modecfgdns="8.8.8.8 8.8.4.4"
  leftxauthserver=yes
  rightxauthclient=yes
  leftmodecfgserver=yes
  rightmodecfgclient=yes
  modecfgpull=yes
  cisco-unity=yes
  also=shared
include /etc/ipsec.d/*.conf

Software:
Ubuntu 22.04 LTS
Strongswan
xl2tp
На основном сервере работают IKEv2 и "IPsec XAuth RSA", но не работает "L2TP/IPsec RSA" (L2TP/IPsec с сертификатом). Для диагностики был развёрнут тестовый сервер с официальными конфигами от xelerance. Результат то-же. В логи Strongswan пишет всякий мусор, а xl2tp вообще не подаёт признаков жизни, как будто к нему никто не подключается.
В чём может быть дело и как правильно настроить L2TP/IPsec на Linux?
Что в итоге должно получиться:
IKEv2 VPN-сервер с аутентификацией по сертификатам. IPsec VPN-сервер с аутентификацией по сертификатам. L2TP/IPsec VPN-сервер с сертификатом и аутентификацией через ActiveDirectory.
  • Вопрос задан
  • 2089 просмотров
Пригласить эксперта
Ответы на вопрос 1
r3dix0r
@r3dix0r
Я конечно не специалист,но чем вам не угодил Wireguard? Куча скриптов с настройкой,веб мордой и прочим стафом.
Например: https://github.com/donaldzou/WGDashboard
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы