LINUX.ORG.RU
ФорумAdmin

Slackware, pppd. Соединения наглухо виснут.


0

0

Slackware 13, ядро ванильное.
ppp 2.4.4, rp-pppoe-3.10.
Линуксовый комп работает в роли роутера, раздает локалку и инет двум домашним компам через айпитаблес-маскардинг.
Проблема следующая: после нескольких недель непрерывной работы несколько раз замечал, что соединения повисают. Проблема возникала пока только пару раз, но сегодня доставила немало нервов пользователям, пока меня не было.
Симптомы: ни с сервака, ни с клиентов не пингуется ничего. Ни по айпишнику, ни по имени. ifconfig показывает, что значения принято/передано байт на pppX не меняются, т.е по pppX ничего не отправляется и ничего не принимается, соединения подняты.
Соединений два, одно для инета, второе для локалки местного провайдера.
Поднимаются след. образом:
#!/bin/sh
/sbin/ip link set eth1 up
/usr/sbin/pppd pty \
«/usr/sbin/pppoe -p /var/run/pppoelocal.pid -I eth1 -T 80 -U -m 1412» \
file /etc/ppp/optionlocal.pppoe


#!/bin/sh
sleep 5
# зачем тут нужен sleep уже не помню, но вроде при одновременном поднятии двух интерфейсов при старте системы иногда происходил конфликт.
/sbin/ip link set eth1 up
/usr/sbin/pppd pty \
«/usr/sbin/pppoe -p /var/run/pppoe.pid -I eth1 -T 80 -U -m 1412» \
file /etc/ppp/option.pppoe

optionlocal.pppoe:
noipdefault
#defaultroute
#replacedefaultroute
hide-password
#lcp-echo-interval 30
#lcp-echo-failure 4
noauth
persist
noipv6
mtu 1492
noproxyarp
maxfail 0
#holdoff 20
plugin rp-pppoe.so eth1
user «user/local»
#usepeerdns
unit 1

option.pppoe:
noipdefault
defaultroute
#replacedefaultroute
hide-password
#lcp-echo-interval 30
#lcp-echo-failure 4
noauth
persist
mtu 1492
noproxyarp
maxfail 0
plugin rp-pppoe.so eth1
noipv6
#holdoff 20
user «user»
usepeerdns
unit 0
#nodetach

По логам - в syslog пусто, в messages есть кой чего, но оно мне мало что говорит.



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

а вот и логи

