PON BDCOM и Option82

Модуль управления DHCP сервером
newey
Сообщения: 26
Зарегистрирован: Пт авг 16, 2013 11:27 am

Re: PON BDCOM и Option82

Сообщение newey » Чт сен 12, 2013 12:23 pm

Makioro писал(а): Зачем приводить к общему виду, если потеряется информация о номере ONU?
В дальнейшей обработке участвуют только три параметра - пор, влан и мак_свича
Makioro писал(а): Ну и запись

Код: Выделить всё

$conf{DHCPHOSTS_EXPR}='Agent-Circuit-Id:0x(?:0004)?([0-9a-fA-F]{4})(?:[0-9a-fA-F]{2})?([0-9a-fA-F]{4})$:VLAN,PORT_DEC;';
Вашей утилитой обрабатывается и выводит именно те значения, которые нужны. И неважно, подставляю я строку из D-Link'a или BDCOM'a.
Если быть точным, то переменную я записываю в вашей программе вот так:

Код: Выделить всё

$expr_ = '(?:0004)?([0-9a-fA-F]{4})(?:[0-9a-fA-F]{2})?([0-9a-fA-F]{4})$';
Отсюда и вопрос: может я некорректно записываю в конфиг абиллса?
Встречный вопрос - а зачем использовать PORT_DEC, если не используется hex2ansii ?
В общем, логи - в студию ...

Makioro
Сообщения: 241
Зарегистрирован: Ср апр 27, 2011 11:09 am

Re: PON BDCOM и Option82

Сообщение Makioro » Чт сен 12, 2013 1:55 pm

newey писал(а):И опция $conf{ERROR2DB}=0; в config.pl тоже, наверное, указана ...
Про эту опцию не знал. Сейчас пробую с ней
newey писал(а):
Makioro писал(а): Зачем приводить к общему виду, если потеряется информация о номере ONU?
В дальнейшей обработке участвуют только три параметра - пор, влан и мак_свича
А что мешает мне записывать порт в виде a02? Номер порта в PON'e - это до 64 абонентов на нём. Поэтому важно знать номер ONU. И мак свитча я вообще игнорирую.
newey писал(а):Встречный вопрос - а зачем использовать PORT_DEC, если не используется hex2ansii ?
В общем, логи - в студию ...
А это от недопонимания документации. Я понял, что окончание "_DEC" - означает не десятичное представление шестнадцатиричных данных, а лишь то, что данные не нужно преобразовывать - а учитывая что данные приходят в шестнадцатиричном виде, поэтому так и записал (проще будет записывать порт а02, чем 2562). hex2ansii вообще мне непонятна. Если я где-то неправ, тыкните, пожалуйста.

Makioro
Сообщения: 241
Зарегистрирован: Ср апр 27, 2011 11:09 am

Re: PON BDCOM и Option82

Сообщение Makioro » Чт сен 12, 2013 1:58 pm

Попробовал с опцией $conf{ERROR2DB}=0; (радиус, естественно, перезагружал), но в файл /tmp/dhcphost_expr ничего не записалось и никакого айпишника клиенту не выдало (даже гостевого).
Куда ещё можно посмотреть на предмет включения логов?

~AsmodeuS~
Site Admin
Сообщения: 5707
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: PON BDCOM и Option82

Сообщение ~AsmodeuS~ » Пт сен 13, 2013 1:58 pm

Makioro писал(а):Попробовал с опцией $conf{ERROR2DB}=0; (радиус, естественно, перезагружал), но в файл /tmp/dhcphost_expr ничего не записалось и никакого айпишника клиенту не выдало (даже гостевого).
Куда ещё можно посмотреть на предмет включения логов?
$conf{ERROR2DB}=0; не использовать лизлог в базе, так как без базы freeradius dhcp работать не будет віпрсото убрали отображение в вебке активности сессий

Makioro
Сообщения: 241
Зарегистрирован: Ср апр 27, 2011 11:09 am

Re: PON BDCOM и Option82

Сообщение Makioro » Сб сен 14, 2013 7:56 am

~AsmodeuS~ писал(а):$conf{ERROR2DB}=0; не использовать лизлог в базе, так как без базы freeradius dhcp работать не будет віпрсото убрали отображение в вебке активности сессий
Как всё-таки заставить писать лог /tmp/dhcphost_expr ? /tmp/sql_errors нормально пишется

~AsmodeuS~
Site Admin
Сообщения: 5707
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: PON BDCOM и Option82

Сообщение ~AsmodeuS~ » Пн сен 16, 2013 2:30 pm

$conf{DHCP_FREERADIUS_DEBUG}=3;

Makioro
Сообщения: 241
Зарегистрирован: Ср апр 27, 2011 11:09 am

Re: PON BDCOM и Option82

