Спонтанное отключение всех IPoE интерфейсов

IPoE related questions
KovAl
Posts: 91
Joined: 26 Dec 2017, 15:35

Спонтанное отключение всех IPoE интерфейсов

Post by KovAl »

В продолжение темы..
CentOS 6.9, ядро 3.10.108-1.el6.elrepo.x86_64, accel-ppp version 03d9f8c59b6375325d7dfef0313c8c54705cfe0b, QinQ, ip-unnumbered.
Конфиг
Спойлер

Code: Select all

[modules]
log_file
ipoe
connlimit
radius
ippool
shaper
vlan-mon

[core]
log-error=/var/log/accel-ppp/core.log
thread-count=2

[dns]
dns1=XXX.XXX.XXX.XXX
dns2=XXX.XXX.XXX.XXX

[ipoe]
verbose=1
any-login=0
noauth=0
username=lua:is_user
password=my_passw
lua-file=/etc/accel/accel-ppp.lua
shared=0
ifcfg=1
mode=L2
proxy-arp=0
ip-unnumbered=1
start=dhcpv4
lease-time=600
renew-time=300
max-lease-time=660
attr-dhcp-client-ip=Framed-IP-Address
attr-dhcp-router-ip=DHCP-Router-IP-Address
attr-dhcp-mask=DHCP-Mask
attr-dhcp-opt82-remote-id=AccelRemoteId
attr-dhcp-opt82-circuit-id=AccelCircuitId
attr-l4-redirect=L4-Redirect
attr-l4-redirect-ipset=L4-Redirect-ipset
l4-redirect-on-reject=1800
l4-redirect-ip-pool=guest
vlan-mon=re:eth0\.3[5-9][0-9][0-9],100-2727
vlan-timeout=300
interface=re:eth0\.\d{4}\.\d{3},mtu=1500
check-mac-change=1
gw-ip-address=172.16.0.1/12
gw-ip-address=XXX.XXX.XXX.1/24
gw-ip-address=192.168.248.1/22

[connlimit]
limit=5/min
burst=3
timeout=60

[radius]
dictionary=/usr/share/accel-ppp/radius/dictionary
nas-identifier=IPoE-NAS-6
nas-ip-address=10.254.254.18
server=10.254.254.22,rad_passw,auth-port=1812,acct-port=1813,req-limit=16,fail-timeout=0,max-fail=0,weight=1
dae-server=10.254.254.18:3799,dae_passw
acct-on=0
max-try=3
acct-interim-interval=60
verbose=1
interim-verbose=1
acct-timeout=30

[ip-pool]
192.168.248.2/22,name=guest
gw-ip-address=192.168.248.1/22

[log]
log-file=/var/log/accel-ppp/accel-ppp.log
log-emerg=/var/log/accel-ppp/emerg.log
log-fail-file=/var/log/accel-ppp/auth-fail.log
copy=1
level=4

[shaper]
time-range=1,0:00-9:59
vendor=Cisco
attr=Cisco-AVPair
latency=50
mpu=29
quantum=1500
leaf-qdisc=sfq perturb 10
ifb=ifb1
up-limiter=police
down-limiter=htb
verbose=1

[cli]
verbose=1
telnet=127.0.0.1:2000
tcp=127.0.0.1:2001
sessions-columns=ifname,username,calling-sid,ip,rate-limit,called-sid,state,uptime,rx-bytes,tx-bytes
Непредсказуемо уходят в down ВСЕ IPoE интерфейсы, включая "родителя".
Происходит это в-основном в момент перевода сегмента сети с PPPoE-Dual access на IPoE, иногда - гораздо реже - уже в "только IPoE состоянии".
В логах - как системных, так и аццел-я - ничего, что бы могло пролить свет на причину.
Написал "сторожа", который следит за состоянием "родительского интерфейса", ребутая машину после его отключения.
Добавил в него ("сторожа" ) запись перед ребутом dmesg и ifconfig -a. В dmesg в момент отключения вообще ничего, проливающего свет, не пишется.
Вывод ifconfig -a на этот момент такой

Code: Select all

eth0      Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:FF
          BROADCAST MULTICAST  MTU:1504  Metric:1
          RX packets:977422895 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1319039003 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10000
          RX bytes:402270064990 (374.6 GiB)  TX bytes:1543982032312 (1.4 TiB)

