Помогите разобраться с Option 82.

Технические вопросы по UTM 5.0
Rico-X
Сообщения: 164
Зарегистрирован: Вт окт 25, 2011 12:04

Помогите разобраться с Option 82.

Сообщение Rico-X »

Пытаюсь настроить опцию, делаю по доку, но остается неясность и не могу получить абоненту заданный адрес, в качестве источника опции выступает BDCOM P3310. Сам модуль с УТМкой связь устанавливает.
И так что я сделал:
1) Завел профиль оборудования
Изображение
2) Завел коммутатор
Изображение
3) Создал пулы и диапазоны
4) Сделал шаблон тарифа и прицепил к тарифной связке, прицепил передачу трафика к тестовому абоненту, опции такие:
Изображение

Подключаю, тестовый ноутбук к ONU и ничего, сам пакет DHCP:

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

dhcpdump -i eth2
  TIME: 2014-12-19 10:45:30.838
    IP: 0.0.0.0 (5c:f9:dd:61:bd:59) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
    OP: 1 (BOOTPREQUEST)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  HOPS: 0
   XID: c09a31e1
  SECS: 0
 FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: 5c:f9:dd:61:bd:59:00:00:00:00:00:00:00:00:00:00
 SNAME: .
 FNAME: .
OPTION:  53 (  1) DHCP message type         1 (DHCPDISCOVER)
OPTION:  61 (  7) Client-identifier         01:5c:f9:dd:61:bd:59
OPTION:  12 ( 11) Host name                 Rico-X-Nout
OPTION:  60 (  8) Vendor class identifier   MSFT 5.0
OPTION:  55 ( 13) Parameter Request List      1 (Subnet mask)
					     15 (Domainname)
					      3 (Routers)
					      6 (DNS server)
					     44 (NetBIOS name server)
					     46 (NetBIOS node type)
					     47 (NetBIOS scope)
					     31 (Perform router discovery)
					     33 (Static route)
					    121 (Classless Static Route)
					    249 (MSFT - Classless route)
					    252 (MSFT - WinSock Proxy Auto Detect)
					     43 (Vendor specific info)

OPTION:  82 ( 35) Relay Agent Information
                  Circuit-ID    00:fa:00:07:02
                  Remote-ID     fc:fa:f7:c5:75:d8
                  Chaos         00:00:0c:f8:0d:01:0b:4f:4c:54:5f:41:76:74:6f:64:65:6c
---------------------------------------------------------------------------
Опция как видно есть и оборудованием отдается, смотрим дебаг:

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

Dec 19 10:27:47 ?Debug : e20aa700 DHCP_Server: request from 0.0.0.0:68:
DHCP packet header
      op: 1
   htype: 1
    hlen: 6
    hops: 0
     xid: 8e712a22
    secs: 0
   flags: 0
  ciaddr: 0.0.0.0
  yiaddr: 0.0.0.0
  siaddr: 0.0.0.0
  giaddr: 0.0.0.0
  chaddr: 5c:f9:dd:61:bd:59
   sname:
    file:
  option [dhcp-message-type]: 01
  option [dhcp-client-identifier]: 015cf9dd61bd59
  option [host-name]: Rico-X-Nout
  option [dhcp-class-identifier]: MSFT 5.0
  option [dhcp-parameter-request-list]: 010f03062c2e2f1f2179f9fc2b
  option [relay-agent-info]: 010500fa0007020206fcfaf7c575d8091200000cf80d010b4f4c545f4176746f64656c