# вчера вечером интернет точно был.
Sep 12 22:21:14 ironnet kernel: eth0: link down
Sep 12 22:21:14 ironnet kernel: bridge: port 1(eth0) entering disabled state
Sep 12 22:21:16 ironnet kernel: eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
Sep 12 22:21:16 ironnet kernel: bridge: port 1(eth0) entering learning state
Sep 12 22:21:17 ironnet kernel: eth0: link down
Sep 12 22:21:17 ironnet kernel: bridge: port 1(eth0) entering disabled state
Sep 12 22:37:00 ironnet — MARK --
......
Sep 12 23:37:01 ironnet — MARK --
Sep 12 23:39:02 ironnet kernel: eth2: link down
Sep 12 23:39:02 ironnet kernel: bridge: port 2(eth2) entering disabled state
Sep 12 23:57:01 ironnet — MARK --
.......
Sep 13 09:57:03 ironnet — MARK --
# включается пользовательский комп
Sep 13 09:59:55 ironnet kernel: eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
Sep 13 09:59:55 ironnet kernel: bridge: port 1(eth0) entering learning state
Sep 13 09:59:57 ironnet kernel: eth0: link down
Sep 13 09:59:57 ironnet kernel: bridge: port 1(eth0) entering disabled state
Sep 13 09:59:59 ironnet kernel: eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
Sep 13 09:59:59 ironnet kernel: bridge: port 1(eth0) entering learning state
Sep 13 10:00:14 ironnet kernel: bridge: topology change detected, propagating
Sep 13 10:00:14 ironnet kernel: bridge: port 1(eth0) entering forwarding state
Sep 13 10:00:41 ironnet kernel: eth0: link down
Sep 13 10:00:41 ironnet kernel: bridge: port 1(eth0) entering disabled state
Sep 13 10:00:42 ironnet kernel: eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
Sep 13 10:00:42 ironnet kernel: bridge: port 1(eth0) entering learning state
Sep 13 10:00:57 ironnet kernel: bridge: topology change detected, propagating
Sep 13 10:00:57 ironnet kernel: bridge: port 1(eth0) entering forwarding state
Sep 13 10:17:03 ironnet — MARK --
......
Sep 13 12:17:03 ironnet — MARK --
# пользователь матерится и решает перегрузить комп, не помогает
Sep 13 12:36:34 ironnet kernel: eth0: link down
Sep 13 12:36:34 ironnet kernel: bridge: port 1(eth0) entering disabled state
Sep 13 12:57:04 ironnet — MARK --
......
Sep 13 14:17:04 ironnet — MARK --
Sep 13 14:18:51 ironnet kernel: eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
Sep 13 14:18:51 ironnet kernel: bridge: port 1(eth0) entering learning state
Sep 13 14:18:52 ironnet kernel: eth0: link down
Sep 13 14:18:52 ironnet kernel: bridge: port 1(eth0) entering disabled state
Sep 13 14:18:53 ironnet kernel: eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
Sep 13 14:18:53 ironnet kernel: bridge: port 1(eth0) entering learning state
Sep 13 14:19:08 ironnet kernel: bridge: topology change detected, propagating
Sep 13 14:19:08 ironnet kernel: bridge: port 1(eth0) entering forwarding state
Sep 13 14:19:34 ironnet kernel: eth0: link down
Sep 13 14:19:34 ironnet kernel: bridge: port 1(eth0) entering disabled state
Sep 13 14:19:35 ironnet kernel: eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
Sep 13 14:19:35 ironnet kernel: bridge: port 1(eth0) entering learning state
Sep 13 14:19:50 ironnet kernel: bridge: topology change detected, propagating
Sep 13 14:19:50 ironnet kernel: bridge: port 1(eth0) entering forwarding state
Sep 13 14:37:04 ironnet — MARK --
Sep 13 14:57:04 ironnet — MARK --
# прихожу я
Sep 13 15:03:02 ironnet kernel: eth2: link up, 100Mbps, full-duplex, lpa 0x41E1
Sep 13 15:03:02 ironnet kernel: bridge: port 2(eth2) entering learning state
Sep 13 15:03:17 ironnet kernel: bridge: topology change detected, propagating
Sep 13 15:03:17 ironnet kernel: bridge: port 2(eth2) entering forwarding state
Sep 13 15:03:24 ironnet kernel: eth2: link down
Sep 13 15:03:24 ironnet kernel: bridge: port 2(eth2) entering disabled state
Sep 13 15:03:26 ironnet kernel: eth2: link up, 100Mbps, full-duplex, lpa 0x41E1
Sep 13 15:03:26 ironnet kernel: bridge: port 2(eth2) entering learning state
Sep 13 15:03:41 ironnet kernel: bridge: topology change detected, propagating
Sep 13 15:03:41 ironnet kernel: bridge: port 2(eth2) entering forwarding state
# захожу на сервак и убиваю процесс pppd
Sep 13 15:05:36 ironnet sshd[30740]: Accepted password for root from 192.168.0.2 port 1053 ssh2
Sep 13 15:08:03 ironnet pppd[2869]: Terminating on signal 15
Sep 13 15:08:03 ironnet pppd[2853]: Terminating on signal 15
Sep 13 15:08:03 ironnet pppd[2869]: Connect time 1108.7 minutes.
Sep 13 15:08:03 ironnet pppd[2869]: Sent 3986930289 bytes, received 343131047 bytes.
Sep 13 15:08:03 ironnet pppd[2853]: Connect time 1108.7 minutes.
Sep 13 15:08:03 ironnet pppd[2853]: Sent 2601539302 bytes, received 63782759 bytes.
Sep 13 15:08:09 ironnet pppd[2853]: Connection terminated.
Sep 13 15:08:09 ironnet pppd[2869]: Connection terminated.
Sep 13 15:08:09 ironnet pppd[2853]: Modem hangup
Sep 13 15:08:09 ironnet pppd[2853]: Exit.
Sep 13 15:08:09 ironnet pppd[2869]: Modem hangup
Sep 13 15:08:09 ironnet pppd[2869]: Exit.
# запускаю скрипты для поднятия заново
Sep 13 15:08:28 ironnet pppd[30814]: Plugin rp-pppoe.so loaded.
Sep 13 15:08:28 ironnet pppd[30814]: RP-PPPoE plugin version 3.3 compiled against pppd 2.4.4
Sep 13 15:08:28 ironnet pppd[30815]: pppd 2.4.4 started by root, uid 0
Sep 13 15:08:28 ironnet pppd[30815]: PPP session is 11643
Sep 13 15:08:28 ironnet pppd[30815]: Using interface ppp1
Sep 13 15:08:28 ironnet pppd[30815]: Connect: ppp1 <--> eth1
Sep 13 15:08:28 ironnet pppd[30815]: CHAP authentication succeeded
Sep 13 15:08:28 ironnet pppd[30815]: CHAP authentication succeeded
Sep 13 15:08:28 ironnet pppd[30815]: peer from calling number 00:27:0D:1B:80:00 authorized
Sep 13 15:08:28 ironnet pppd[30815]: local IP address 10.152.214.86
Sep 13 15:08:28 ironnet pppd[30815]: remote IP address 10.150.254.203
Sep 13 15:08:35 ironnet pppd[30824]: Plugin rp-pppoe.so loaded.
Sep 13 15:08:35 ironnet pppd[30824]: RP-PPPoE plugin version 3.3 compiled against pppd 2.4.4
Sep 13 15:08:35 ironnet pppd[30825]: pppd 2.4.4 started by root, uid 0
Sep 13 15:08:35 ironnet pppd[30825]: PPP session is 11655
Sep 13 15:08:35 ironnet pppd[30825]: Using interface ppp0
Sep 13 15:08:35 ironnet pppd[30825]: Connect: ppp0 <--> eth1
Sep 13 15:08:35 ironnet pppd[30825]: CHAP authentication succeeded
Sep 13 15:08:35 ironnet pppd[30825]: CHAP authentication succeeded
Sep 13 15:08:35 ironnet pppd[30825]: peer from calling number 00:27:0D:1B:80:00 authorized
Sep 13 15:08:37 ironnet pppd[30825]: local IP address 94.242.141.98
Sep 13 15:08:37 ironnet pppd[30825]: remote IP address 10.50.254.203
Sep 13 15:08:38 ironnet pppd[30825]: primary DNS address 62.148.128.1
Sep 13 15:08:38 ironnet pppd[30825]: secondary DNS address 62.148.159.188
# интернет у всех появился, все поют и пляшут.
К сожалению время подумать будет только сегодня ночью, так что благодарен буду за любые наводки. Логи наверное сильно избыточны, но я понятия не имею что вызывает проблему, поэтому пишу все.

