Зависание системы из-за xl2tpd роутингов [РЕШЕНО]

Думал что проблема в настройках и роутингах что добавляются при старте скриптом, сейчас даже и не знаю
Все замечательно работало, какое то время до определенного момента(пару лет), знаю что у провайдера (пчелайн) внезапно и без каких либо уведомлений изменились настройки сети, другой диапазон ip и вероятно еще что то
Так вот, имею стабильное полное зависание системы при старте xl2tpd уже отбросил "лишние" службы, пытался запускать её без роутингов и с чистым конфигом, без роутинга до 85.21.0.0 (это подсеть с сервером tp.internet.beeline.ru -l2tp сервер) с правильным шлюзом (локальным) соединение не устанавливается, как только этот шлюз добавляю - программа в логе весело сообщает о том что адрес ip получен и соединение установлено далее - имеем полное зависание системы, в логах перед этим ничего нет что могло бы помочь, я так понимаю это из за того что оно работает на уровне ядра, я уже не знаю, но, видимо для дальнейших экспериментов придется систему на карточку переносить чтобы диски не насиловать подобными зависонами.
Что могло поменяться у них что приводит к таким ужасным последствиям? и куда собственно копать

options.xl2tpd

lcp-echo-interval 10
lcp-echo-failure 2
name login
remotename l2tp
ipparam isp
connect /bin/true
mru 1500
mtu 1460
nodeflate
nobsdcomp
persist
maxfail 0
nopcomp
noaccomp
noauth
xl2tpd.conf

[global]
access control = yes
auth file = /etc/ppp/chap-secrets

[lac isp]
lns = 85.21.x.x
redial = yes
redial timeout = 15
require chap = yes
require authentication = no
name = login
ppp debug = no
pppoptfile = /etc/ppp/options.xl2tpd
require pap = no
autodial = yes
tx bps = 100000000
Gentoo | ArchLinux | servers and work PC
W 7 - everyday usage all PC's
W 8.1 - Lenovo IdeaPad G500 - i3 3110, R8570M
spirevillage.blogspot.com
daggerfall, поддерживаю, у меня тоже самое. Правда зависания случаются не всегда. Примерно 50 на 50. Если после старта xl2tpd комп сразу не завис, то дальше все будет работать нормально.
Вот ссылка где я писал о такой же проблеме. Пока без ответа
www.linux32.ru - новости и статьи о Linux
попробую openl2tp еще, но он как я помню не умеет даже перезвонить самостоятельно. Нагуглил еще несколько тем о полном зависании системы под другими дистрибутивами...
Создал тему тут
Все эти волшебные коробочки-роутеры работают как то? там вроде ppp+плагин обычно, скорость не такая уже да и пинги, но все же...
Gentoo | ArchLinux | servers and work PC
W 7 - everyday usage all PC's
W 8.1 - Lenovo IdeaPad G500 - i3 3110, R8570M
spirevillage.blogspot.com
Похоже проблема происходит когда добавляется роутинг по умолчанию после создания тоннеля
похожая ситуация но с openl2tp http://forums.openl2tp.org/viewtopic.php?f=4&t=8&sid=8ec681ed31504c48dfffda5c9595acb9
и тут наверное это будет интересно
Some ISPs (including corbina.ru, which I use) configured servers in a manner where remote-eth-ip=remote-tunnel-ip, so after tunnel creation pppd issued
Code:
route add remote-tunnel-ip dev ppp0
which leads to cpu lockup I described earlier.
1)wrong routing leads to cpu lockup - i don't think that it's normal situation when ANY routing mismatch can cause complete system hang
2)the wrong route is added by default and pppd has no option to disable it
неправильный роутинг приводит к зависанию и что это вообщем то ненормально что система вешается. (как бы этого избежать?, неужели никто не заморачивался ?)
У xl2tpd вроде есть "nodefaultroute" но и с ним вроде тоже висло....
Туда же...
The only workaround I found is to fix routing in ip-up scripts. It's ok solution for home use with small network load, but it is unacceptable for big network loads because system can hang before executing of userspace ip-up scripts.
скрипты помогают исправить роутинг конечно же, но система может добавить неправильный и зависнуть раньше чем сработает скрипт

Не зависает, видимо переустановка и nodefaultroute помогло - конфигурация, статический адрес gw заменить бы на скрипт, но наверное не будет успевать определить шлюз
/etc/ppp/ip-down

#!/bin/sh
#
# This script is run by pppd after the connection has ended.
#