Dec 19 10&#58;27&#58;47 ?Debug &#58; e20aa700 DBConnection_mysql&#58; <0x1ce36b0> SQL SELECT query&#58; SELECT id,ip,expired,client_id,binding_id,flags FROM dhcp_leases WHERE mac='5c&#58;f9&#58;dd&#58;61&#58;bd&#58;59' ORDER BY id
Dec 19 10&#58;27&#58;47 ?Debug &#58; e20aa700 DBConnection_mysql&#58; <0x1ce36b0> SQL SELECT query&#58; 0 rows in 0.000 sec
Dec 19 10&#58;27&#58;47 ?Debug &#58; e20aa700 LeaseManager&#58; no lease for MAC 5c&#58;f9&#58;dd&#58;61&#58;bd&#58;59 found
Dec 19 10&#58;27&#58;47 ?Debug &#58; e20aa700 DHCP_Server&#58; got DHCPDISCOVER packet
Dec 19 10&#58;27&#58;47 ?Debug &#58; e20aa700 LeaseManager&#58; no IP-MAC-port binding found for 5c&#58;f9&#58;dd&#58;61&#58;bd&#58;59
Dec 19 10&#58;27&#58;47  ERROR &#58; e20aa700 DHCP_Server&#58; send_offer&#58; BindingNotFoundError&#58; no suitable binding
Как видим ничего, но при этом ключевая строка
option [relay-agent-info]: 010500fa0007020206fcfaf7c575d8091200000cf80d010b4f4c545f4176746f64656c
где, последняя часть:
4f4c545f4176746f64656c если перобразовать их HEX получается OLT-Avtodel что соответствует Remote ID.
fcfaf7c575d8 - это MAC от тестовой ONU, если убрать все двоеточия, указаддые смещения видно на первом скрине 24 для Remote ID с длинной 11 и 9 с длинной 6 для мака ONU соответственно, буду благодарен, если укажите чего я не учел, чтоб связка заработала, бьюсь третий день и никак.

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

Сообщение TiRider »

Коллега :) и смешно и грустно, потому, что я так же парился с Eltex.

Спасибо одному очень хорошему человеку, помог и объяснил :)

Ваша option [relay-agent-info], побайтово

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

Len&#58; 35 Decoded bytes&#58; &#91;1 5 0 250 0 7 2 2 6 252 250 247 197 117 216 9 18 0 0 12 248 13 1 11 79 76 84 95 65 118 116 111 100 101 108&#93;
 
Если бы вы дали ссылку на свое устройство дабы посмотреть документацию, все можно было бы прояснить.
Последний раз редактировалось TiRider Пт дек 19, 2014 11:57, всего редактировалось 1 раз.

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

В IP-группе у Вас настроена выдача адреса на основании MAC, настройки коммутатора и опции 82 в этом случае ни на что не влияют (т.к. в свойствах IP-группы не указан свитч и порт)

Так же, зачем-то в качества MAC клиенты Вы указываете MAC свича (remote-id), в то время как MAC клиента - 5c:f9:dd:61:bd:59

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

Сообщение TiRider »

serjk писал(а):В IP-группе у Вас настроена выдача адреса на основании MAC, настройки коммутатора и опции 82 в этом случае ни на что не влияют.

Так же, зачем-то в качества MAC клиенты Вы указываете MAC свича (remote-id), в то время как MAC клиента - 5c:f9:dd:61:bd:59
А вот это правильное замечание. Я тоже сразу не заметил, косяка.

В RemoteID указываете MAC-коммутатора, у абонента, либо свичь+порт+влан, либо свич+порт

Rico-X
Сообщения: 164
Зарегистрирован: Вт окт 25, 2011 12:04

Сообщение Rico-X »

serjk писал(а):В IP-группе у Вас настроена выдача адреса на основании MAC, настройки коммутатора и опции 82 в этом случае ни на что не влияют.

