LINUX.ORG.RU

VPN Сервер (debian, strongswan+xl2tpd) получает но не декодирует ESP пакеты

 , , ,


0

1

Хеллоу.

Есть 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, но он не влияет, т.к. речь идёт о мелких пакетах.

Если у кого-нибудь есть идеи, почему это происходит, то буду очень благодарен.

С уважением, Даниил.

Только сейчас заметил, что есть ветка Admin, куда эта тема больше подходит. Модераторы, если не сложно, переместите пожалуйста её туда.

datswd ()

Вопрос решился, всем спасибо! Нужно убрать 3DES из списка ESP в конфиге ipsec.conf.

Кто именно косякнулся с реализацией этого алгоритма: StrongSwan или ZyXEL, без понятия. Главное, что работает.

Ура!

datswd ()