eth0.3612 Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:FF
          BROADCAST MULTICAST  MTU:1504  Metric:1
          RX packets:26524686 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29213750 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:14363115017 (13.3 GiB)  TX bytes:29719476300 (27.6 GiB)

eth0.3612.102 Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:FF
          inet addr:172.16.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:276318 errors:0 dropped:0 overruns:0 frame:0
          TX packets:393425 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:19483705 (18.5 MiB)  TX bytes:564165716 (538.0 MiB)

eth0.3612.202 Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:FF
          inet addr:172.16.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:35902 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37146 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4254842 (4.0 MiB)  TX bytes:37857262 (36.1 MiB)

eth0.3612.303 Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:FF
          inet addr:172.16.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:196 errors:0 dropped:0 overruns:0 frame:0
          TX packets:127 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:49826 (48.6 KiB)  TX bytes:27418 (26.7 KiB)
.....
и т.д. все активные на этот момент интерфейсы

eth1      Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:11
          inet6 addr: fe80::a6bf:1ff:fe25:b536/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1327381615 errors:0 dropped:0 overruns:0 frame:0
          TX packets:977379351 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10000
          RX bytes:1549076046669 (1.4 TiB)  TX bytes:397104777342 (369.8 GiB)

eth1.9    Link encap:Ethernet  HWaddr AA:BB:CC:DD:EE:11
          inet addr:10.254.254.18  Bcast:10.254.254.23  Mask:255.255.255.248
          inet6 addr: fe80::a6bf:1ff:fe25:b536/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1302278540 errors:0 dropped:0 overruns:0 frame:0
          TX packets:977379346 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1529339717487 (1.3 TiB)  TX bytes:397104776968 (369.8 GiB)

ifb0      Link encap:Ethernet  HWaddr BA:B0:4C:67:4A:68
          BROADCAST NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

ifb1      Link encap:Ethernet  HWaddr 52:08:01:B2:2B:AF
          inet6 addr: fe80::5008:1ff:feb2:2baf/64 Scope:Link
          UP BROADCAST DEBUG RUNNING  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:5 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:390 (390.0 b)  TX bytes:0 (0.0 b)

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:65536  Metric:1
          RX packets:208535 errors:0 dropped:0 overruns:0 frame:0
          TX packets:208535 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:34682365 (33.0 MiB)  TX bytes:34682365 (33.0 MiB)
Хорошо видно, что все интерфейсы, связанные с eth0 и он сам, в состоянии down.
И это ВСЁ, что можно найти в логах.. Можно сказать, что ничего..
Где и что искать, не представляю..
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Спонтанное отключение всех IPoE интерфейсов

Post by dimka88 »

1. Совет по оптимизации accel-ppp.conf
Если у вас указаны/перечислены

Code: Select all

gw-ip-address=172.16.0.1/12
gw-ip-address=XXX.XXX.XXX.1/24
gw-ip-address=192.168.248.1/22
можете убирать

Code: Select all

attr-dhcp-router-ip=DHCP-Router-IP-Address
attr-dhcp-mask=DHCP-Mask
2. Попробуйте выключить SELinux, перенесите настройки интерфейсов из init скриптов в rc.local и отключить network-manager.
3. Стоит увеличить MTU до 1526
4. Зафиксируйте время падения интерфейса и внимательно посмотрите/настройте syslog.
5. Покажите вывод ethtool eth0 после падения интерфейса.
6. Обратите внимание на логи коммутатора/маршрутизатора к которому подключен BRAS.
KovAl
Posts: 91
Joined: 26 Dec 2017, 15:35

Re: Спонтанное отключение всех IPoE интерфейсов

Post by KovAl »

dimka88 wrote: 31 May 2018, 20:59 1. Совет по оптимизации accel-ppp.conf
Если у вас указаны/перечислены

Code: Select all

gw-ip-address=172.16.0.1/12
gw-ip-address=XXX.XXX.XXX.1/24
gw-ip-address=192.168.248.1/22
можете убирать

Code: Select all

