UTM5 DHCP vs ISC DHCP

Технические вопросы по UTM 5.0
Ответить
dimic
Сообщения: 18
Зарегистрирован: Пн май 13, 2013 11:06

UTM5 DHCP vs ISC DHCP

Сообщение dimic »

Имеется конфиг ISC DHCP, адаптированный для работы с GEPON оборудованием.

Номер PON интерфейса + номер ONU достается из option82 следующим образом.

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

binary-to-ascii(10, 8, "", substring(option agent.circuit-id, 5, 2)) = "11";
Это означает, что DHCP запрос пришел с ONU 1/1 (1-ый pon интерфейс, 1-ая onu).
На пальцах это выглядит следующим образом:
1. Сервер вытаскивает из option.circuit-id 2 байта со смещением 5 байт, то есть 01 01
2. Каждый из байтов переводится из хекса в десятичную систему, в результате чего на выходе имеет 1 1
3. Производится конвертация числовых значений в строкb и их конкатенация, т. е. получаем 11

Как это перенести в DHCP UTM5?
Порт - Бинарные(BE) - понимает два байта "01 01" соответственно как 257 в десятичной системе.
Например "02 01" (2ой пон, 1ая ону) это 513, что вообще не лезет в поле "Порт", превышая максимальное значение.
В Little Endian то же самое, только задом наперед.
Что-то мне подсказывает, что необходимо использовать строковый тип, но как он работает?
Я пробовал укзаывать абоненту номер порта как 0101, 11, 101. Без толку.
Где и как используется тип Строка в принципе? Каким образом происходит конвертирование?

В конфиге dhcp увеличивал уровень дебага, никаких доп. сведений не получил.

P.S. Вероятно кто-то использует в работе коммутаторы в кластере. Как различаете, с какого модуля пришел запрос?
У меня пока кроме идентификации по номеру VLAN, который повесить на каждый PON интерфейс, а потом собрать все в кучу на агрегации при помощи ip unnumbered или supervlan, идей никаких.

Nik0n
Сообщения: 77
Зарегистрирован: Пн сен 14, 2009 13:53
Откуда: Екатеринбург
Контактная информация:

Сообщение Nik0n »

Например.
LTE-8X строковый тип Opt82 (через пробел)

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

class "sw2-olt11/2/11u0v902" { match if option agent.circuit-id="GEPON-sw2-olt11 xpon 2 11 0 902 0"; }
где 2 11 0 902 0 - канал, idONT, ONTPort, VLAN1, VLAN2

dimic
Сообщения: 18
Зарегистрирован: Пн май 13, 2013 11:06

Сообщение dimic »

Nik0n писал(а):Например.
LTE-8X строковый тип Opt82 (через пробел)

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

class "sw2-olt11/2/11u0v902" { match if option agent.circuit-id="GEPON-sw2-olt11 xpon 2 11 0 902 0"; }
где 2 11 0 902 0 - канал, idONT, ONTPort, VLAN1, VLAN2
С isc-dhcp все хорошо. Как это будет выглядеть в UTM5?

Аватара пользователя
TiRider
Сообщения: 568
Зарегистрирован: Сб июн 07, 2008 12:43

Сообщение TiRider »

dimic писал(а):
Nik0n писал(а):Например.
LTE-8X строковый тип Opt82 (через пробел)

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

class "sw2-olt11/2/11u0v902" { match if option agent.circuit-id="GEPON-sw2-olt11 xpon 2 11 0 902 0"; }
где 2 11 0 902 0 - канал, idONT, ONTPort, VLAN1, VLAN2
С isc-dhcp все хорошо. Как это будет выглядеть в UTM5?
Изображение

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

OLT0 Layer3 parameters
DHCP Snooping / SW Learning enable: yes
DHCP Autonomous Bind / Unbind Reporting enable: no
DHCP Relay Agent (insert Option 82 if provided): yes
DHCP Relay Agent Set giaddr: no
Insert Opt 82 for Unicast DHCP Requests also: no
Trust Other DHCP Relay Agent: no
ARP Snooping Enable (Requires DHCP SW Learning): yes
ARP Mode (0 = Directed ARP, 1 = ARP Proxy): directed_arp
RARP Snooping Enable: yes
RARP Mode (0 = Directed RARP, 1 = RARP Proxy): directed_rarp
Disable Upstream ARP Request validation: no
Disable Downstream ARP Reply validation: no
Disable Upstream ARP Reply validation: no
Exclude UDP multicast IP fragments: no
Validate IP Checksum on received frames: no
Validate UDP Checksum on received frames: no
Disable Downstream INFORM ACK Reply validation: no
Disable Upstream RELEASE validation: no
Disable Upstream DECLINE validation: no
Overwrite Client's Option 82: no
Use MAC address based HW forwarding rules: no
Use IPv4 address based HW forwarding rules: no
Maximum Number of Bound Clients / IPs: 1000
DHCP Timer Update Interval: 2
DHCP Server Response Timeout: 30
Maximum DHCP Lease Time: 0
Option 82 Format: binary_alt

dimic
Сообщения: 18
Зарегистрирован: Пн май 13, 2013 11:06

Сообщение dimic »

А что в этих двух байтах у вас в Cicuit ID? Номер ONT на конкретном интерфейсе или номер PON интерфейса + номер ONT?
В моем случает OLT (Qtech) кодирует отдельно в одном байте номер PON интерфейса, в следующем номер ONT-а.
Пришлось на каждый интерфейс вешать отдельный рилей, а в биллинге соответственно для каждого интерфейса добавлять отдельную железку.
На агрегации абонентские вланы просто объединил в supervlan для экономии адресов..

Аватара пользователя
TiRider
Сообщения: 568
Зарегистрирован: Сб июн 07, 2008 12:43

Сообщение TiRider »

dimic писал(а):А что в этих двух байтах у вас в Cicuit ID? Номер ONT на конкретном интерфейсе или номер PON интерфейса + номер ONT?
В моем случает OLT (Qtech) кодирует отдельно в одном байте номер PON интерфейса, в следующем номер ONT-а.
Пришлось на каждый интерфейс вешать отдельный рилей, а в биллинге соответственно для каждого интерфейса добавлять отдельную железку.
На агрегации абонентские вланы просто объединил в supervlan для экономии адресов..
Вопрос не понятен

dimic
Сообщения: 18
Зарегистрирован: Пн май 13, 2013 11:06

Сообщение dimic »

TiRider писал(а):Вопрос не понятен
Я имел в виду Порт конечно же :)
OLT присылает последовательность байт, например 00 01 01, что в понимании биллинга при последовательности BE это число 257, потому что он тупо берет hex 000101 и конвертит в десятичное число.

А на самом деле ничерта подобного, потому что это последовательность: номер шасси, номер PON интерфейса, номер ONT.

Как это делает isc-dhcp?
Сначала он каждый байт декодит из хекса и получает три числа 0 1 1. Потом просто делает их конкатенацию как строки, в итоге получаем 011.

Ответить