Перейти к содержимому
Калькуляторы

xl2tpd перестает принимать трафик от mpd5.

Сервер mpd-5.6, проверялся на разных серверах с amd64 RELEASE 8.3, 9.0, 9.1, сетевыми bge и igb. NAT на pf.

Первоначально проблема была обнаружена на wifi-роутерах, на которых периодически отваливался интернет через l2tp.

Попробовал подключиться с рабочей машины(debian6 3.2.0-0.bpo.4-amd64) через xl2tpd (1.2.6 и 1.3.1) - через несколько минут после включения торрент-клиента перестает работать интернет при поднятом l2tp-туннеле. При запущенном с клиента

# ping 8.8.8.8

Ответ на физический интерфейс клиента приходит

# tcpdump -n -i eth0 host 10.1.0.250 | grep 8.8.8.8
11:14:22.126916 IP 10.2.1.33.1701 > 10.1.0.250.1701:  l2tp:[](3288/14389) {IP 172.18.32.5 > 8.8.8.8: ICMP echo request, id 25735, seq 450, length 64}
11:14:22.163846 IP 10.1.0.250.1701 > 10.2.1.33.1701:  l2tp:[s](26798/5462)Ns=14323,Nr=0 {IP 8.8.8.8 > 172.18.32.5: ICMP echo reply, id 25735, seq 450, length 64}

но в vpn-интерфейс уже не попадает

# tcpdump -n -i ppp0 host 8.8.8.8
11:33:35.957306 IP 172.18.32.5 > 8.8.8.8: ICMP echo request, id 25890, seq 44, length 64
11:33:35.994462 IP 8.8.8.8 > 172.18.32.5: ICMP echo reply, id 25890, seq 44, length 64
11:33:36.956962 IP 172.18.32.5 > 8.8.8.8: ICMP echo request, id 25890, seq 45, length 64
11:33:37.002565 IP 8.8.8.8 > 172.18.32.5: ICMP echo reply, id 25890, seq 45, length 64
в этот момент интернет "отвалился"
11:33:37.956929 IP 172.18.32.5 > 8.8.8.8: ICMP echo request, id 25890, seq 46, length 64
11:33:38.956785 IP 172.18.32.5 > 8.8.8.8: ICMP echo request, id 25890, seq 47, length 64
11:33:39.956782 IP 172.18.32.5 > 8.8.8.8: ICMP echo request, id 25890, seq 48, length 64

КЛИЕНТ:

# xl2tpd -D
xl2tpd[27534]: setsockopt recvref[30]: Protocol not available
xl2tpd[27534]: This binary does not support kernel L2TP.
xl2tpd[27534]: xl2tpd version xl2tpd-1.3.1 started on gwork PID:27534
xl2tpd[27534]: Written by Mark Spencer, Copyright (C) 1998, Adtran, Inc.
xl2tpd[27534]: Forked by Scott Balmos and David Stipp, (C) 2001
xl2tpd[27534]: Inherited by Jeff McAdams, (C) 2002
xl2tpd[27534]: Forked again by Xelerance (www.xelerance.com) (C) 2006
xl2tpd[27534]: Listening on IP address 0.0.0.0, port 1701
xl2tpd[27534]: get_call: allocating new tunnel for host 10.1.0.250, port 1701.
xl2tpd[27534]: Connecting to host 10.1.0.250, port 1701
xl2tpd[27534]: control_finish: message type is (null)(0).  Tunnel is 0, call is 0.
xl2tpd[27534]: control_finish: sending SCCRQ
xl2tpd[27534]: network_thread: recv packet from 10.1.0.250, size = 93, tunnel = 10431, call = 0 ref=0 refhim=0
xl2tpd[27534]: handle_avps: handling avp's for tunnel 10431, call 0
xl2tpd[27534]: message_type_avp: message type 2 (Start-Control-Connection-Reply)
xl2tpd[27534]: hostname_avp: peer reports hostname 'polina'
xl2tpd[27534]: vendor_avp: peer reports vendor 'FreeBSD MPD'
xl2tpd[27534]: bearer_caps_avp: supported peer bearers: analog digital
xl2tpd[27534]: receive_window_size_avp: peer wants RWS of 8.  Will use flow control.
xl2tpd[27534]: protocol_version_avp: peer is using version 1, revision 0.
xl2tpd[27534]: framing_caps_avp: supported peer frames: async sync
xl2tpd[27534]: assigned_tunnel_avp: using peer's tunnel 8904
xl2tpd[27534]: control_finish: message type is Start-Control-Connection-Reply(2).  Tunnel is 8904, call is 0.
xl2tpd[27534]: control_finish: sending SCCCN
xl2tpd[27534]: Connection established to 10.1.0.250, 1701.  Local: 10431, Remote: 8904 (ref=0/0).
xl2tpd[27534]: Calling on tunnel 10431
xl2tpd[27534]: control_finish: message type is (null)(0).  Tunnel is 8904, call is 0.
xl2tpd[27534]: control_finish: sending ICRQ
xl2tpd[27534]: network_thread: recv packet from 10.1.0.250, size = 28, tunnel = 10431, call = 30146 ref=0 refhim=0
xl2tpd[27534]: handle_avps: handling avp's for tunnel 10431, call 30146
xl2tpd[27534]: message_type_avp: message type 11 (Incoming-Call-Reply)
xl2tpd[27534]: assigned_call_avp: using peer's call 28112
xl2tpd[27534]: control_finish: message type is Incoming-Call-Reply(11).  Tunnel is 8904, call is 28112.
xl2tpd[27534]: control_finish: Sending ICCN
xl2tpd[27534]: Call established with 10.1.0.250, Local: 30146, Remote: 28112, Serial: 1 (ref=0/0)
xl2tpd[27534]: start_pppd: I'm running: 
xl2tpd[27534]: "/usr/sbin/pppd" 
xl2tpd[27534]: "passive" 
xl2tpd[27534]: "nodetach" 
xl2tpd[27534]: ":" 
xl2tpd[27534]: "debug" 
xl2tpd[27534]: "file" 
xl2tpd[27534]: "/etc/xl2tpd/options.xl2tpd" 
xl2tpd[27534]: "ipparam" 
xl2tpd[27534]: "10.1.0.250" 
xl2tpd[27534]: "/dev/pts/30" 