# Execute all scripts in /etc/ppp/ip-down.d/
for ipdown in /etc/ppp/ip-down.d/*.sh; do
  if [ -x $ipdown ]; then
# Parameters: interface-name tty-device speed local-IP-address remote-IP-address ipparam
# $1 = interface name (e.g. ppp0)
# $2 = tty device
# $3 = speed
# $4 = local IP address
# $5 = remote IP address
# $6 = ipparam (user specified parameter, see man pppd)
# восстановление маршрута по умолчанию (шлюз GW изменить на свой)
GW="1x.xxx.xx.x"
route del $5
route del default
route add default dev net1 gw $GW
    $ipdown "$@"
  fi
done

/etc/ppp/ip-up

#!/bin/sh
#
# This script is run by pppd when there's a successful ppp connection.
#

# Execute all scripts in /etc/ppp/ip-up.d/
for ipup in /etc/ppp/ip-up.d/*.sh; do
  if [ -x $ipup ]; then
    # Parameters: interface-name tty-device speed local-IP-address remote-IP-address ipparam
# $1 = interface name (e.g. ppp0)
# $2 = tty device
# $3 = speed
# $4 = local IP address
# $5 = remote IP address
# $6 = ipparam (user specified parameter, see man pppd)
# шлюз (изменить на свой)
GW="1x.xxx.xx.x"

# роутинг до BRASа
route del $5 dev ppp0
route add -host $5 gw $GW

# подсеть с BRASами
route add -net 85.21.0.0 netmask 255.255.0.0 gw $GW
# другие
route add -host 78.107.1.254 gw $GW
route add -host 78.107.1.255 gw $GW
route add -host 78.107.1.48 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 -host 85.21.192.5 gw $GW
route add -host 213.234.192.7 gw $GW

#Локальная сеть:
route add -net 10.0.0.0 netmask 255.0.0.0 gw $GW
#Почтовый сервер
route add -host 195.14.50.16 gw $GW
#Игровые сервера
route add -host 83.102.231.32 netmask 255.255.255.240 gw $GW
route add -host 83.102.146.96 gw $GW
route add -net 78.107.23.0 netmask 255.255.255.0 gw $GW
#IP-TV через VLC
route add -net 172.16.16.0 netmask 255.255.255.0 gw $GW
route add -host 78.107.1.90 gw $GW
route add -host 85.21.72.80 gw $GW
route add -net 217.118.84.0 netmask 255.255.255.0 gw $GW
route add -net 78.107.52.0 netmask 255.255.255.0 gw $GW

# смена пути по умолчанию
route del default
route add default dev ppp0
    $ipup "$@"
  fi
done
IP-TV убран маршрут с локальным адресом в качестве gateway, без него не работало iptv

/etc/ppp/options.xl2tpd

lcp-echo-interval 10
lcp-echo-failure 2
[b]nodefaultroute[/b]
name login
remotename l2tp
ipparam beeline
connect /bin/true
mru 1500
mtu 1400
nodeflate
nobsdcomp
persist
maxfail 0
nopcomp
noaccomp
noauth
Всё. В папках if-up.d down* должны быть только dns.sh арчевские стандартные, ну может iptables скрипт с поправкой на mtu
resolv.conf я не создавал, само сгенерировалось

/etc/xl2tpd/xl2tpd.conf

[global]
access control = yes
auth file = /etc/ppp/chap-secrets

[lac beeline]
lns = tp.internet.beeline.ru - ip адрес
redial = yes
redial timeout = 15
require chap = yes
require authentication = no
name = login
ppp debug = no
pppoptfile = /etc/ppp/options.xl2tpd
require pap = no
autodial = yes
tx bps = 100000000
Gentoo | ArchLinux | servers and work PC
W 7 - everyday usage all PC's
W 8.1 - Lenovo IdeaPad G500 - i3 3110, R8570M
spirevillage.blogspot.com
daggerfall, попробовал добавить опцию nodefaultroute - не помогло. Полностью твои конфиги брал, кроме логина и пароля - все равно зависает.
Выяснил, что зависает именно после этой команды:
route add default dev ppp0
Без нее ppp0 поднимается, но нет интернета. Каким-нибудь другим способом добиться того же результата, который должен быть после выполнения этой команды можно?

Не может ли дуалбут с виндой XP быть причиной этих зависаний? Такие мысли появились когда в одну из "удачных" загрузок я посмотрел статус xl2tpd:
● xl2tpd.service - Level 2 Tunnel Protocol Daemon (L2TP)
   Loaded: loaded (/usr/lib/systemd/system/xl2tpd.service; disabled)
   Active: active (running) since Пн 2015-04-13 21:33:48 MSK; 1min 14s ago
 Main PID: 552 (xl2tpd)
   CGroup: /system.slice/xl2tpd.service
           ├─552 /usr/bin/xl2tpd -D
           └─558 /usr/sbin/pppd passive nodetach : name 0894693760 file /etc/ppp/peers/options.l2tpd plugin pppol2tp.so pppol2tp 7

апр 13 21:33:49 winxpsp3-pc.beeline pppd[558]: Using interface ppp0
апр 13 21:33:49 winxpsp3-pc.beeline pppd[558]: Connect: ppp0 <-->
апр 13 21:33:49 winxpsp3-pc.beeline pppd[558]: Overriding mtu 1500 to 1400
апр 13 21:33:49 winxpsp3-pc.beeline pppd[558]: Overriding mru 1500 to mtu value 1400
апр 13 21:33:49 winxpsp3-pc.beeline pppd[558]: Overriding mtu 1460 to 1400
апр 13 21:33:49 winxpsp3-pc.beeline pppd[558]: Overriding mru 1500 to mtu value 1400
апр 13 21:33:49 winxpsp3-pc.beeline pppd[558]: CHAP authentication succeeded
апр 13 21:33:49 winxpsp3-pc.beeline pppd[558]: CHAP authentication succeeded
апр 13 21:33:51 winxpsp3-pc.beeline pppd[558]: local  IP address 1**.***.***.***
апр 13 21:33:51 winxpsp3-pc.beeline pppd[558]: remote IP address 8*.***.***.***
В котором часть строк winxpsp3-pc.beeline непонятно откуда появилась. Файла /etc/hostname нет, в /etc/hosts ничего подобного нет. Где еще такая информация может быть?
www.linux32.ru - новости и статьи о Linux
32reg
А случаем никаких команд с использованием скажем... grep, при получении gateway не используется? пропиши статически
gateway правильный? получать gateway шлюз нужно при отключенном xl2tpd.

Я поставил arch на флешку начисто, дабы не насиловать HDD, стал эксперементировать с чистыми конфигами, но, не пришлось. Не зависает, я скопировал настройки и ок. Никаких дополнительных настроек в системе не делал, что касается сети то там только dhcp через dhcpcd на интерфейсе смотрящем в локалку провайдера( сервис запущен только на net1), и статика для внутренней локалки через этот систем дэ и его костыли -скрипты. resolv.conf не создавался вручную - система создала, он ему нужен (xl2tpd)
Проверь, я в соседней теме писал что ничего в ip-up{down}.d кроме dns не должно быть, это так, в некоторых примерах настройки туда пхали тот самый route add default dev ppp0 , ну, у меня на исправление mtu iptables лежит скрипт еще, но это маршрутизатор
#!/bin/bash
#
PATH=/bin:/sbin:/usr/bin:/usr/sbin
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1500 -j TCPMSS --clamp-mss-to-pmtu -o ppp0
Без нее ppp0 поднимается, но нет интернета. Каким-нибудь другим способом добиться того же результата, который должен быть после выполнения этой команды можно?
роутинги до 78.107.xxx.xxx подсети и локальной вашего региона еще 85.21.хххх - нужны явно, ну и правильный резолв.конф
обратил внимание при старте
dhcpcd: net1: leased xxx.xxx.xxx.xxx for 1800 seconds [локальный адрес тут]
dhcpcd: net1: adding route to xxx.xxx.0.0/17 [подсеть! шлюза что ниже в скриптах с роутингами]
dhcpcd: net1: adding route to 78.107.xxx.xxx/32 via xxx.xxx.xxx.xxx [xxx шлюз] - вот это еще один роутинг 78.107.... может дать dhcpcd управление получением адреса?
dhcpcd: net1: adding default route via шлюз
роутинг на всякий случай, тут нет локальной подсети региона провайдера, не скрыто, её нет в роутингах
route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
0.0.0.0         xxx.xxx.xxx.xxx      0.0.0.0         UG    203    0        0 net1
10.0.0.0        xxx.xxx.xxx.xxx      255.0.0.0       UG    0      0        0 net1
78.107.1.48     xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
78.107.1.90     xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
78.107.1.254    xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
78.107.1.255    xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
78.107.23.0     xxx.xxx.xxx.xxx      255.255.255.0   UG    0      0        0 net1
78.107.52.0     xxx.xxx.xxx.xxx      255.255.255.0   UG    0      0        0 net1
83.102.146.96   xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
85.21.0.0       xxx.xxx.xxx.xxx      255.255.0.0     UG    0      0        0 net1
85.21.0.255     xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
85.21.72.80     xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
85.21.192.3     xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
85.21.192.5     xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
xxx.xxx.xxx.xxx      0.0.0.0         255.255.128.0   U     203    0        0 net1
172.16.16.0     xxx.xxx.xxx.xxx      255.255.255.0   UG    0      0        0 net1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 net0
195.14.50.1     xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
195.14.50.16    xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
195.14.50.21    xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
213.234.192.7   xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
213.234.192.8   xxx.xxx.xxx.xxx      255.255.255.255 UGH   0      0        0 net1
217.118.84.0    xxx.xxx.xxx.xxx      255.255.255.0   UG    0      0        0 net1
xxx локальный шлюз

winxpsp3-pc.beeline
первое это имя компьютера?
beeline это домен чтоли? hosts нужно в порядок явно привести заодно и hostname чтобы совпадало, у меня лог не такой

# /etc/hosts: static lookup table for host names
#

#<ip-address>   <hostname.domain.org>   <hostname>
127.0.0.1       localhost.localdomain   localhost
192.168.1.1     PCName.localdomain.org PCName
::1             localhost.localdomain   localhost

# End of file
в hostname одна строчка должна быть PCName

про дуалбут помоему бредово, у меня вообще вон через UEFI загрузка арча

вот статус тоже
● xl2tpd.service - Level 2 Tunnel Protocol Daemon (L2TP)
Loaded: loaded (/usr/lib/systemd/system/xl2tpd.service; enabled; vendor preset: disabled)
Active: active (running) since Вс 2015-04-12 MSK; 1 day 1h ago
Main PID: (xl2tpd)
CGroup: /system.slice/xl2tpd.service
├─ /usr/bin/xl2tpd -D
└─ /usr/sbin/pppd passive nodetach : name login file /etc/ppp/options.xl2tpd plugin pppol2tp.so pppol2tp 7

Connect: ppp0 <-->
Overriding mtu 1500 to 1400
Overriding mru 1500 to mtu value 1400
Overriding mtu 1460 to 1400
Overriding mru 1500 to mtu value 1400
CHAP authentication succeeded
CHAP authentication succeeded
Cannot determine ethernet address for proxy ARP
local IP address
remote IP address 85.21.0.255 - пропиши этот адрес вместо tp.internet.beeline.ru но лучше ему (tp.internet.beeline.ru) сделать host и выбрать из списка
помоему не всегда резолвит
Не знаю чем и помочь еще...
кроме логина и пароля
а я их и не выкладывал :)
Gentoo | ArchLinux | servers and work PC
W 7 - everyday usage all PC's
W 8.1 - Lenovo IdeaPad G500 - i3 3110, R8570M
spirevillage.blogspot.com
В чем разница в использовании grep при получении GW и в задании его статически? И почему нужно прописывать роутинги не в /etc/ppp/ip-up.d/*.sh скриптах, а именно в /etc/ppp/ip-up? Он раньше чем они выполняется? В hosts у меня только две строки (стандартные). Откуда у вас столько DNS адресов? У меня в файле /etc/resolv.conf только 2 адреса. Я добавляю роутинги на них с помощью grep, они нормально добавляются. Про grep не понял, почему его не желательно использовать?
Компьютер с билайном не рядом, опробую все при возможности и отпишусь
www.linux32.ru - новости и статьи о Linux
daggerfall, у вас локалка с помощью dhcp поднимается? если да, то каким сервисом (dhcpcd.service, netctl или NetworkManager)? Сколько адресов у вас в /etc/resolv.conf? И откуда вы брали адреса
78.107.xxx.xxx подсети и локальной вашего региона 85.21.хххх
?
www.linux32.ru - новости и статьи о Linux
никаких NetworkManagerов, боже упаси, всегда из за них с vpn были проблемы. Внимательней мой пост пожалуйста прочти, там все написано, даже лог с работой сервиса.
Сколько адресов у вас в /etc/resolv.conf?
два DNS, система создала еще раз повторяюсь
nameserver 85.21.192.3
nameserver 213.234.192.8

78.107 в списке роутингов был в каком то мануале для настройки corbina под gentoo, они же фигурировали в инструкциях на сайте билайна, и в логе выше, это не с потолка адреса
В чем разница в использовании grep при получении GW и в задании его статически? И почему нужно прописывать роутинги не в /etc/ppp/ip-up.d/*.sh скриптах, а именно в /etc/ppp/ip-up? Он раньше чем они выполняется? В hosts у меня только две строки (стандартные). Откуда у вас столько DNS адресов?
с grep у меня зависал, хотя команда вне скрипта отрабатывала. ip-up должны раньше работать же чем те что в папках. 78.107 роутинг который добавляет сервис сам
Gentoo | ArchLinux | servers and work PC
W 7 - everyday usage all PC's
W 8.1 - Lenovo IdeaPad G500 - i3 3110, R8570M
spirevillage.blogspot.com
Попробовал еще раз: все конфиги скопировал ваши, только логин билайновский свой и chap-secret; 78.107 в таблицу роутингов добавлял; пробовал убирать опцию tx bps = 100000000 - все равно зависает. Уже не знаю что предпринять.
В моменты когда xl2tpd все же включался и не вешал систему, полностью обновил ее. Но и это не помогло.
Что еще подскажете?
Тут тоже тему создал
www.linux32.ru - новости и статьи о Linux
 
Зарегистрироваться или войдите чтобы оставить сообщение.