LINUX.ORG.RU
решено ФорумAdmin

ipsec+l2tp: tcp/udp не работает

 , ,


0

1

Привет ЛОР. Может ты поможешь мне. В общем, ситуация следущая. Есть рабочая сеть доступная извне через связку ipsec+l2tp. Все замечательно работало, потом я обновил домашнюю машинку, заботливо перенеся конфиги на новое место. В итоге я подключаюсь к сети, интерфейс отлично поднимается, все пингается, но ничего не работает по tcp/udp протоколам - не резолвятся домены, не работает трасса (она вроде же тоже по udp?), нет возможности подключится по ssh:

debug1: Authenticating to work_server:22 as 'user'
debug3: hostkeys_foreach: reading file "/home/homeuser/.ssh/known_hosts"
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent

и после этого висит. tcpdump на сервере в рабочей сети говорит, что видит несколько пакетов, которые приходят с домашней машины:

# tcpdump -nn host home_ppp0_ip -vvv
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
14:05:53.441903 IP (tos 0x0, ttl 62, id 34452, offset 0, flags [DF], proto TCP (6), length 60)
    home_ppp0_ip.48322 > work_server.22: Flags [S], cksum 0x28b0 (correct), seq 3145780679, win 23200, options [mss 1160,sackOK,TS val 2821762757 ecr 0,nop,wscale 7], length 0
14:05:53.441903 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    work_server.22 > home_ppp0_ip.48322: Flags [S.], cksum 0x28f3 (incorrect -> 0xf7cb), seq 725852319, ack 3145780680, win 14480, options [mss 1338,sackOK,TS val 1497443597 ecr 2821762757,nop,wscale 7], length 0
14:05:53.471903 IP (tos 0x0, ttl 62, id 34453, offset 0, flags [DF], proto TCP (6), length 52)
    home_ppp0_ip.48322 > work_server.22: Flags [.], cksum 0x5ddc (correct), seq 1, ack 1, win 182, options [nop,nop,TS val 2821762785 ecr 1497443597], length 0
14:05:53.471903 IP (tos 0x0, ttl 64, id 36272, offset 0, flags [DF], proto TCP (6), length 73)
    work_server.22 > home_ppp0_ip.48322: Flags [P.], cksum 0x9757 (correct), seq 1:22, ack 1, win 114, options [nop,nop,TS val 1497443600 ecr 2821762785], length 21
14:05:53.501903 IP (tos 0x0, ttl 62, id 34455, offset 0, flags [DF], proto TCP (6), length 52)
    home_ppp0_ip.48322 > work_server.22: Flags [.], cksum 0x5d86 (correct), seq 33, ack 22, win 182, options [nop,nop,TS val 2821762815 ecr 1497443600], length 0

и после этого тишина, хотя домашняя машина продолжает долбится - это видно tcpdump`ом на ppp0 интерфейсе.

Без ipsec/l2tp ssh отлично работает. ethtool-ом offload включал/отключал, mtu понижал - не помогло.

UPD: проблема только с TCP соединениями, в ядре, патч: https://lkml.org/lkml/2017/4/28/109 в данный момент в 4.11.3 его еще нет. После добавления 3-х строк и пересборки ядра все заработало.

★★★★★

Последнее исправление: leg0las (всего исправлений: 3)

обновил домашнюю машинку

В небо.
1. А ipsec не strongswan ? Они любят косяки от версии к версии устраивать.
2. fw на обновленной?
3. посмотреть используя nc, что скажет?

anc ★★★★★
()
Ответ на: комментарий от anc

1. strongswan, версия не менялась. 2. такая же, как и на старой системе. 3. погляжу.

leg0las ★★★★★
() автор топика
Ответ на: комментарий от anc

В общем, путем проверок, выяснилось, что не ходят TCP пакеты - UDP/ICMP все ок, а если инициализируется TCP, то бегают почему-то только мелкие пакеты.

На старой машине было 4.9 ядро, на новой - 4.11, брал его, чтобы избежать вероятности того, что какое-то железо не поддерживается. Проблема именно в нем: https://lkml.org/lkml/2017/4/28/109 - после добавления 3-х строк из патча и пересборки, все отлично заработало. Как я понял, патч примут в mainstream на этой неделе, когда он будет зарелизен - хз, в 4.11.3 его еще нет.

leg0las ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.