VPN Сервер (debian, strongswan+xl2tpd) получает но не декодирует ESP пакеты
Хеллоу.
Есть VPN-сервер под Debian 10 на strongSwan 5.7.2 xl2tpd 1.3.12 со следующими конфигами
/etc/ipsec.conf
config setup
charondebug="dmn 4, mgr 4, ike 4, chd 4, job 4, cfg 4, knl 4, net 4, asn 4, enc 4, lib 4, esp 4, tls 4, tnc 4, imc 4, imv 4, pts 4"
conn vpnserver
authby=secret
auto=add
compress=no
forceencaps=yes
type=transport
left={vpnserver IP}
replay_window=0
leftprotoport=17/1701
right=%any
rightprotoport=17/%any
ike=3des-md5-modp1024,3des-sha-modp1024,3des-sha256-modp1024
esp=3des-md5,3des-sha,3des-sha256,3des-sha384,3des-sha512
rekey=no
/etc/xl2tpd/xl2tpd.conf
[global]
ipsec saref = yes
listen-addr = {vpnserver IP}
[lns default]
ip range = 10.1.2.3-10.1.2.25
local ip = 10.1.2.2
require chap = yes
refuse pap = yes
ppp debug = yes
require authentication = yes
pppoptfile = /etc/ppp/options.xl2tpd
/etc/ppp/options.xl2tpd
name vpnserver
auth
require-mschap-v2
ms-dns 10.1.2.1
mtu 1372
Подключение успешно устанавливается и как будто бы всё хорошо. Но если со стороны клиента сделать ping 10.1.2.2 -l 321, то получается такая штука
27 Client IP Server IP ESP 448 ESP (SPI=0xc77bcd31)
45 Client IP Server IP ESP 448 ESP (SPI=0xc77bcd31)
46 10.1.2.3 10.1.2.2 ICMP 365 Echo (ping) request id=0x0001, seq=2171/31496, ttl=127 (reply in 47)
47 10.1.2.2 10.1.2.3 ICMP 365 Echo (ping) reply id=0x0001, seq=2171/31496, ttl=64 (request in 46)
48 Server IP Client IP ESP 448 ESP (SPI=0xcdd4a265)
52 Client IP Server IP ESP 448 ESP (SPI=0xc77bcd31)
То есть ESP пакеты доходят до сервера и на этом всё благополучно заканчивается.
Если же сделать просто ping 10.1.2.2, то всё хорошо:
65 Client IP Server IP ESP 152 ESP (SPI=0xc77bcd31)
66 10.1.2.3 10.1.2.2 ICMP 76 Echo (ping) request id=0x0001, seq=2173/32008, ttl=127 (reply in 67)
67 10.1.2.2 10.1.2.3 ICMP 76 Echo (ping) reply id=0x0001, seq=2173/32008, ttl=64 (request in 66)
68 Server IP Client IP ESP 152 ESP (SPI=0xcdd4a265)
72 Client IP Server IP ESP 152 ESP (SPI=0xc77bcd31)
73 10.1.2.3 10.1.2.2 ICMP 76 Echo (ping) request id=0x0001, seq=2174/32264, ttl=127 (reply in 74)
74 10.1.2.2 10.1.2.3 ICMP 76 Echo (ping) reply id=0x0001, seq=2174/32264, ttl=64 (request in 73)
75 Server IP Client IP ESP 152 ESP (SPI=0xcdd4a265)
80 Client IP Server IP ESP 152 ESP (SPI=0xc77bcd31)
81 10.1.2.3 10.1.2.2 ICMP 76 Echo (ping) request id=0x0001, seq=2175/32520, ttl=127 (reply in 82)
82 10.1.2.2 10.1.2.3 ICMP 76 Echo (ping) reply id=0x0001, seq=2175/32520, ttl=64 (request in 81)
83 Server IP Client IP ESP 152 ESP (SPI=0xcdd4a265)
86 Client IP Server IP ESP 152 ESP (SPI=0xc77bcd31)
87 10.1.2.3 10.1.2.2 ICMP 76 Echo (ping) request id=0x0001, seq=2176/32776, ttl=127 (reply in 88)
88 10.1.2.2 10.1.2.3 ICMP 76 Echo (ping) reply id=0x0001, seq=2176/32776, ttl=64 (request in 87)
89 Server IP Client IP ESP 152 ESP (SPI=0xcdd4a265)
Ещё один нюанс заключается в том, что это всё происходит только если подключение установлено с точки доступа Zyxel. Если подключаться с ноута напрямую, то всё в порядке. Параметры подключения на точке доступа стандартные и там ничего кроме IP сервера и пароля не указывается. Других там настроект практически нет. Только MTU, но он не влияет, т.к. речь идёт о мелких пакетах.
Если у кого-нибудь есть идеи, почему это происходит, то буду очень благодарен.
С уважением, Даниил.