Сообщение Makioro » Пн сен 30, 2013 5:53 am

~AsmodeuS~ писал(а):$conf{DHCP_FREERADIUS_DEBUG}=3;
Я уже включал эту опцию ранее. Не пишет ничего в /tmp/dhcphosts_expr

immortality
Сообщения: 52
Зарегистрирован: Ср мар 14, 2012 8:11 pm
Контактная информация:

Re: PON BDCOM и Option82

Сообщение immortality » Вт окт 01, 2013 2:43 pm

Возможный вам ответ на это :
Makioro писал(а):
newey писал(а):Нет. Так не пойдет. Изначально задача ставилась по-другому.

Формат идентификаторов был одинаковый, но его было необходимо "выравнивать" по правой стороне.
Сейчас формат совершенно разный. Приведите circuit-id бдкома к формату длинка. Если нужен номер модуля и/или номер ONU, то добавьте их в "номер" порта. Номер порта в билинге - это строка а не число. Т.е запись о порте в виде "0023" - это и будет идентификатор порта (и человеку понятно и билингу).
Да, изначально задача была другая. Тогда, кстати, тоже не работало выражение.
Из записи "0x000f000a02" выходит, что порт "0a02" - мне вполне понятно, а у д-линка из записи "0x0004000f0001" выдаст порт "0001", где первые два нуля будут взяты из модуля. Учитывая, что у нас нет стекируемых д-линков, то на нули можно забить.
Зачем приводить к общему виду, если потеряется информация о номере ONU?
Ну и запись

Код: Выделить всё

$conf{DHCPHOSTS_EXPR}='Agent-Circuit-Id:0x(?:0004)?([0-9a-fA-F]{4})(?:[0-9a-fA-F]{2})?([0-9a-fA-F]{4})$:VLAN,PORT_DEC;';
Вашей утилитой обрабатывается и выводит именно те значения, которые нужны. И неважно, подставляю я строку из D-Link'a или BDCOM'a.
Если быть точным, то переменную я записываю в вашей программе вот так:

Код: Выделить всё

$expr_ = '(?:0004)?([0-9a-fA-F]{4})(?:[0-9a-fA-F]{2})?([0-9a-fA-F]{4})$';
Отсюда и вопрос: может я некорректно записываю в конфиг абиллса?
и на это
Makioro писал(а):
~AsmodeuS~ писал(а):$conf{DHCP_FREERADIUS_DEBUG}=3;
Я уже включал эту опцию ранее. Не пишет ничего в /tmp/dhcphosts_expr
Скорее всего у вас более старая версия модуля которая не понимает ни DHCPHOSTS_EXPR и нет вывода в файл dhcphosts_expr , и вам нужно обновить модуль на более новую версию

Makioro
Сообщения: 241
Зарегистрирован: Ср апр 27, 2011 11:09 am

Re: PON BDCOM и Option82

Сообщение Makioro » Ср окт 02, 2013 5:03 am

immortality писал(а):Возможный вам ответ на это :
Скорее всего у вас более старая версия модуля которая не понимает ни DHCPHOSTS_EXPR и нет вывода в файл dhcphosts_expr , и вам нужно обновить модуль на более новую версию
Модуль у меня новый. Последнее обновление - 15 августа этого года. Mac_auth.pm $VERSION = 3.35;

immortality
Сообщения: 52
Зарегистрирован: Ср мар 14, 2012 8:11 pm
Контактная информация:

Re: PON BDCOM и Option82

Сообщение immortality » Ср окт 02, 2013 9:13 am

Извеняюсь тупанул вашу тему не внимательно читал с гпон не дружу , да и построение другое , насколько понял работу системы вслучае вашего поста для PON BDCOM попробуйте так в конфиге написать регулярное выражение

Код: Выделить всё

$conf{DHCPHOSTS_EXPR}='Agent-Circuit-Id:0x(\S{4})\d{2}([0-9a-f]{4})$:VLAN,PORT;';
, для Dlink нечего писать не нужно в модуле есть проверка для него , у вас по идее должен быть вывод в файл /tmp/dhcphosts_expr в случае Agent-Circuit-Id = 0x000f000a02
VLAN / 000f
PORT / 0a02
и система должна будет определить при авторизации VLAN 15 PORT 2562 или так

Код: Выделить всё

$conf{DHCPHOSTS_EXPR}='Agent-Circuit-Id:0x(\S{4})\d{2}([0-9a-f]{2})$:VLAN,PORT;';
VLAN будет 15 PORT 10

Makioro
Сообщения: 241
Зарегистрирован: Ср апр 27, 2011 11:09 am

Re: PON BDCOM и Option82

Сообщение Makioro » Ср окт 02, 2013 12:23 pm

