LINUX.ORG.RU

[how-to] xl2tpd + новые тарифы Beeline


1

1

На случай если кто столкнётся: Уже хрен знает сколько лет был подключен к корбине, потом соответственно билайну. С давних пор же сижу по L2TP, ибо оно быстрее и менее геморройно (обычно).

Увидел недавно новые тарифы «только л2тп», за те же деньги почти Х2 скорость. Ну естественно недолго думая перевел один из аккаунтов на этот тариф.

И всё, интернет отпал:

Aug 14 20:10:09 artek xl2tpd[23607]: setsockopt recvref[22]: Protocol not available
Aug 14 20:10:09 artek xl2tpd[23607]: This binary does not support kernel L2TP.
Aug 14 20:10:09 artek xl2tpd[23608]: xl2tpd version xl2tpd-1.3.0 started on artek PID:23608
Aug 14 20:10:09 artek xl2tpd[23608]: Written by Mark Spencer, Copyright (C) 1998, Adtran, Inc.
Aug 14 20:10:09 artek xl2tpd[23608]: Forked by Scott Balmos and David Stipp, (C) 2001
Aug 14 20:10:09 artek xl2tpd[23608]: Inherited by Jeff McAdams, (C) 2002
Aug 14 20:10:09 artek xl2tpd[23608]: Forked again by Xelerance (www.xelerance.com) (C) 2006
Aug 14 20:10:09 artek xl2tpd[23608]: Listening on IP address 0.0.0.0, port 1701
Aug 14 20:10:09 artek xl2tpd[23608]: Connecting to host tp.internet.beeline.ru, port 1701
Aug 14 20:10:09 artek xl2tpd[23608]: Connection established to 85.21.0.251, 1701.  Local: 32510, Remote: 7704 (ref=0/0).
Aug 14 20:10:09 artek xl2tpd[23608]: Calling on tunnel 32510
Aug 14 20:10:09 artek xl2tpd[23608]: Call established with 85.21.0.251, Local: 41061, Remote: 31242, Serial: 1 (ref=0/0)
Aug 14 20:10:09 artek xl2tpd[23608]: start_pppd: I'm running: 
Aug 14 20:10:09 artek xl2tpd[23608]: "/usr/sbin/pppd" 
Aug 14 20:10:09 artek xl2tpd[23608]: "passive" 
Aug 14 20:10:09 artek xl2tpd[23608]: "nodetach" 
Aug 14 20:10:09 artek xl2tpd[23608]: ":" 
Aug 14 20:10:09 artek xl2tpd[23608]: "debug" 
Aug 14 20:10:09 artek xl2tpd[23608]: "file" 
Aug 14 20:10:09 artek xl2tpd[23608]: "/etc/ppp/options.l2tp.client" 
Aug 14 20:10:09 artek xl2tpd[23608]: "ipparam" 
Aug 14 20:10:09 artek xl2tpd[23608]: "85.21.0.251" 
Aug 14 20:10:09 artek xl2tpd[23608]: "/dev/pts/3" 
Aug 14 20:10:09 artek pppd[23611]: pppd 2.4.5 started by root, uid 0
Aug 14 20:10:09 artek pppd[23611]: using channel 9
Aug 14 20:10:09 artek pppd[23611]: Using interface ppp128
Aug 14 20:10:09 artek pppd[23611]: Connect: ppp128 <--> /dev/pts/3
Aug 14 20:10:09 artek pppd[23611]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xfee92453> <pcomp>]
Aug 14 20:10:09 artek pppd[23611]: rcvd [LCP ConfReq id=0x1 <mru 1460> <auth chap MD5> <magic 0x3c13731b>]
Aug 14 20:10:09 artek pppd[23611]: sent [LCP ConfAck id=0x1 <mru 1460> <auth chap MD5> <magic 0x3c13731b>]
Aug 14 20:10:09 artek pppd[23611]: rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xfee92453> <pcomp>]
Aug 14 20:10:09 artek pppd[23611]: rcvd [CHAP Challenge id=0x1 <...>, name = "bras251"]
Aug 14 20:10:09 artek pppd[23611]: sent [CHAP Response id=0x1 <...>, name = "<login>"]
Aug 14 20:10:09 artek pppd[23611]: rcvd [CHAP Failure id=0x1 "Authentication failed"]
Aug 14 20:10:09 artek pppd[23611]: CHAP authentication failed: Authentication failed
Aug 14 20:10:09 artek pppd[23611]: CHAP authentication failed
Aug 14 20:10:09 artek pppd[23611]: sent [LCP TermReq id=0x2 "Failed to authenticate ourselves to peer"]
Aug 14 20:10:09 artek pppd[23611]: rcvd [LCP TermAck id=0x2]
Aug 14 20:10:09 artek pppd[23611]: Connection terminated.
Aug 14 20:10:09 artek pppd[23611]: Exit.
Aug 14 20:10:09 artek xl2tpd[23608]: child_handler : pppd exited for call 31242 with code 19
Aug 14 20:10:09 artek xl2tpd[23608]: call_close: Call 41061 to 85.21.0.251 disconnected