IR0N
() автор топика
Ответ на: а вот и логи от IR0N

Похоже что-то с бриджем что ли.

вывод ifconfig или ip -4 a s

egrep 'warn|error' /var/log/messages

увеличь информативность pppd, раскомментируй #debug /etc/ppp/options

grep pppd /var/log/syslog

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

Сомневаюсь. Бридж когда я пришел работал, я же смог зайти на сервак по ssh. А идей как бридж мог повлиять на pppoe у меня нет.

IR0N
() автор топика
Ответ на: комментарий от anton_jugatsu

iroot@ironnet:~# ifconfig
bridge Link encap:Ethernet HWaddr 00:e0:4c:3c:e4:8f
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::2e0:4cff:fe3c:e48f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7480257 errors:0 dropped:0 overruns:0 frame:0
TX packets:11145890 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1224526853 (1.1 GiB) TX bytes:1526443652 (1.4 GiB)

eth0 Link encap:Ethernet HWaddr 00:e0:4c:3c:e4:8f
inet6 addr: fe80::2e0:4cff:fe3c:e48f/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:2636737 errors:2 dropped:0 overruns:0 frame:0
TX packets:4012181 errors:0 dropped:0 overruns:7 carrier:0
collisions:0 txqueuelen:1000
RX bytes:191085018 (182.2 MiB) TX bytes:1327430563 (1.2 GiB)
Interrupt:10 Base address:0xe400

eth1 Link encap:Ethernet HWaddr 00:80:48:43:a5:53
inet6 addr: fe80::280:48ff:fe43:a553/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:141930206 errors:16 dropped:33 overruns:8 frame:0
TX packets:205827700 errors:0 dropped:0 overruns:13 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3911452847 (3.6 GiB) TX bytes:3463795567 (3.2 GiB)
Interrupt:12 Base address:0xe800

