SABRE Опубликовано 27 ноября, 2016 · Жалоба Вот все до bt full: gdb accel-pppd /home/sabre/core-accel-pppd-1473587737 GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from accel-pppd...done. [New LWP 5158] [New LWP 5149] [New LWP 5160] [New LWP 5148] [New LWP 5155] [New LWP 5157] [New LWP 5156] [New LWP 5159] [New LWP 5150] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `accel-pppd -d --dump /tmp -c /etc/accel-ppp.conf'. Program terminated with signal SIGABRT, Aborted. #0 0x00007fca16f99067 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 0x00007fca16f99067 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007fca16f9a448 in __GI_abort () at abort.c:89 #2 0x00007fca1673f77b in find_pd (ses=0x7fca10001bc0) at /root/accel-ppp-1.11.0/accel-pppd/radius/radius.c:565 #3 0x00007fca1673f34c in ses_finishing (ses=0x7fca10001bc0) at /root/accel-ppp-1.11.0/accel-pppd/radius/radius.c:458 #4 0x00007fca1820a6ff in triton_event_fire (ev_id=3, arg=0x7fca10001bc0) at /root/accel-ppp-1.11.0/accel-pppd/triton/event.c:103 #5 0x0000000000406433 in ap_session_finished (ses=0x7fca10001bc0) at /root/accel-ppp-1.11.0/accel-pppd/session.c:180 #6 0x00007fca16b4eac8 in ipoe_session_terminated (ses=0x7fca10001ad8) at /root/accel-ppp-1.11.0/accel-pppd/ctrl/ipoe/ipoe.c:1142 #7 0x00007fca182075b1 in ctx_thread (ctx=0x7fca10001e28) at /root/accel-ppp-1.11.0/accel-pppd/triton/triton.c:238 #8 0x00007fca182072b2 in triton_thread (thread=0x1894cc0) at /root/accel-ppp-1.11.0/accel-pppd/triton/triton.c:159 #9 0x00007fca17de60a4 in start_thread (arg=0x7fca1511e700) at pthread_create.c:309 #10 0x00007fca1704c87d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 В emerg.log одна единственная строчка: radius:BUG: rpd not found В accel-ppp.log: [2016-09-12 11:39:48]: info: ipoe0: send [RADIUS(1) Access-Request id=1 <User-Name "eth1.20"> <NAS-Identifier "accel-ppp"> <NAS-IP-Address 127.0.0.1> <NAS-Port 453> <NAS-Port-Id "ipoe0"> <NAS-Port-Type Ethernet> <Calling-Station-Id "3a:39:63:61:37:39"> <Called-Station-Id "eth1.20"> <User-Password >] [2016-09-12 11:39:48]: info: ipoe0: recv [RADIUS(1) Access-Accept id=1 <Session-Timeout 120> <DHCP-Client-IP-Address 172.16.1.10>] [2016-09-12 11:39:48]: info: ipoe0: eth1.20: authentication succeeded [2016-09-12 11:39:48]: info: ipoe0: send [RADIUS(1) Accounting-Request id=1 <User-Name "eth1.20"> <NAS-Identifier "accel-ppp"> <NAS-IP-Address 127.0.0.1> <NAS-Port 453> <NAS-Port-Id "ipoe0"> <NAS-Port-Type Ethernet> <Calling-Station-Id "3a:39:63:61:37:39"> <Called-Station-Id "eth1.20"> <Acct-Status-Type Start> <Acct-Authentic RADIUS> <Acct-Session-Id "defecdef8cb40114"> <Acct-Session-Time 0> <Acct-Input-Octets 0> <Acct-Output-Octets 0> <Acct-Input-Packets 0> <Acct-Output-Packets 0> <Acct-Input-Gigawords 0> <Acct-Output-Gigawords 0> <Framed-IP-Address 172.16.1.10>] [2016-09-12 11:39:48]: info: ipoe0: recv [RADIUS(1) Accounting-Response id=1] [2016-09-12 11:39:48]: info: ipoe0: ipoe: session started [2016-09-12 11:41:48]: msg: ipoe0: session timeout [2016-09-12 11:42:30]: info: ipoe0: send [RADIUS(1) Accounting-Request id=1 <User-Name "eth1.20"> <NAS-Identifier "accel-ppp"> <NAS-IP-Address 127.0.0.1> <NAS-Port 453> <NAS-Port-Id "ipoe0"> <NAS-Port-Type Ethernet> <Calling-Station-Id "3a:39:63:61:37:39"> <Called-Station-Id "eth1.20"> <Acct-Status-Type Stop> <Acct-Authentic RADIUS> <Acct-Session-Id "defecdef8cb40114"> <Acct-Session-Time 120> <Acct-Input-Octets 984> <Acct-Output-Octets 1412> <Acct-Input-Packets 3> <Acct-Output-Packets 11> <Acct-Input-Gigawords 0> <Acct-Output-Gigawords 0> <Framed-IP-Address 172.16.1.10> <Acct-Terminate-Cause Session-Timeout>] [2016-09-12 11:42:30]: info: ipoe0: ipoe: session finished [2016-09-12 11:42:30]: info: recv [RADIUS(1) Accounting-Response id=1] После этого падение. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimka88 Опубликовано 27 ноября, 2016 · Жалоба Я вот перечитал ваше тему на форуме проекта, подскажите без soft-terminate=1 не падает? На стенде не так давно откатывал и даже нашел как вызвать падение accel-ppp. Когда сессия имеет статус finished, в данный момент послать 2 dhcp запроса dhcprelease. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SABRE Опубликовано 27 ноября, 2016 · Жалоба подскажите без soft-terminate=1 не падает? Без я долго не тестировал - у нас выдается короткое время сессии, поистечению которого юзер заново авторизуется на радиусе. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Gaspar Опубликовано 27 ноября, 2016 · Жалоба Используется чисто для pptp + radius. Kernel panic раз в сутки-двое :) Нагрузка большая? Почти никакой: 50 пользователей - 200 МБит/с, LA - 0.4. Поставил kdump и выключил TCPMSS --clamp-mss-to-pmtu, посмотрим. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimka88 Опубликовано 27 ноября, 2016 · Жалоба Почти никакой: 50 пользователей - 200 МБит/с, LA - 0.4. Драйвера сетевой igb? Без я долго не тестировал - у нас выдается короткое время сессии, поистечению которого юзер заново авторизуется на радиусе. Эх, нет у меня конечно огромного скила в СИ да и проект очень объемный. Тут думаю нужно xebа завлекать донатом на мандарины перед Новым годом =) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SABRE Опубликовано 27 ноября, 2016 · Жалоба Я так понял идет обращение к уже удаленному rpd. Я просто закомментировал abort(), а в ses_finishing() проверяю чтобы возврат функции find_pd() был не нулевым. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimka88 Опубликовано 27 ноября, 2016 · Жалоба Я так понял идет обращение к уже удаленному rpd. Я просто закомментировал abort(), а в ses_finishing() проверяю чтобы возврат функции find_pd() был не нулевым. Думаю будет утечка памяти. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SABRE Опубликовано 27 ноября, 2016 · Жалоба Dimka88 Если оно пытается удалить уже удаленную сессию, думаю, утечки не будет. Нужно понаблюдать. Плюс раньше это было гарантированное падение. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimka88 Опубликовано 27 ноября, 2016 · Жалоба Если оно пытается удалить уже удаленную сессию, думаю, утечки не будет. Тут согласен. Как временное решение возможно неплохой вариант. Интересует нарушенная последовательность завершения сессии, тут бы разобраться, куда то же rpd девается раньше времени. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Gaspar Опубликовано 27 ноября, 2016 · Жалоба Драйвера сетевой igb? Ошибка в точности воспроизводится на двух разных серверах с одинаковым набором ПО. На одном igb: Intel® Gigabit Ethernet Network Driver - version 5.0.5-k На втором e1000e: Intel® PRO/1000 Network Driver - 2.3.2-k После первого падения подключили монитор - в трассировке много упоминаний nf_conntrack. Одна из последних строк - RIP __nf_conntrack_find_get+0x6f/0x2c0 [nf_conntrack] kdump ещё не отработал ни разу. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimka88 Опубликовано 27 ноября, 2016 · Жалоба nf_conntrack Вы тут же и натите? Уже встречалось подобное у людей http://accel-ppp.org/forum/viewtopic.php?f=18&t=714&p=2740&hilit=conntrack#p2740, перешли на kernel 4.7.10 и все хорошо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimka88 Опубликовано 28 ноября, 2016 · Жалоба SABRE, xeb выпустил исправление в мастер, commit 696c7fcbea013a66fa21136ec0a67146fdde3bae Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimka88 Опубликовано 29 ноября, 2016 · Жалоба имею схему dhcp. L2. выдача локального ип из пула, + выдача статичного IP из radius. при выдаче IP от радиус - accel не принимает его, а поднимает с IP который был выдан из pool А разве данный функционал реализован? Думаю это нужно на форуме accel-ppp писать в раздел Feature requests, что бы не потерялась идея. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nik247 Опубликовано 1 декабря, 2016 · Жалоба имею схему dhcp. L2. выдача локального ип из пула, + выдача статичного IP из radius. при выдаче IP от радиус - accel не принимает его, а поднимает с IP который был выдан из pool А разве данный функционал реализован? Думаю это нужно на форуме accel-ppp писать в раздел Feature requests, что бы не потерялась идея. У меня давно (года 3-4) работает выдача IP на accel-ppp так: Динамик IP - через "Framed-Pool" - через локальный пул, имя которого передается в этом атрибуте. Статик IP - через "Framed-IP-Address" - имеет более высокий приоритет перед "Framed-Pool" Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimka88 Опубликовано 1 декабря, 2016 · Жалоба У меня давно (года 3-4) работает выдача IP на accel-ppp так: Хм, я подумал о другой схеме, где указывается range на интерфейсе. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
hsvt Опубликовано 1 декабря, 2016 · Жалоба имею схему dhcp. L2. выдача локального ип из пула, + выдача статичного IP из radius. при выдаче IP от радиус - accel не принимает его, а поднимает с IP который был выдан из pool А разве данный функционал реализован? Думаю это нужно на форуме accel-ppp писать в раздел Feature requests, что бы не потерялась идея. У меня давно (года 3-4) работает выдача IP на accel-ppp так: Динамик IP - через "Framed-Pool" - через локальный пул, имя которого передается в этом атрибуте. Статик IP - через "Framed-IP-Address" - имеет более высокий приоритет перед "Framed-Pool" А адреса кто выдаёт в итоге ? Встроенный DHCP в accel или accel релеит на внешний? Если внешний то какой ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimka88 Опубликовано 1 декабря, 2016 · Жалоба А адреса кто выдаёт в итоге ? Встроенный DHCP в accel или accel релеит на внешний? Встроенный DHCP в accel-ppp, по параметрам указанным в ippool, вот в wiki написано, для редиректа http://accel-ppp.org/wiki/doku.php?id=ru:ipoe#l4-redirect Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nik247 Опубликовано 1 декабря, 2016 (изменено) · Жалоба имею схему dhcp. L2. выдача локального ип из пула, + выдача статичного IP из radius. при выдаче IP от радиус - accel не принимает его, а поднимает с IP который был выдан из pool А разве данный функционал реализован? Думаю это нужно на форуме accel-ppp писать в раздел Feature requests, что бы не потерялась идея. У меня давно (года 3-4) работает выдача IP на accel-ppp так: Динамик IP - через "Framed-Pool" - через локальный пул, имя которого передается в этом атрибуте. Статик IP - через "Framed-IP-Address" - имеет более высокий приоритет перед "Framed-Pool" А адреса кто выдаёт в итоге ? Встроенный DHCP в accel или accel релеит на внешний? Если внешний то какой ? Динамику accel-ppp из своего пула, а статику - radius. При чем работает это одинаково для IPoE и PPPoE. Изменено 1 декабря, 2016 пользователем nik247 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SABRE Опубликовано 2 декабря, 2016 · Жалоба SABRE, xeb выпустил исправление в мастер, commit 696c7fcbea013a66fa21136ec0a67146fdde3bae Да это то что нужно - теперь стабильно. xeb, большое спасибо. Хотел спросить, кто использует IPoE и IPv6 - я так понял IPv6 адреса не добавляются в сет l4redirect? Кто как выходит из ситуации, когда у клиента необходимо сделать редирект? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
list Опубликовано 5 декабря, 2016 · Жалоба Коллеги, помогите с настройкой vlan-mon на q-in-q интерфейсе. Версия accel-ppp 1.11.1 Ядро - 4.8.1-1.el6.elrepo.x86_64 dhcp запросы на корневых интерфейсах видны, а сабинтерфейсы не поднимаются. В логе с level=5 тишина. accel-ppp.conf: [ipoe] verbose=1 # username=ifname password=empty lease-time=240 renew-time=240 max-lease-time=300 shared=0 ifcfg=1 mode=L2 start=dhcpv4 proto=100 proxy-arp=0 interface=eth1 interface=eth1.40 vlan-mon=eth1.40,2000-2001 vlan-timeout=60 vlan-name=%I.%N interface=re:eth1.40\.[2-2][0-0][0-0][0-1] relay=172.18.22.159 giaddr=192.168.149.59 Интерфейсы в системе: eth1 Link encap:Ethernet HWaddr 00:1B:21:36:5C:7D UP BROADCAST MULTICAST MTU:1508 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:648 (648.0 b) Memory:f7c00000-f7c1ffff eth1.40 Link encap:Ethernet HWaddr 00:1B:21:36:5C:7D UP BROADCAST MULTICAST MTU:1504 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:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) DHCP дисковеры на eth1 и на eth1.40 видны: eth1: 11:30:25.650376 e8:11:32:c8:ef:85 > Broadcast, ethertype 802.1Q (0x8100), length 350: vlan 40, p 0, ethertype 802.1Q, vlan 2001, p 0, ethertype IPv4, (tos 0x0, ttl 128, id 7870, offset 0, flags [none], proto UDP (17), length 328) 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from e8:11:32:c8:ef:85, length 300, xid 0x24369ae5, secs 768, Flags [none] Client-Ethernet-Address e8:11:32:c8:ef:85 Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: Discover Client-ID Option 61, length 7: ether e8:11:32:c8:ef:85 Hostname Option 12, length 8: "user9180" Vendor-Class Option 60, length 8: "MSFT 5.0" Parameter-Request Option 55, length 12: Subnet-Mask, Domain-Name, Default-Gateway, Domain-Name-Server Netbios-Name-Server, Netbios-Node, Netbios-Scope, Router-Discovery Static-Route, Classless-Static-Route, Classless-Static-Route-Microsoft, Vendor-Option eth1.40: 12:34:59.584224 e8:11:32:c8:ef:85 > Broadcast, ethertype 802.1Q (0x8100), length 346: vlan 2001, p 0, ethertype IPv4, (tos 0x0, ttl 128, id 10307, offset 0, flags [none], proto UDP (17), length 328) 0.0.0.0.bootpc > 255.255.255.255.bootps: [udp sum ok] BOOTP/DHCP, Request from e8:11:32:c8:ef:85, length 300, xid 0x304ad0f3, Flags [none] (0x0000) Client-Ethernet-Address e8:11:32:c8:ef:85 Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: Discover Client-ID Option 61, length 7: ether e8:11:32:c8:ef:85 Hostname Option 12, length 8: "user9180" Vendor-Class Option 60, length 8: "MSFT 5.0" Parameter-Request Option 55, length 12: Subnet-Mask, Domain-Name, Default-Gateway, Domain-Name-Server Netbios-Name-Server, Netbios-Node, Netbios-Scope, Router-Discovery Static-Route, Classless-Static-Route, Classless-Static-Route-Microsoft, Vendor-Option END Option 255, length 0 PAD Option 0, length 0, occurs 13 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 5 декабря, 2016 · Жалоба list IPOE-модуль загружен? По конфигу все ок. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
list Опубликовано 5 декабря, 2016 · Жалоба Да, модуль ipoe загружен. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimka88 Опубликовано 5 декабря, 2016 · Жалоба Да, модуль ipoe загружен. Там вроде бы появился модуль vlan_mon, его тоже загрузили? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Atom1 Опубликовано 5 декабря, 2016 · Жалоба Всем добрый вечер! Также не поднимаются абонентские интерфейсы через vlan_mon vlan-per-user+qinq Версия accel-ppp comit 8557ca019041374d43712506eecc21479f83b9e6 Ядро Debian 3.16.36-1+deb8u2 accel-ppp.conf [ipoe] verbose=0 username=ifname lease-time=300 max-lease-time=600 unit-cache=0 attr-dhcp-client-ip=Framed-IP-Address attr-dhcp-router-ip=DHCP-Router-IP-Address attr-dhcp-mask=DHCP-Mask attr-l4-redirect=L4-Redirect attr-l4-redirect-ipset=L4-Redirect-ipset l4-redirect-ipset=l4 shared=0 ifcfg=1 #mode=L2 start=dhcpv4 proxy-arp=1 proto=100 vlan-mon=re:eth5\.2[0-9][0-9][0-9],100-499 vlan-timeout=3600 vlan-name=%I.%N interface=re:eth5\.2[0-9][0-9][0-9].[1-4][0-9][0-9] собирал вот так cmake /root/accel-ppp.git -DKDIR=/usr/src/linux-headers-`uname -r` -DBUILD_DRIVER=FALSE -DRADIUS=TRUE -DNETSNMP=TRUE -DSHAPER=TRUE -DLOG_PGSQL=FALSE -DLUA=TRUE -DBUILD_IPOE_DRIVER=TRUE -DBUILD_VLAN_MON_DRIVER=TRUE Все успешно Модуль ipoe загружен lsmod | grep ipoe ipoe 33846 0 Модуль vlan_mon загружен lsmod | grep vlan_mon vlan_mon 16917 0 Откатился на 1.10.2 vlan_mon работает. Не могу понять что сделал не так. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dimka88 Опубликовано 5 декабря, 2016 · Жалоба В bash выполните ip netns add default и будет подниматься, проверил на стенде. Отпишитесь по результатам, а то namespaces еще сам не ковырял. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...