attr-dhcp-router-ip=DHCP-Router-IP-Address
attr-dhcp-mask=DHCP-Mask
Когда-то пробовал их использовать, но не потребовалось. Так и оставил. Уберу.
dimka88 wrote: 31 May 2018, 20:59 2. Попробуйте выключить SELinux, перенесите настройки интерфейсов из init скриптов в rc.local и отключить network-manager.
SELinux disabled изначально, network-manager вообще отсутствует.
Насчёт скриптов настройки интерфейсов - Вы имеете ввиду файлы ifcfg-eth0 и т.п.?
Или вообще всю настройку интерфейсов выполнить в rc.local средствами vconfig и ifconfig?
dimka88 wrote: 31 May 2018, 20:59 3. Стоит увеличить MTU до 1526
Попробую.
dimka88 wrote: 31 May 2018, 20:59 4. Зафиксируйте время падения интерфейса и внимательно посмотрите/настройте syslog.
Время фиксируется (в том логе, что "сторож" пишет).
Что изменить в syslog(rsyslog используется)?
Пока только отчекрыжил закомментированную строку

Code: Select all

kern.*                                                 /dev/console
Может в dmesg будет писать..
dimka88 wrote: 31 May 2018, 20:59 5. Покажите вывод ethtool eth0 после падения интерфейса.
Именно в таком виде, без опций?
dimka88 wrote: 31 May 2018, 20:59 6. Обратите внимание на логи коммутатора/маршрутизатора к которому подключен BRAS.
Кроме down/up интерфейса, к которому подключен сервер, ничего

Code: Select all

414   2018-05-31 18:29:04 INFO(6) Port 1:6 link up, 1000Mbps FULL duplex
413   2018-05-31 18:29:00 INFO(6) Port 1:6 link down
412   2018-05-31 18:28:58 INFO(6) Port 1:6 link up, 1000Mbps FULL duplex
411   2018-05-31 18:28:52 INFO(6) Port 1:6 link down
410   2018-05-31 18:28:28 INFO(6) Port 1:6 link up, 1000Mbps FULL duplex
409   2018-05-31 18:28:25 INFO(6) Port 1:6 link down
408   2018-05-31 18:28:13 INFO(6) Port 1:6 link up, 10Mbps FULL duplex
407   2018-05-31 18:28:10 INFO(6) Port 1:6 link down
406   2018-05-31 18:27:13 INFO(6) Port 1:6 link up, 1000Mbps FULL duplex
405   2018-05-31 18:27:09 INFO(6) Port 1:6 link down
Но! "Сторож" проверяет eth0 каждую минуту, последний раз он сработал в 18:28:01, а в логах видно, что интерфейс падал за минуту "до того как".
В принципе, это почти ни о чём, т.к. тут "сторож" просто не попал на этот момент.
Но интерфейс всё же кто-то поднял до этого!
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Спонтанное отключение всех IPoE интерфейсов

Post by dimka88 »

KovAl wrote: 01 Jun 2018, 06:43 Насчёт скриптов настройки интерфейсов - Вы имеете ввиду файлы ifcfg-eth0 и т.п.?
Или вообще всю настройку интерфейсов выполнить в rc.local средствами vconfig и ifconfig?
Вообще все выполнить в rc.local хоть ifconfig/vconfig хоть ip
KovAl wrote: 01 Jun 2018, 06:43 Время фиксируется (в том логе, что "сторож" пишет).
Что изменить в syslog(rsyslog используется)?
Пока только отчекрыжил закомментированную строку

Code: Select all

kern.*                                                 /dev/console
Centos вроде бы ложит все в /var/log/messages. Может там facility и loglevel для syslog выставить максимальный.
KovAl wrote: 01 Jun 2018, 06:43
dimka88 wrote: 31 May 2018, 20:59 5. Покажите вывод ethtool eth0 после падения интерфейса.
Именно в таком виде, без опций?
Ну да.
Что за коммутатор/маршрутизатор стоит? Не D-link DGS?
KovAl
Posts: 91
Joined: 26 Dec 2017, 15:35

Re: Спонтанное отключение всех IPoE интерфейсов

Post by KovAl »

dimka88 wrote: 01 Jun 2018, 14:32
KovAl wrote: 01 Jun 2018, 06:43 Насчёт скриптов настройки интерфейсов - Вы имеете ввиду файлы ifcfg-eth0 и т.п.?
Или вообще всю настройку интерфейсов выполнить в rc.local средствами vconfig и ifconfig?
Вообще все выполнить в rc.local хоть ifconfig/vconfig хоть ip
А вообще, какой тайный смысл в этом?
dimka88 wrote: 01 Jun 2018, 14:32 Что за коммутатор/маршрутизатор стоит? Не D-link DGS?
Коммутатор - D-link DGS-3120-24TC. Изначально был без ACL, сейчас добавлено дроп ipv6, мультикаста(обоих - и v4 и v6) и PPPoE.
Ничего не изменилось. Дело в чём-то другом.. Больше всего подозреваю, что крышу сносит у vlan-mon, но вот чем...
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