xl2tpd[27534]: network_thread: recv packet from 10.1.0.250, size = 1462, tunnel = 10431, call = 30146 ref=0 refhim=0
xl2tpd[27534]: network_thread: recv packet from 10.1.0.250, size = 1462, tunnel = 10431, call = 30146 ref=0 refhim=0
xl2tpd[27534]: network_thread: recv packet from 10.1.0.250, size = 1462, tunnel = 10431, call = 30146 ref=0 refhim=0
xl2tpd[27534]: network_thread: recv packet from 10.1.0.250, size = 67, tunnel = 10431, call = 30146 ref=0 refhim=0
ЗДЕСЬ интернет "отвалился"
xl2tpd[27534]: handle_packet: unable to expand payload!
xl2tpd[27534]: network_thread: bad packet
xl2tpd[27534]: network_thread: recv packet from 10.1.0.250, size = 1511, tunnel = 10431, call = 30146 ref=0 refhim=0
xl2tpd[27534]: handle_packet: unable to expand payload!
xl2tpd[27534]: network_thread: bad packet
xl2tpd[27534]: network_thread: recv packet from 10.1.0.250, size = 1462, tunnel = 10431, call = 30146 ref=0 refhim=0
xl2tpd[27534]: handle_packet: unable to expand payload!
xl2tpd[27534]: network_thread: bad packet

После "пропадания" интернета, wireshark без ругани открывает приходящие от mpd пакеты, которые xl2tpd "unable to expand payload"

 

Помимо серверов с mpd5 на freebsd, есть несколько cisco 7201, на которых такой проблемы нет. Также проблема отсутсвует на mpd5, при использовании pptp. Нет проблем при использовании mpd5 с Windows l2tp-клиентом.

Кто-нибудь сталкивался с таким?

 

Конфиги

# cat mpd.conf 
startup:
set ippool add pool1 172.18.32.5 172.18.63.254

default:
load l2tp_server

l2tp_server:
create bundle template B1
set ipcp ranges 172.18.32.1/32 ippool pool1
create link template L-L2TP l2tp
set link action bundle B1
set l2tp self 0.0.0.0
set link enable incoming

# cat xl2tpd.conf 
[global]
debug tunnel = yes

debug avp = yes
debug network = yes
debug state = yes
debug avp = yes

[lac xxx]
lns = 10.1.0.250
redial = yes
redial timeout = 20
pppoptfile = /etc/xl2tpd/options.xl2tpd
autodial = yes
ppp debug = yes

# cat options.xl2tpd 
ipcp-accept-local
ipcp-accept-remote
noccp
noauth
crtscts
idle 1800
defaultroute
replacedefaultroute
debug
lock
proxyarp
connect-delay 5000

Изменено пользователем pronix

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

попробуйте "set l2tp disable dataseq" в mpd.conf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

попробуйте "set l2tp disable dataseq" в mpd.conf

 

Огромное спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А не подскажете, как решить такую же проблему со стороны клиента? У меня сейчас такой же случай, при скачивании большого файла в логе появляется вот такое

 

Jan 15 17:16:32 banka xl2tpd[7363]: handle_packet: unable to expand payload!
Jan 15 17:16:32 banka xl2tpd[7363]: network_thread: bad packet
Jan 15 17:16:33 banka xl2tpd[7363]: handle_packet: unable to expand payload!
Jan 15 17:16:33 banka xl2tpd[7363]: network_thread: bad packet
Jan 15 17:16:33 banka xl2tpd[7363]: handle_packet: unable to expand payload!
Jan 15 17:16:33 banka xl2tpd[7363]: network_thread: bad packet
Jan 15 17:16:33 banka xl2tpd[7363]: handle_packet: unable to expand payload!
Jan 15 17:16:33 banka xl2tpd[7363]: network_thread: bad packet
Jan 15 17:16:33 banka xl2tpd[7363]: handle_packet: unable to expand payload!
Jan 15 17:16:33 banka xl2tpd[7363]: network_thread: bad packet
Jan 15 17:16:33 banka xl2tpd[7363]: handle_packet: unable to expand payload!
Jan 15 17:16:33 banka xl2tpd[7363]: network_thread: bad packet

 

и все отваливается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А не подскажете, как решить такую же проблему со стороны клиента?

если сервер включает dataseq, то клиент обязан подчиняться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.