immortality писал(а):для Dlink нечего писать не нужно в модуле есть проверка для него
К сожалению, тут вы неправы. Как только сделал выражение исключительно под BDCOM, D-Link перестал работать :(
Вот вывод в /tmp/dhcphosts_expr (когда это выражение заработало, заработал и вывод в /tmp/dhcphosts_expr, когда выражение не используется или оно некорректное, то и лог не пишется):

Код: Выделить всё

: Agent-Circuit-Id, 0x([0-9a-f]{4})\d{2}([0-9a-f]{4})$, 0x000f000901/0x000f000901
VLAN / 000f
PORT_DEC / 0901
Теперь надо всё-таки сделать универсальное выражение чтобы оба типа оборудования работали

immortality
Сообщения: 52
Зарегистрирован: Ср мар 14, 2012 8:11 pm
Контактная информация:

Re: PON BDCOM и Option82

Сообщение immortality » Ср окт 02, 2013 12:32 pm

Makioro писал(а):
immortality писал(а):для Dlink нечего писать не нужно в модуле есть проверка для него
К сожалению, тут вы неправы. Как только сделал выражение исключительно под BDCOM, D-Link перестал работать :(
Вот вывод в /tmp/dhcphosts_expr (когда это выражение заработало, заработал и вывод в /tmp/dhcphosts_expr, когда выражение не используется или оно некорректное, то и лог не пишется):

Код: Выделить всё

: Agent-Circuit-Id, 0x([0-9a-f]{4})\d{2}([0-9a-f]{4})$, 0x000f000901/0x000f000901
VLAN / 000f
PORT_DEC / 0901
Теперь надо всё-таки сделать универсальное выражение чтобы оба типа оборудования работали
Значит так

Код: Выделить всё

$conf{DHCPHOSTS_EXPR}='Agent-Circuit-Id:0x(\S{4})\d{2}([0-9a-f]{2})$:VLAN,PORT;Agent-Circuit-Id:0x0004(\S{4})\d{2}([0-9a-f]{2})$:VLAN,PORT;';

Makioro
Сообщения: 241
Зарегистрирован: Ср апр 27, 2011 11:09 am

Re: PON BDCOM и Option82

Сообщение Makioro » Ср окт 02, 2013 12:48 pm

О! Большое спасибо!
Почему я не догадался до сих пор что выражения под два оборудования надо через ";" перечислять? И почему никто другой не подсказал? :(

Заработало вот в таком варианте:

Код: Выделить всё

$conf{DHCPHOSTS_EXPR}='Agent-Circuit-Id:0x([0-9a-f]{4})\d{2}([0-9a-f]{4})$:VLAN,PORT_DEC;Agent-Circuit-Id:0x0004([0-9a-f]{4})[0-9a-f]{2}([0-9a-f]{2})$:VLAN,PORT;';
Где первое - это под BDCOM, а второе - D-Link.
Последний раз редактировалось Makioro Ср окт 02, 2013 1:13 pm, всего редактировалось 1 раз.

immortality
Сообщения: 52
Зарегистрирован: Ср мар 14, 2012 8:11 pm
Контактная информация:

Re: PON BDCOM и Option82

Сообщение immortality » Ср окт 02, 2013 1:09 pm

Makioro писал(а):О! Большое спасибо!
Почему я не догадался до сих пор что выражения под два оборудования надо через ";" перечислять? И почему никто другой не подсказал? :(

Заработало вот в таком варианте:

Код: Выделить всё

$conf{DHCPHOSTS_EXPR}='Agent-Circuit-Id:0x([0-9a-f]{4})\d{2}([0-9a-f]{4})$:VLAN,PORT_DEC;Agent-Circuit-Id:0x0004([0-9a-f]{4})([0-9a-f]{4})$:VLAN,PORT;';
Где первое - это под BDCOM, а второе - D-Link.
1.Ну наверное потому что не внимательно читаете Инструкции по модулю ~AsmodeuS~ написал же в пункте $conf{DHCPHOSTS_EXPR}

Код: Выделить всё

Использовать дополнительные выражения для получения корректных данных с запросов от комутаторов в которых параметры опции 82 отличаются от стандартных.
формат выражения через точку с запятой:
радиус_пара:условия:переменные:hex2ansii;условия переменные…. 
2.И таки вам подсказывал newey куда обратить внимание
После нескольких раз прочтения вики сначала наступает помутнение, а потом - прояснение :)

vad
Сообщения: 1
Зарегистрирован: Ср сен 30, 2015 10:38 am

Re: PON BDCOM и Option82

Сообщение vad » Ср сен 30, 2015 10:41 am

Заработало вот в таком варианте:
А какой формат 82 опции Вы использовали ? hn-type, cm-type,snmp-ifindex ?

Ответить