Просмотр Исходного

h2. Организация постоянных пакетов с запросом адреса

в Windows создать bat файл с содержимым
{panel}
:label1
ping \-n 60 127.0.0.1
ipconfig /release
ipconfig /renew
goto label1
{panel}

В том случае если при использовании данного bat файла постоянно поступают сообщения типа:
DHCPDISCOVER ...
DHCPOFFER ...
DHCPDISCOVER ...
DHCPOFFER ...

Необходимо использовать следующий bat файл, где interface name это имя сетевого подключения
(Внимание данный файл необходимо запускать от имени Администратора)
{panel}
:label1
ping \-n 60 127.0.0.1
netsh interface set interface name="Подключение по локальной сети" admin=DISABLED
netsh interface set interface name="Подключение по локальной сети" admin=ENABLED
goto label1
{panel}

h2. Отладка

*Шаг 1.* Настраиваем релей на коммутаторе

*Шаг 2.* Временно для отладки, в менеджере тестовому абоненту ставим привязку по MAC. Галочку opt82 НЕ ставим. Эту опцию поставим после того как отладим прием opt82 опций от коммутатора.


*Шаг 3.* Пытаемся получить адрес тестовым абонентом по мак привязке.

*Шаг 4.* Смотрим запрос адреса в логе
{panel}
tail \-f /var/log/boot
{panel}
Если видим
{code}
Aug 3 14:25:59 dhcpd: DHCPDISCOVER from 90:2b:34:14:75:48 via Leth1: network ISC: no free leases
{code}
Значит релей не настроен или настроен неверно.
При правильной настройке релея запрос будет приходить от ip адреса коммутатора(например 192.168.0.35):
{code}
Aug 3 14:25:59 dhcpd: DHCPDISCOVER from 90:2b:34:14:75:48 via 192.168.0.35: network ISC: no free leases
{code}

*Примечание:* Если в логе запросов нет, значит проблема сетевая, т.е. широковещательный сегмент не включает в себя вашего тестового абонента.

В этом случае анализируем пакеты на предмет использования релея на коммутаторе:
{panel}
tcpdump \-nvei any port 67 or port 68
{panel}
Вывод вида:
{code}
tcpdump: WARNING: Promiscuous mode not supported on the "any" device
tcpdump: listening on any
12:47:02.633297 B 0:e:5e:a:ef:42 ip 394: 0.0.0.0.68 > 255.255.255.255.67: [no cksum] xid:0xb2a4df25 [|bootp] (DF) (ttl 32, id 28219, len 378)
12:47:03.178477 B 90:2b:34:14:75:48 ip 344: 0.0.0.0.68 > 255.255.255.255.67: xid:0x99b6d10d flags:0x8000 [|bootp] (ttl 128, id 14097, len 328)
12:47:06.178208 B 90:2b:34:14:75:48 ip 344: 0.0.0.0.68 > 255.255.255.255.67: xid:0x99b6d10d secs:768 flags:0x8000 [|bootp] (ttl 128, id 14107, len 328)
12:47:15.178663 B 90:2b:34:14:75:48 ip 344: 0.0.0.0.68 > 255.255.255.255.67: xid:0x99b6d10d secs:3072 flags:0x8000 [|bootp] (ttl 128, id 14127, len
{code}
Говорит о том, что адрес запрашивается без использования релея, броадкастом.
При верно настроенном релее пакеты будут приходить юникастовые от ip адреса коммутатора на ip адрес сервера.

*Шаг 5.* Далее вы можете попробовать самостоятельно определить параметры парсинга opt82.
В дистрибутив изначально внесено несколько разновидностей парсинга: D-link, SNR, Eltex, RAISECOM. Посмотреть их можно через менеджер в разделе Оборудование \-> Типы коммутаторов.
Там же можно создать новый тип для вашего оборудования, который всегда будет в вашей БД.

При расшифровке поля OPT82 во время запроса адреса, в логе вы увидите следующее:
{panel}
May  6 11:33:19 dhcpd: RAW:: Lease for 12.13.14.15 agent.circuit-id txt=GEPON xpon 2 243 0 4094 0
May  6 11:33:19 dhcpd:  agent.circuit-id bin8=71 69 80 79 78 45 75 65 84 45 84 69 76 69 67 79 77 45 56 88 32 120 112 111 110 32 50 32 50 52 51 32 48 32 52 48 57 52 32 48
May  6 11:33:19 dhcpd: PARS_DLINK:: Lease for 12.13.14.15 SWIP=12.13.14.8 VLAN=18245 PORT=20013
May  6 11:33:19 dhcpd: PARS_SNR2940:: Lease for 12.13.14.15 SWIP=12.13.14.8 VLAN=18245 PORT=19265
May  6 11:33:19 dhcpd: PARS_ELTEX_LTE2:: Lease for 12.13.14.15 SWIP=12.13.14.8 VLAN=8 PORT= xp
May  6 11:33:19 dhcpd: PARS_ELTEX_512:: Lease for 12.13.14.15 SWIP=12.13.14.8 VLAN=2 PORT=243
May  6 11:33:19 dhcpd: DHCPDISCOVER from a8:f9:4b:02:bf:46 via 12.13.14.8
{panel}
Зная порт, свич и vlan тестовой машины можно определить какой тип парсера справился с расшифровкой поля opt82. После этого, если в в разных парсерах вы нашли верные значения порт, свич и vlan, вы можете создать свой тип коммутатора.

*Примечание:*  Нельзя заводить название коммутатора через символ "-". Такой символ мешает верной работе парсинга.

Если вам непонятен шаг 5 или требуется помощь переходите к шагу 6.

*Шаг 6.* При возникновении вопросов обратитесь в техническую поддержку для помощи в настройке разбора полей opt82.

Специалистам технической поддержки в заявке нужно будет сообщить:

\- id абонента;

\- vlan и порт в которые он включен на коммутаторе;

\- В идеале сообщать точную модель и марку коммутатора а также версию прошивки.

*Примечание:* при настройке обратите внимание, чтоб [пул адресов|asrdocnew:Пулы IP-адресов] из которого вы отдаете адреса по dhcp не был зарезервирован для ручной раздачи.