Re: Спонтанное отключение всех IPoE интерфейсов

Post by Dmitry »

vlan-mon интерфейсами не управляет, он только следит и сливает инфу в акцел
акцел создаёт,поднимает,опускает интерфейсы
и все свои действия документирует
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Спонтанное отключение всех IPoE интерфейсов

Post by dimka88 »

KovAl wrote: 01 Jun 2018, 14:43 А вообще, какой тайный смысл в этом?
Что бы исключить возможность взаимодействовать интерфейсов со всякими init скриптами. Естественно скрипты интерфейсов из стандартной директории следует перенести, что бы init скрипты их не видели.
KovAl
Posts: 91
Joined: 26 Dec 2017, 15:35

Re: Спонтанное отключение всех IPoE интерфейсов

Post by KovAl »

Dmitry wrote: 01 Jun 2018, 15:44 vlan-mon интерфейсами не управляет, он только следит и сливает инфу в акцел
акцел создаёт,поднимает,опускает интерфейсы
и все свои действия документирует
Понятно..
Какие-нибудь соображения есть по этому поводу?
Что может вызвать такое поведение accel? Или тут больше похоже на ядро/ОС?
Напомню - проблема в 9 из 10 случаях появляется в момент перевода сегмента сети с PPPoE Dual Access на IPoE.
Т.е. тогда, когда клиент подключает роутер с настроенным "вторичным подключением", которому accel выдаёт IP, ранее принадлежавший PPPoE подключению.
Например, абонентский роутер имеет следующие настройки:
1. PPPoE с авторизацией от радиуса (логин/пароль) с IP из подсети 172.16.0.0/12
2. "Вторичное подключение" с выдачей IP от DHCP-сервера из подсети 10.10.0.0/16 + маршрут для этой подсети (выдаётся динамически тем же DHCP).
В момент подключения такого роутера в "новый сегмент", он (роутер) может получить для "вторичного подключения" тот же самый IP, что использовался ранее для PPPoE.
Плюс в этот момент возможно "параллельное" PPPoE подключение, которое осуществляет второй сервер (отдельная машина с accel), настроенный на авторизацию без пароля и только PPPoE.
Этот сервер выдаёт IP из другой подсети (ранее не использовавшейся), которая редиректится на страницу-заглушку с уведомлением о необходимости перенастройки клиентского оборудования.
Сразу уточню - наличие второго сервера (PPPoE) на ситуацию не влияет, пробовал его отключать на период перевода в IPoE.
Результат аналогичный.
Что ещё примечательно - такая "схема" (с "параллельным" PPPoE и без) может работать устойчиво несколько часов (последний раз - 16 час.).
Но может и заглючить через 20-30 мин. после старта. Т.е. совершенно непредсказуемо.
Ещё раз повторюсь - создаётся впечатление, что от какого-то клиента прилетает "нЕчто", приводящее в ужас либо accel, либо ядро/ОС..
Причём без логирования этого события. Или я может не замечаю что-то в логе accel?

P.S.
dimka88 wrote: 01 Jun 2018, 17:23
KovAl wrote: 01 Jun 2018, 14:43 А вообще, какой тайный смысл в этом?
Что бы исключить возможность взаимодействовать интерфейсов со всякими init скриптами. Естественно скрипты интерфейсов из стандартной директории следует перенести, что бы init скрипты их не видели.
Ну это уже "аццкий костыль" какой-то..
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Спонтанное отключение всех IPoE интерфейсов

Post by dimka88 »

KovAl wrote: 01 Jun 2018, 17:30 Ну это уже "аццкий костыль" какой-то..
Я же не предлагаю это на постоянку, просто методы поиска заканчиваются. Сможете показать логи accel level=5 (-5 минут...падение интерфейса+5 минут)?
Axiator
Posts: 22
Joined: 22 Feb 2017, 16:06

Re: Спонтанное отключение всех IPoE интерфейсов

Post by Axiator »

В центосе любят над ядром колдовать. Не пробовали менять версию?
Post Reply