При этом если подключаться аккаунтом со старым тарифом - всё работает. И openl2tpd тоже работал с ядерным l2tp, но у меня с ним висло ядро почему-то периодически.

Многочасовое имение мозга техподдержке толку не принесло, тем более что в оффтопике всё работает на ура.

В итоге случайно на одном из билайновский форумов наткнулся на тупое решение проблемы: добавить в настройки lac «tx bps = 100000000» и всё. xl2tpd по умолчанию отправляет этот параметр = 0, а винда = скорость интерфейса.

Каким образом билайн умудрился сделать разными протоколы для разных аккаунтов я не знаю, но с xl2tpd 1.3.0 всё заработало.

Еще там советовали пропатчить исходники xl2tpd на предмет умолчальной настройки типа фреймов (ASYNC/SYNC), но у меня и без этого всё заработало. Возможно билайн что-то допилил у себя на NASах.

Всем спасибо, все свободны.

Ответ на: комментарий от NaCl
# cat /etc/xl2tpd/xl2tpd.conf
[lac beeline]
tx bps = 100000000
lns = tp.internet.beeline.ru
redial = yes
redial timeout = 60
max redials = 2147483647
require chap = yes
require authentication = no
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tp.client
autodial = yes

# cat /etc/ppp/options.l2tp.client
name <login>
noauth
noaccomp
nopersist
maxfail 0
unit 128
blind_oracle ★★★★★ ()
Ответ на: комментарий от NaCl

Это косяк pppd, который скорее всего маршрут не так строит или не делает дефолт роут.

Вот это может поможет:

# cat /etc/ppp/ip-up
#!/bin/sh

IP="/sbin/ip"
GW=$5
IFACE=$1

$IP route del $GW dev $IFACE

$IP route add default dev $IFACE

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

Ну, у меня всё работает на ура. xl2tpd-1.3.0, ppp-2.4.5 вроде.

Что значит не взлетает? Интерфейс поднимается? Покажи логи xl2tpd/pppd c debug и таблицу роутинга.

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

в логах всё хорошо, интерфейс поднимается, таблица идентична таковой при pptp. А пакеты не ходят. Алсо, xl2tpd не 1.3.0, может, в этом проблема.

NaCl ()
Ответ на: комментарий от blind_oracle

xl2tpd[1420]: setsockopt recvref[22]: Protocol not available
xl2tpd[1420]: This binary does not support kernel L2TP.
xl2tpd[1420]: xl2tpd version xl2tpd-1.2.6 started on interceptor PID:1420
xl2tpd[1420]: Written by Mark Spencer, Copyright (C) 1998, Adtran, Inc.
xl2tpd[1420]: Forked by Scott Balmos and David Stipp, (C) 2001
xl2tpd[1420]: Inherited by Jeff McAdams, (C) 2002
xl2tpd[1420]: Forked again by Xelerance (www.xelerance.com) (C) 2006
xl2tpd[1420]: Listening on IP address 0.0.0.0, port 1701
xl2tpd[1420]: Connecting to host 78.107.1.138, port 1701
xl2tpd[1420]: Connection established to 78.107.1.138, 1701. Local: 5807, Remote: 1669 (ref=0/0).
xl2tpd[1420]: Calling on tunnel 5807
xl2tpd[1420]: Call established with 78.107.1.138, Local: 42816, Remote: 52123, Serial: 1 (ref=0/0)
xl2tpd[1420]: start_pppd: I'm running:
xl2tpd[1420]: «/usr/sbin/pppd»
xl2tpd[1420]: «passive»
xl2tpd[1420]: «nodetach»
xl2tpd[1420]: ":"
xl2tpd[1420]: «auth»
xl2tpd[1420]: «require-chap»
xl2tpd[1420]: «name»
xl2tpd[1420]: " "
xl2tpd[1420]: «debug»
xl2tpd[1420]: «file»
xl2tpd[1420]: «/etc/ppp/options.l2tp.client»
xl2tpd[1420]: «/dev/pts/2»

