Jump to content
Калькуляторы

Вот все до 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]

После этого падение.

Share this post


Link to post
Share on other sites

Я вот перечитал ваше тему на форуме проекта, подскажите без soft-terminate=1 не падает?

На стенде не так давно откатывал и даже нашел как вызвать падение accel-ppp. Когда сессия имеет статус finished, в данный момент послать 2 dhcp запроса dhcprelease.

Share this post


Link to post
Share on other sites

подскажите без soft-terminate=1 не падает?

Без я долго не тестировал - у нас выдается короткое время сессии, поистечению которого юзер заново авторизуется на радиусе.

Share this post


Link to post
Share on other sites

 

Используется чисто для pptp + radius. Kernel panic раз в сутки-двое :)

Нагрузка большая?

 

Почти никакой: 50 пользователей - 200 МБит/с, LA - 0.4.

Поставил kdump и выключил TCPMSS --clamp-mss-to-pmtu, посмотрим.

Share this post


Link to post
Share on other sites

Почти никакой: 50 пользователей - 200 МБит/с, LA - 0.4.

Драйвера сетевой igb?

 

Без я долго не тестировал - у нас выдается короткое время сессии, поистечению которого юзер заново авторизуется на радиусе.

Эх, нет у меня конечно огромного скила в СИ да и проект очень объемный. Тут думаю нужно xebа завлекать донатом на мандарины перед Новым годом =)

Share this post


Link to post
Share on other sites

Я так понял идет обращение к уже удаленному rpd. Я просто закомментировал abort(), а в ses_finishing() проверяю чтобы возврат функции find_pd() был не нулевым.

Share this post


Link to post
Share on other sites

Я так понял идет обращение к уже удаленному rpd. Я просто закомментировал abort(), а в ses_finishing() проверяю чтобы возврат функции find_pd() был не нулевым.

Думаю будет утечка памяти.

Share this post


Link to post
Share on other sites

Dimka88

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

Share this post


Link to post
Share on other sites

Если оно пытается удалить уже удаленную сессию, думаю, утечки не будет.

Тут согласен. Как временное решение возможно неплохой вариант. Интересует нарушенная последовательность завершения сессии, тут бы разобраться, куда то же rpd девается раньше времени.

Share this post


Link to post
Share on other sites

Драйвера сетевой 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 ещё не отработал ни разу.

Share this post


Link to post
Share on other sites

SABRE, xeb выпустил исправление в мастер, commit 696c7fcbea013a66fa21136ec0a67146fdde3bae

Share this post


Link to post
Share on other sites

имею схему dhcp. L2. выдача локального ип из пула, + выдача статичного IP из radius.

 

при выдаче IP от радиус - accel не принимает его, а поднимает с IP который был выдан из pool

А разве данный функционал реализован? Думаю это нужно на форуме accel-ppp писать в раздел Feature requests, что бы не потерялась идея.

Share this post


Link to post
Share on other sites

имею схему 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"

Share this post


Link to post
Share on other sites

У меня давно (года 3-4) работает выдача IP на accel-ppp так:

Хм, я подумал о другой схеме, где указывается range на интерфейсе.

Share this post


Link to post
Share on other sites

имею схему 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 релеит на внешний? Если внешний то какой ?

Share this post


Link to post
Share on other sites

А адреса кто выдаёт в итоге ? Встроенный DHCP в accel или accel релеит на внешний?

Встроенный DHCP в accel-ppp, по параметрам указанным в ippool, вот в wiki написано, для редиректа http://accel-ppp.org/wiki/doku.php?id=ru:ipoe#l4-redirect

Share this post


Link to post
Share on other sites

имею схему 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.

Edited by nik247

Share this post


Link to post
Share on other sites

SABRE, xeb выпустил исправление в мастер, commit 696c7fcbea013a66fa21136ec0a67146fdde3bae

Да это то что нужно - теперь стабильно. xeb, большое спасибо.

 

Хотел спросить, кто использует IPoE и IPv6 - я так понял IPv6 адреса не добавляются в сет l4redirect? Кто как выходит из ситуации, когда у клиента необходимо сделать редирект?

Share this post


Link to post
Share on other sites

Коллеги, помогите с настройкой 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

 

 

Share this post


Link to post
Share on other sites

list

IPOE-модуль загружен? По конфигу все ок.

Share this post


Link to post
Share on other sites

Да, модуль ipoe загружен.

Там вроде бы появился модуль vlan_mon, его тоже загрузили?

Share this post


Link to post
Share on other sites

Всем добрый вечер!

Также не поднимаются абонентские интерфейсы через 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 работает.

Не могу понять что сделал не так.

Share this post


Link to post
Share on other sites

В bash выполните

ip netns add default

и будет подниматься, проверил на стенде. Отпишитесь по результатам, а то namespaces еще сам не ковырял.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now