Добавление коммутатора
Для добавления нового коммутатора, необходимо перейти на вкладку Оборудование - Коммутаторы и выбрать "Добавить"
После этого указать все необходимые настройки коммутатора и выбрать Тип коммутатора. От выбора типа коммутатора будет зависеть как именно будет происходить парсинг OPT82, приходящей на биллинг от этого коммутатора.
Добавление типа коммутатора
Типы коммутаторов находятся в разделе "Оборудование"
Если Вашего типа коммутаторов нет в списке, Вы можете добавить его с помощью кнопки "Добавить".
Заполните общую информацию о коммутаторе:
- Заполните поле "Тип" - это наименование типа
В названии типа нельзя использовать спецсимволы (+-$#@" и т.д.)! - При желании укажите комментарий, это не обязательно.
Укажите по каким критериям Вы хотите назначать IP-адреса:
- Opt82 PARS_SWIP - IP коммутатора.
- Opt82 PARS_PORT - порт коммутатора, указывается в учетной записи
- Opt82 PARS_VLAN - VLAN абонента, указывается в учетной записи
- Opt82 PARS_MAC - MAC коммутатора
- Opt82 PARS_HW_SERIAL - серийный номер абонентского оборудования, указывается в учетной записи
Примеры парсеров
Сотрудники Carbon Soft не добавляют примеры по запросу |
Отладить параметры парсинга Вы можете по статье Отладка DHCP.
Коммутатор добавляет к номеру порта 2 (=начинает отсчет с 3)
Такое поведение описано в документации Cisco Catalyst 3750:
In the port field of the circuit-ID suboption, the port numbers start at 3. For example, on a switch with 24 10/100 ports and small form-factor pluggable (SFP) module slots, port 3 is the Fast Ethernet x/0/1 port, port 4 is the Fast Ethernet x/0/2 port, and so forth, where x is the stack member number. Port 27 is the SFP module slot x/0/1, and so forth.
Например, вместо порта 1 в опции 82 приходит порт 3, вместо 11 - 13 и т.д.
Функция dhcp-eval позволяет выполнять базовые арифметические операции. Чтобы решить эту задачу, используйте такую конструкцию:
binary-to-ascii (10, 8, "", encode-int((extract-int(suffix(option agent.circuit-id, 1),8) + -2),8))
Эта возможность была документирована с выходом ISC DHCP 4.1, но её использовали и раньше.
В листинге видно, что вычет "2" происходит прибавлением отрицательного числа: к сожалению, при использовании "- 2", DHCP-сервер не запускался и считал это ошибкой конфигурации. Возможно это проблема используемой версии DHCP-сервера.
binary-to-ascii обрезает нули в MAC-адресе (например, 01:00:BE:00:00:01 превратит в 1:0:be:0:0:1)
Это известная проблема, она связана с особенностью работы функции binary-to-ascii, и решение описано в базе знаний ISC DHCP.
К сожалению, в Carbon Billing 5 такое решение пока применить не получится.
Чтобы это не стало проблемой, заводите MAC-адреса коммутаторам и абонентам в том формате, как он будет преобразован binary-to-ascii.
Например, "01:00:BE:00:00:01" заведите как "1:0:be:0:0:1"
Нужно авторизовать по IP коммутатора
Коммутатор выступает релеем и передаёт запросы клиентов DHCP-серверу биллинга. Адрес коммутатора в таком случае сохраняется в поле GIADDR DHCP-запроса.
Получить IP коммутатора (релея) можно функцией packet() со сдвигом на 24 байта. Полученные данные надо преобразовать функцией binary-to-ascii в десятичную форму, разбив октеты точкой - так вы получите IP-адрес.
binary-to-ascii(10, 8, ".", packet(24, 4))