Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

Self-Perfection

Падает l2tp

Рекомендованные сообщения

Настроил l2tp на своей ubuntu 7.10, пропатченной до kubuntu 8.04. Использовал инструкцию svdn'а, которую перепечатал SolarWind, и которая была затем официально принята. Летает. Но.

 

У меня разрывы. Гусары, молчать! Примерно раз в пару дней, что нифига не круто, потому что машина должна быть в сети 24x7.

 

При этом в /var/log/daemon.log падает что-то вроде

Jun 14 18:05:03 Rebma xl2tpd[6214]: Maximum retries exceeded for tunnel 34897. Closing.
Jun 14 18:05:03 Rebma xl2tpd[6214]: Untrustingly terminating pppd: sending KILL signal to pid 6287
Jun 14 18:05:03 Rebma xl2tpd[6214]: pppd 6287 successfully terminated
Jun 14 18:05:03 Rebma xl2tpd[6214]: Connection 33250 closed to 85.21.0.255, port 1701 (Timeout)
Jun 14 18:05:08 Rebma xl2tpd[6214]: Unable to deliver closing message for tunnel 34897. Destroying anyway.
Jun 14 18:05:48 Rebma xl2tpd[6214]: Host name lookup failed for l2tp.corbina.net.
Jun 14 18:06:00 Rebma ntpd[6337]: Deleting interface #6 ppp0, 93.80.165.92#123, interface stats: received=533, sent=535, dropped=0, active_time=86700 secs

 

И тишина... Т.е. так всё и остаётся. А хочется, чтобы автоматически переподключалось. И вроде бы должно:

$ head -20 /etc/xl2tpd/xl2tpd.conf
[global]
access control = yes
[lac corbina]
lns = l2tp.corbina.net
redial = yes
redial timeout = 5
;max redials = 100
require chap = yes
require authentication = no
name = selfperfection
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
require pap = no
autodial = yes

;
; Sample l2tpd configuration file
;
; This example file should give you some idea of how the options for l2tpd
; should work.  The best place to look for a list of all options is in

Ну там ещё длинный-длинный комментарий. Если просто вытащить сетевой кабель, повертеть немного в руках и вставить обратно - переподключает на ура. Да, строчка max redials закомментарена, это была неудачная попытка решить проблему.

 

Вопрос: чего бы такого сделать, чтоб переподключалось всегда? Ничего умнее демона-скрипта, проверяющего регулярно наличие ppp0 и в случае его отсутствия делающего "invoke-rc.d xl2tpd restart" не придумал.

 

UPD (апрель 2012): Сейчас, по прошествии нескольких лет и смены дистра на Arch, всё довольно шоколадно. Отваливается редко - раз в неделю примерно, и xl2tpd вполне себе переподключает сам.

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


Ссылка на сообщение
Поделиться на других сайтах
Host name lookup failed for l2tp.corbina.net.

Есть такое дело. Когда gethostbyname() не определяет ip vpn-сервера, то демон прекращает попытки соединения.

Я решил просто - слегка переписал кусок кода, с этим связанный.

Если интересно, вечером выложу патч.

Соответственно, нужно будет пропатчить исходники xl2tp и собрать его из них.

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


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

Вот, собственно, патч.

 

Работает при условии, что в /etc/xl2tpd/xl2tpd.conf

redial = yes

Количество lookup'ов и перерыв между попытками берутся из стандартных параметров /etc/xl2tpd/xl2tpd.conf

max redials

redial timeout

xl2tpd_1.1.12_gethostbyname.patch.gz

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


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

Jul  5 05:35:31 server xl2tpd[8089]: Maximum retries exceeded for tunnel 43845.  Closing.
Jul  5 05:35:31 server xl2tpd[8089]: Untrustingly terminating pppd: sending KILL signal to pid 8134
Jul  5 05:35:31 server xl2tpd[8089]: pppd 8134 successfully terminated
Jul  5 05:35:31 server xl2tpd[8089]: Connection 56379 closed to 85.21.0.29, port 1701 (Timeout)
Jul  5 05:35:36 server xl2tpd[8089]: Unable to deliver closing message for tunnel 43845. Destroying anyway.
Jul  5 05:36:01 server xl2tpd[8089]: Y: Host name lookup failed for vpn.corbina.ru. Trying to look again in 30 seconds.
Jul  5 05:36:31 server xl2tpd[8089]: Y: Host name lookup failed for vpn.corbina.ru. Trying to look again in 30 seconds.

