Добавление коммутаторов и их типов в биллинг

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (15)

просмотр истории страницы
Для добавления нового коммутатора, необходимо перейти на вкладку Оборудование - Коммутаторы и выбрать "Добавить" 
{toc}

h1. Добавление коммутатора

После этого указать все необходимые настройки коммутатора и выбрать Тип коммутатора. От выбора типа коммутатора будет зависеть как именно будет происходить парсинг OPT82, приходящей на биллинг от этого коммутатора
Для добавления нового коммутатора, необходимо перейти на вкладку Оборудование - Коммутаторы и выбрать "Добавить"
!addcom.png|border=0,width=700!

. 
После этого указать все необходимые настройки коммутатора и выбрать Тип коммутатора. От выбора типа коммутатора будет зависеть как именно будет происходить парсинг OPT82, приходящей на биллинг от этого коммутатора.
!Коммутатор.png|border=0,width=700!

Поля для парсинга по каждому коммутатору можно указать во вкладке "Типы коммутаторов" внутри настроек каждого типа коммутатора. 
h1. Добавление типа коммутатора

Типы коммутаторов находятся в разделе "Оборудование"

!тип_коммутатора.png|border=0,width=700!

Если Вашего типа коммутаторов нет в списке, Вы можете добавить его с помощью кнопки "Добавить". Поля для парсинга OPT82 Вы можете найти в документации по Вашему коммутатору.
{color:#ff0000}{*}Примечание{*}{color}{color:#000000}*: Спецсимволы в названии типа коммутаторов запрещены\!*{color}

{color:#000000}Для проверки и отладки парсинга opt82 по Вашему коммутатору обратитесь в тех.поддержку.{color}
!parse.png|border=0,width=700!

Заполните общую информацию о коммутаторе:
* Заполните поле "Тип" - это наименование типа
{warning}*В названии типа нельзя использовать спецсимволы* (+-$#@" и т.д.)!{warning}
* При желании укажите комментарий, это не обязательно.

Укажите по каким критериям Вы хотите назначать IP-адреса:
* *Opt82 PARS_SWIP* - IP коммутатора.
* *Opt82 PARS_PORT* - порт коммутатора, указывается в [учетной записи|CarbonBilling:Учетная запись. Создание и изменение.]
* *Opt82 PARS_VLAN* - VLAN абонента, указывается в [учетной записи|CarbonBilling:Учетная запись. Создание и изменение.]
* *Opt82 PARS_MAC* - MAC коммутатора
* *Opt82 PARS_HW_SERIAL* - серийный номер абонентского оборудования, указывается в [учетной записи|CarbonBilling:Учетная запись. Создание и изменение.]

h2. Примеры парсеров

{note}Инженеры Carbon Soft добавляют примеры по запросу операторов с подпиской *Аутсорсинг*{note}

Отладить параметры парсинга Вы можете по статье [Отладка DHCP].

h3. Коммутатор добавляет к номеру порта 2 (=начинает отсчет с 3)

Такое поведение описано в [документации|https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3750/software/release/12-2_52_se/configuration/guide/3750scg/swdhcp82.html#wp1069615] Cisco Catalyst 3750:
{quote}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.{quote}
Например, вместо порта 1 в опции 82 приходит порт 3, вместо 11 - 13 и т.д.
Функция dhcp-eval позволяет выполнять базовые арифметические операции. Чтобы решить эту задачу, используйте такую конструкцию:
{code}binary-to-ascii (10, 8, "", encode-int((extract-int(suffix(option agent.circuit-id, 1),8) + -2),8)){code}
Эта возможность была [документирована|https://kb.isc.org/docs/isc-dhcp-41-manual-pages-dhcp-eval#NUMERIC EXPRESSIONS] с выходом ISC DHCP 4.1, но её [использовали|https://github.com/alandekok/isc-dhcp-3.0/blob/master/tests/failover/dhcp-1.cf] [и раньше|https://lists.isc.org/pipermail/dhcp-workers/2009-November/000040.html].
В листинге видно, что вычет "2" происходит прибавлением отрицательного числа: к сожалению, при использовании "- 2", DHCP-сервер не запускался и считал это ошибкой конфигурации. Возможно это проблема используемой версии DHCP-сервера.

h3. binary-to-ascii обрезает нули в MAC-адресе (например, 01:00:BE:00:00:01 превратит в 1:0:be:0:0:1)

Это известная проблема, она связана с особенностью работы функции binary-to-ascii, и решение [описано в базе знаний|https://kb.isc.org/docs/aa-01039] ISC DHCP.

К сожалению, в Carbon Billing 5 такое решение пока применить не получится.

Чтобы это не стало проблемой, заводите MAC-адреса коммутаторам и абонентам в том формате, как он будет преобразован binary-to-ascii.
Например, "*01:00:BE:00:00:01*" заведите как "*1:0:be:0:0:1*"

h3. Нужно авторизовать по IP коммутатора

Коммутатор выступает релеем и передаёт запросы клиентов DHCP-серверу биллинга. Адрес коммутатора в таком случае [сохраняется в поле GIADDR|https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#Relaying] DHCP-запроса.
Получить IP коммутатора (релея) можно функцией *packet()* со сдвигом на 24 байта. Полученные данные надо преобразовать функцией binary-to-ascii в десятичную форму, разбив октеты точкой - так вы получите IP-адрес.

{code}binary-to-ascii(10, 8, ".", packet(24, 4)){code}