Page 1 of 1

Падение модуля radius

Posted: 08 Jun 2018, 08:03
by IVB
Здравствуйте.

Code: Select all

accel-ppp version 1.11.2

Code: Select all

# accel-cmd show stat
uptime: 0.00:11:40
cpu: 0%
mem(rss/virt): 9360/535004 kB
core:
  mempool_allocated: 205097
  mempool_available: 200745
  thread_count: 12
  thread_active: 1
  context_count: 15
  context_sleeping: 0
  context_pending: 0
  md_handler_count: 9
  md_handler_pending: 0
  timer_count: 1
  timer_pending: 0
sessions:
  starting: 0
  active: 0
  finishing: 0
pppoe:
  starting: 0
  active: 0
  delayed PADO: 0
  recv PADI: 0
  drop PADI: 0
  sent PADO: 0
  recv PADR(dup): 0(0)
  sent PADS: 0
  filtered: 0
ipoe:
  starting: 0
  active: 0
  delayed: 0
radius(1, 192.168.100.10):
  state: active
  fail count: 0
  request count: 0
  queue length: 0
  auth sent: 0
  auth lost(total/5m/1m): 0/0/0
  auth avg query time(5m/1m): 0/0 ms
  acct sent: 0
  acct lost(total/5m/1m): 0/0/0
  acct avg query time(5m/1m): 0/0 ms
  interim sent: 0
  interim lost(total/5m/1m): 0/0/0
  interim avg query time(5m/1m): 0/0 ms
Пытаюсь "подружить" accel с opt82

Если в конфиге закомментированы команды

Code: Select all

#attr-dhcp-opt82-remote-id=Agent-Remote-Id
#attr-dhcp-opt82-circuit-id=Agent-Circuit-Id
DHCP-request попадает на accel и формируется запрос к radius (в DHCP opt82 есть, в запросе к радиусу, естественно, нет).
Фрагмент accel-ppp.log:

Code: Select all

[2018-06-08 10:18:50]:  info: vlan1021: recv [DHCPv4 Discover xid=9618e2e3 chaddr=00:50:56:9c:55:ad <Message-Type Discover> <Option-116 01> <Client-ID 010050569c55ad> <Host-Name Тестовый> <Vendor-Class 4d53465420352e30> <Request-List Subnet,Domain-Name,Router,DNS,44,46,47,31,Route,249,Vendor-Specific> <Vendor-Specific dc00> <Relay-Agent {Agent-Circuit-ID _000403fd0007} {Agent-Remote-ID _0006001e58ab0476}>]
[2018-06-08 10:18:50]:  info: ipoe0: create interface ipoe0 parent vlan1021
[2018-06-08 10:18:50]:  info: ipoe0: send [RADIUS(1) Access-Request id=1 <User-Name "vlan1021"> <NAS-Identifier "core"> <NAS-IP-Address 192.168.101.104> <NAS-Port 46> <NAS-Port-Id "ipoe0"> <NAS-Port-Type Ethernet> <Calling-Station-Id "00:50:56:9c:55:ad"> <Called-Station-Id "vlan1021"> <User-Password >]
[2018-06-08 10:18:53]:  info: ipoe0: send [RADIUS(1) Access-Request id=1 <User-Name "vlan1021"> <NAS-Identifier "core"> <NAS-IP-Address 192.168.101.104> <NAS-Port 46> <NAS-Port-Id "ipoe0"> <NAS-Port-Type Ethernet> <Calling-Station-Id "00:50:56:9c:55:ad"> <Called-Station-Id "vlan1021"> <User-Password >]
[2018-06-08 10:18:55]:  info: ipoe0: recv [RADIUS(1) Access-Reject id=1]
[2018-06-08 10:18:55]:  warn: ipoe0: authentication failed
[2018-06-08 10:18:55]: debug: ipoe0: terminate
[2018-06-08 10:18:55]:  info: ipoe0: ipoe: session finished
Если же упомянутые команды раскомментировать - до формирования запроса к радиусу дело не доходит, а в журнале emerg.log появляются записи:

Code: Select all

radius: out of memory
radius: out of memory
radius: out of memory
Таймштампы в emerg.log отсутствуют, но по косвенным признакам (времени изменения файла) можно предположить, что эти записи как раз соответствуют DHCP запросам.
И в accel-ppp.log немного другая картина:

Code: Select all

[2018-06-08 10:20:26]:  info: vlan1021: recv [DHCPv4 Discover xid=833776e5 chaddr=00:50:56:9c:55:ad <Message-Type Discover> <Option-116 01> <Client-ID 010050569c55ad> <Host-Name Тестовый> <Vendor-Class 4d53465420352e30> <Request-List Subnet,Domain-Name,Router,DNS,44,46,47,31,Route,249,Vendor-Specific> <Vendor-Specific dc00> <Relay-Agent {Agent-Circuit-ID _000403fd0007} {Agent-Remote-ID _0006001e58ab0476}>]
[2018-06-08 10:20:26]:  info: ipoe0: create interface ipoe0 parent vlan1021
[2018-06-08 10:20:26]:  warn: ipoe0: authentication failed
[2018-06-08 10:20:26]: debug: ipoe0: terminate
[2018-06-08 10:20:26]:  info: ipoe0: ipoe: session finished
Почему модуль radius падает с сообщением out of memery? (на сервере 32 Гб ОЗУ, используется менее 200 Мб, вся остальная память свободна)
Даже более того - почему он вообще падает? Я ж ничего криминального, вроде бы, не делаю...

P.S. Значения параметров Agent-Remote-Id и Agent-Circuit-Id в словаре радиуса для accel прописаны так же, как в словаре радиуса для freeradius.

Re: Падение модуля radius

Posted: 08 Jun 2018, 08:09
by IVB
На всякий случай - словарь:

Code: Select all

VENDOR          Redback                 2352
BEGIN-VENDOR    Redback
ATTRIBUTE       Agent-Remote-Id         96      octets
ATTRIBUTE       Agent-Circuit-Id        97      octets
END-VENDOR      Redback

Re: Падение модуля radius

Posted: 08 Jun 2018, 09:36
by Dmitry
привет
то что падает конечно плохо
но в любом случае вендорные атрибуты для этих целей не поддерживаются

Re: Падение модуля radius

Posted: 08 Jun 2018, 11:43
by IVB
Dmitry wrote:
08 Jun 2018, 09:36
привет
то что падает конечно плохо
но в любом случае вендорные атрибуты для этих целей не поддерживаются
А как выкручиваться?
У меня один радиус, который работает и для "железного" BRAS (Redback), и этот же радиус должен будет работать для accel.
Очень не хочется делать ветвление по типу NAS (хотя такая возможность есть)

Re: Падение модуля radius

Posted: 08 Jun 2018, 13:34
by Dmitry
commit adcca6dde24cd3432143c0e7a44b7e477a39516a

в конфиге должно быть
[ipoe]
vendor=Redback

Re: Падение модуля radius

Posted: 11 Jun 2018, 09:03
by IVB
Спасибо!!!
буду пробовать

Re: Падение модуля radius

Posted: 12 Jun 2018, 07:59
by IVB
Проверено.
Работает.
Спасибо!