eth2 Link encap:Ethernet HWaddr 00:e0:4c:a4:8d:b5
inet6 addr: fe80::2e0:4cff:fea4:8db5/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:4843919 errors:0 dropped:0 overruns:0 frame:0
TX packets:7050674 errors:0 dropped:0 overruns:10 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1175385447 (1.0 GiB) TX bytes:193221973 (184.2 MiB)
Interrupt:11 Base address:0xec00

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:278364 errors:0 dropped:0 overruns:0 frame:0
TX packets:278364 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:31759262 (30.2 MiB) TX bytes:31759262 (30.2 MiB)

ppp0 Link encap:Point-to-Point Protocol
inet addr:94.242.141.98 P-t-P:10.50.254.203 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:1960722 errors:0 dropped:0 overruns:0 frame:0
TX packets:2868098 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:204817183 (195.3 MiB) TX bytes:3445917496 (3.2 GiB)

ppp1 Link encap:Point-to-Point Protocol
inet addr:10.152.214.86 P-t-P:10.150.254.203 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:728073 errors:0 dropped:0 overruns:0 frame:0
TX packets:1327392 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:45491979 (43.3 MiB) TX bytes:1863571911 (1.7 GiB)

сейчас курю опции, дебаг поставлю.

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

Не так понял. Бридж не причем это точно, а подожди, в этот момент ты можешь зайти на сервак? Может в mtu дело? Ты так ине дал вывод iptables

Добавь коронное

iptables -t mangle -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

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

Так вы и не просили вывод таблеса :)
Есть такое, к сожалению.
# Generated by iptables-save v1.4.3.2 on Mon Sep 13 21:28:01 2010
*filter
:INPUT ACCEPT [136901987:21477556721]
:FORWARD ACCEPT [12818867:10604417771]
:OUTPUT ACCEPT [202876055:248527077179]
-A INPUT -i ppp0 -p tcp -m tcp --dport 22 -j DROP
-A INPUT -i ppp1 -p tcp -m tcp --dport 22 -j DROP
COMMIT
# Completed on Mon Sep 13 21:28:01 2010
# Generated by iptables-save v1.4.3.2 on Mon Sep 13 21:28:01 2010
*mangle
:PREROUTING ACCEPT [149878177:32143389961]
:INPUT ACCEPT [136902064:21477561005]
:FORWARD ACCEPT [12818872:10604417981]
:OUTPUT ACCEPT [202876071:248527094963]
:POSTROUTING ACCEPT [215694943:259131512944]
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Mon Sep 13 21:28:01 2010
# Generated by iptables-save v1.4.3.2 on Mon Sep 13 21:28:01 2010
*nat
:PREROUTING ACCEPT [8599311:827340670]
:POSTROUTING ACCEPT [4004606:376176806]
-A POSTROUTING -s 192.168.0.0/24 -o ppp1 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Mon Sep 13 21:28:01 2010

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

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

IR0N
() автор топика

Симптомы: ни с сервака, ни с клиентов не пингуется ничего

Вот кстати щас только заметил -m 1412

выстави 1492

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

Выставил, только почти уверен что не поможет.
Посмотрите на ифконфиг- там 1492, потому что столько прописано в файле опций.

IR0N
() автор топика
Ответ на: комментарий от anton_jugatsu

Почему ерунду? Параметр MTU задается в файле опций, везде сказано что должно быть MTU 1492 - смотрите, у меня в pppX именно столько и стоит.
P.S: и еще помоему вы MTU в опциях перепутали с MSS, которая задается параметром -m.

IR0N
() автор топика
Ответ на: комментарий от anton_jugatsu

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

IR0N
() автор топика
Ответ на: комментарий от anton_jugatsu

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

IR0N
() автор топика

Сегодня чисто случайно удалось повторить ситуацию.
При работающих сетевых интерфейсах pppX (которые идут через eth1) выдернул кабель из сетевухи eth1. К моему удивлению, через 10 минут не упали ни ppp, ни eth. Все интерфейсы остались висеть, но счетчики пакетов замерли (что и понятно).
Вставил назад кабель-пинги не идут, интерфейсы висят, интернета нет.
killall pppd, стартуем опять pppd и все работает.
Не понимаю почему при вытащенном кабеле интерфейсы (причем все) остаются в состоянии up. Мне казалось, должны опускаться.
Задача: заставить падать интерфейс при выдергивании кабеля, а позже разрулить запуск/убивание pppd через if-up if-down.

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