Работает.

Еще пересобрал пакет вот так

и теперь вместо килл терм.

Jul  5 07:19:30 server xl2tpd[12167]: Trustingly terminating pppd: sending TERM signal to pid 12168
Jul  5 07:19:30 server xl2tpd[12167]: pppd 12168 successfully terminated

BuHTOKPbIJI, спасибо за советы по допиливанию

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


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

ссылка

Прикрепленные файлы

xl2tpd_1.1.12_gethostbyname.patch.gz ( 552 байт ) Кол-во скачиваний: 70

не работает

Нельзя ли обновить?

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


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

не работает

Нельзя ли обновить?

Можно.

Как только найду, куда забэкапил, обновлю :-)

Перезалил.

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


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

Хочешь 24x7 - тяни нормального прова без впна, впн по определению такой стабильности дать не может, хоть pptp хоть l2tp. Корбина именно ДОМАШНИЙ инет, а значит разрывы - норма)))

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


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

BuHTOKPbIJI, спасибо огромное!! то что надо! отличный патч!)

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


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

Патч помог решить проблему. Спасибо, BuHTOKPbIJI

В репозиторий Edumandriva добавлен пакет xl2tpd для мандривы с учетом патча BuHTOKPbIJI: ftp://ftp.linuxcenter.ru/pub/Mandriva/Edu...iva/educontrib/

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


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

В официальные репы Gentoo добавлен этот патч. За него отвечает флаг dnsretry.

 

net-dialup/xl2tpd

Available versions: 1.2.4 (~)1.2.6-r1 (~)1.2.7 {dnsretry}

Installed versions: 1.2.7(15:46:25 24.02.2011)(dnsretry)

Homepage: http://www.xelerance.com/software/

Description: A modern version of the Layer 2 Tunneling Protocol (L2TP) daemon

 

До сих пор пользуюсь!

Ещё раз спасибо!

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


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

В официальные репы Gentoo добавлен этот патч. За него отвечает флаг dnsretry.

 

net-dialup/xl2tpd

Available versions: 1.2.4 (~)1.2.6-r1 (~)1.2.7 {dnsretry}

Installed versions: 1.2.7(15:46:25 24.02.2011)(dnsretry)

Homepage: http://www.xelerance.com/software/

Description: A modern version of the Layer 2 Tunneling Protocol (L2TP) daemon

 

До сих пор пользуюсь!

Ещё раз спасибо!

 

Спасибо дружище,уберёг мой комп от костыля :)

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


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

Хочешь 24x7 - тяни нормального прова без впна, впн по определению такой стабильности дать не может, хоть pptp хоть l2tp. Корбина именно ДОМАШНИЙ инет, а значит разрывы - норма)))

Плюсану.

Есть 2 сервера, один на билайне другой на onlime.

На втором инет падал раза 3 за последний год. На билайне рвётся l2tp по 3-5 раз в сутки.

uptime 24x7

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


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

Здрасьте.

 

Скажите, а этот патч сам выуживает нужные днс на локальном интерфейсе билайна, перед тем как ломиться на это tp.итд?

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


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

Патч не для Билайна, а для реконнекта вообще. Ничего он не выуживает, он просто добавляет в xl2tpd возможность переподключаться, но чтобы она работала надо конфиги правильно создать.

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


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

Патч не для Билайна, а для реконнекта вообще. Ничего он не выуживает, он просто добавляет в xl2tpd возможность переподключаться, но чтобы она работала надо конфиги правильно создать.

Да он и так вроде пытается переподключиться, только чтобы это сделать нужны днс локалки билайна, которые он получает по дхцп, а следовательно надо передернуть интерфейс куда воткнут билайн, для получения этих самых днс, потому что те днс, что остаются после того как отвалится ppp0 не могут резолвить этот tp.internet или как его там. Вот я и спрашиваю, патч этот (вернее флаг у меня в генте) эти днс перезапросит или нет?

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


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

С патчем он будет пытаться соединяться вновь и вновь до тех пор пока tp.internet.beeline.ru не резолвится. То есть если с патчем кабель вынуть и вставить, то соединение восстановится, без патча оно не восстановится в этом случае. Но DNS запросит не xl2tpd, он лишь поймет, что VPN-сервер стал вновь доступен и переподключится.

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


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

Спасибо.

Т.е. все равно получается нужен костыль в виде:

/etc/init.d/net.eth0 restart

засунутый в /etc/ppp/ip-down

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


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