NaCl ()

Трабла c 1.3.0 и ништяк с 1.2.7

Интересная проблема: После смены тарифа на 50/50 не стал конектиться xl2tpd 1.2.7. Почитав посты на этом сайте поставил себе последний xl2tpd 1.3.0 из портеджа.

Дописал то что советовали в конфиги, в итоги мои конфиги выглядят так:

/etc/xl2tpd/xl2tpd.conf


[global]
access control = yes

[lac corbina]
lns = tp.internet.beeline.ru
redial = yes
redial timeout = 1
require chap = yes
require authentication = no
name = XXX
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
require pap = no
autodial = yes
tunnel rws = 8
tx bps = 100000000

/etc/ppp/options.xl2tpd

unit 0
name XXX
remotename l2tp
ipparam corbina
connect /bin/true
nodeflate
nobsdcomp
persist
holdoff 10
maxfail 0
nopcomp
noauth
noaccomp
defaultroute

Для полноты картины добавлю еще /etc/ppp/ip-up

#!/bin/bash

#PATH
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH

#IP-*
/etc/ppp/ip-up.d/$6 $1 $2 $3 $4 $5 $6

/etc/ppp/ip-down

#!/bin/bash

#PATH
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
export PATH

#IP-*
/etc/ppp/ip-down.d/$6 $1 $2 $3 $4 $5 $6

/etc/ppp/ip-up.d/corbina

#!/bin/sh

#Роутинг до VPN
GW=«10.59.0.1»
route del $5 dev ppp0
route add -host $5 gw $GW

route add -net 85.21.0.0 netmask 255.255.0.0 gw $GW

#Роутинг до DNS
route add -host 195.14.50.1 gw $GW
route add -host 213.234.192.8 gw $GW
route add -host 85.21.192.3 gw $GW
route add -host 195.14.50.21 gw $GW
#Роутинг до локальных ресурсов
route add -net 10.0.0.0 netmask 255.0.0.0 gw $GW
route add -net 85.21.79.0 netmask 255.255.255.0 gw $GW
route add -net 85.21.90.0 netmask 255.255.255.0 gw $GW
route add -host 85.21.52.254 gw $GW
route add -host 195.14.50.26 gw $GW

# forum
route add -host 85.21.72.83 gw $GW
# irc
route add -host 85.21.79.12 gw $GW
# corbina.ru
#route add -host 89.179.135.67 gw $GW
route add -host 10.59.14.193 gw 10.59.0.1

route del default
route add default dev ppp0

/etc/ppp/ip-down.d/corbina

#!/bin/sh
GW=«10.59.0.1»
route del $5
route del default
route add default dev eth0 gw $GW
route add -host 85.21.72.83 gw $GW
route add -host 89.179.135.67 gw $GW

Так вот проблема в то, что с xl2tpd 1.3.0 конект устанавливается, отсылаются десятки ГБ куда-то, а принято только 40 байт. Смахивает на проблемы с таблицей маршрутизации. С версией xl2tpd 1.2.7 из портеджа все пашет на ура. Вопрос в том, как заставить работать xl2tpd 1.3.0?

c400 ()
Ответ на: Трабла c 1.3.0 и ништяк с 1.2.7 от c400

Это вроде было и на ранних версиях, у меня лечится удалением дефолтного роута и добавление заново:

# cat /etc/ppp/ip-up
#!/bin/sh

IP="/sbin/ip"
GW=$5
IFACE=$1

$IP route del $GW dev $IFACE
$IP route add default dev $IFACE
Но у тебя вроде всё то же самое внизу, так что хз, проверь выполняется ли ip-up в действительности и особенно две последних команды

blind_oracle ★★★★★ ()

Спасибо, вы мне очень помогли.

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