Так же, зачем-то в качества MAC клиенты Вы указываете MAC свича (remote-id), в то время как MAC клиента - 5c:f9:dd:61:bd:59
Я пробовал убрать вообще оттуда мак и отключил опцию порта в железе, по идее я должен был получить случайный адрес из пула, но снова ничего. У OLT нет понятия порта как такового, при любом ребуте они все могут сменится и потом никак не найти какой абонент в каком порту, так что единственный выход привязаться к маку ONU, но я не пойму как это сделать :(

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

Сообщение TiRider »

Rico-X писал(а):
serjk писал(а):В IP-группе у Вас настроена выдача адреса на основании MAC, настройки коммутатора и опции 82 в этом случае ни на что не влияют.

Так же, зачем-то в качества MAC клиенты Вы указываете MAC свича (remote-id), в то время как MAC клиента - 5c:f9:dd:61:bd:59
Я пробовал убрать вообще оттуда мак и отключил опцию порта в железе, по идее я должен был получить случайный адрес из пула, но снова ничего. У OLT нет понятия порта как такового, при любом ребуте они все могут сменится и потом никак не найти какой абонент в каком порту, так что единственный выход привязаться к маку ONU, но я не пойму как это сделать :(
Прочтите выше то, что я написал.
Нужна ссылка на документацию, там указаны параметры смещения и количества байт. В OLT есть понятие порта, только по другому назначается.

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

Если я правильно понимаю, задать профиль оборудования, который будет извлекать из option 82 только Remote-ID (порт и VLAN игнорировать)

В свойствах IP-группы указать коммутатор и динамический DHCP пул. Порт и MAC не указывать.

Rico-X
Сообщения: 164
Зарегистрирован: Вт окт 25, 2011 12:04

Сообщение Rico-X »

serjk писал(а):Если я правильно понимаю, задать профиль оборудования, который будет извлекать из option 82 только Remote-ID (порт и VLAN игнорировать)

В свойствах IP-группы указать коммутатор и динамический DHCP пул. Порт и MAC не указывать.
Да я так пробовал для теста:
Изображение
И связка соответственно:
Изображение

Вменяемой документации на это чудо китайской промышленности я не нашел, посчитал смещения ручками. Из манулов лежат инсталляционный и базовый по командам.

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

Профиль у Вас тоже странно настроен. Тип Remote-ID должен быть Бинарный, расположение Опция 82, смещение 9, длина 6.

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

Сообщение TiRider »

serjk писал(а):Профиль у Вас тоже странно настроен. Тип Remote-ID должен быть Бинарный, расположение Опция 82, смещение 9, длина 6.
Поддерживаю.
Для Eltex'а на 64 порта.

Изображение

Изображение

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

Значение remote-id, которое должно быть указано в свойствах коммутатора: fcfaf7c575d8

Rico-X
Сообщения: 164
Зарегистрирован: Вт окт 25, 2011 12:04

Сообщение Rico-X »

serjk писал(а):Значение remote-id, которое должно быть указано в свойствах коммутатора: fcfaf7c575d8
Эх если бы, это не коммутатор - это ONU их на одном коммутаторе 256 штук, мак самого OLT fcfaf7c95c42 в том то и проблема, единственное что уникальное, что отдает OLT в Option 82 - это hostname преобразованный в HEX и именно к этому 4f4c545f4176746f64656c значению я пытался привязать коммутатор, может еще чего не пойму, но fcfaf7c575d8 использовать не вариант, эт опридется для каждого абонента заводить отдельный коммутатор, что просто ад.

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Сообщение serjk »

Видимо я не понимаю задачи.

Чей hostname приходит в opt 82 ?

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

Сообщение TiRider »

serjk писал(а):Видимо я не понимаю задачи.

Чей hostname приходит в opt 82 ?
Вы понимаете. Человек не понимает и не читает то, что ему пишут!

Rico-X
Сообщения: 164
Зарегистрирован: Вт окт 25, 2011 12:04

Сообщение Rico-X »

serjk писал(а):Видимо я не понимаю задачи.

Чей hostname приходит в opt 82 ?
Hostname OLT
Смотрите GEPON состоит из 2х как-бы частей в голове стоит OLT как-бы общая железяка, к ней в порты подключаются ONU (маленькая хрень типа роутера) вот в 1 физический порт OLT можно воткнуть через пассивные разветвители до 64 ONU, сами ONU видны с OLT как виртуальные порты, абоненты втыкаются в ONU. Итого в опцию попадает мак от ONU (их дохрена), а от самого OLT только его hostname преобразованный в HEX. Привязаться к номеру виртуального порта не имеет смысла при перезагрузке ОЛТа они переназначаются в зависимости от того какая ONU поднялась первой, вот и выходит что единственный итендификатор порта это мак ONU.

Закрыто