minimyaf Posted January 29, 2016 (edited) · Report post Добрый день. Есть проблема с настройкой DHCP relay на: SNR-S2950-24G Device, Compiled on Oct 31 00:40:31 2011 SoftWare Version 6.2.138.58 BootRom Version 4.10.1 HardWare Version 1.0.1 CPLD Version N/A Device serial number A200053R2L Copyright © 2011 NAG LLC All rights reserved Last reboot is cold reset. Uptime is 0 weeks, 0 days, 0 hours, 11 minutes. Настройка DHCP на комумтаторе: ip forward-protocol udp bootps ip dhcp relay information option ip dhcp relay information option self-defined remote-id string 10.3.0.66 ip dhcp relay share-vlan 2 sub-vlan 200 ! ip dhcp snooping enable ip dhcp snooping vlan 2;200 ip dhcp snooping binding enable ! ip dhcp snooping information enable ip dhcp snooping information option subscriber-id format hex ip dhcp snooping information option self-defined remote-id string 10.3.0.66 interface Vlan2 description MANAGEMENT-INTERFACE ip address 10.3.0.66 255.255.255.0 !forward protocol udp 67(active)! ip helper-address 10.3.0.3 Порты 1/1 - аплинк, 1/2 на доступ: Interface Ethernet1/1 description TEST-INTERFACE switchport mode trunk switchport trunk allowed vlan 2;200 ip dhcp snooping trust ! Interface Ethernet1/2 description TEST-PORT-VLAN-200 switchport access vlan 200 loopback-detection specified-vlan 1 loopback-detection control block igmp snooping drop query Настройка DHCP сервера (isc-dhcp-server) описание класса: ...... #class "vlan200" { match if binary-to-ascii (10, 8, "", substring(option agent.circuit-id, 2, 2))="200"; } .... class "vlan200" { match if (binary-to-ascii(10, 16, "", substring(option agent.circuit-id, 2, 2)) = "200" and binary-to-ascii(10, 16, "", substring(option agent.circuit-id, 10, 2)) = "2" and substrin (option agent.remote-id, 2, 15) = "10.3.0.66");} ..... subnet 193.210.161.0 netmask 255.255.255.0 { option routers 193.210.161.1; option subnet-mask 255.255.254.0; .... pool { range 193.210.161.20; allow members of "vlan200"; } .... Подозреваю что проблема именно в описании класса, так как если включить закомментированное описание, то ip адрес получает и сразу же появляется записть в /var/log/ о том, что ip получен, а вот в данной конфигурации никаких записей - нет. Варианты "выловить" и отдать ip по нужным мне критериям привели к Wireshark-у и tcpdump, запрос был перехвачен, но ничем не помог, правильное смещение так и не удалось выставить, еще и приходит запрос странноватого формата, при переводе из 10-ой в 16-ю систему например vlan 200 (C8) - в визуализированном dhcp запросе wireshark - С8 просто НЕТ, в перехваченном пакете он почему то выглядит как E2 E0 E0, либо я не совсем понимаю идеологию перехваченного пакета. Таким же образом в пакете выглядят и другие данные option 82. Может кто то уже встречался с формированием подобного DHCP конфига и может подсказать заветные три строки с описанием класса? Edited January 29, 2016 by minimyaf Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
m9ic Posted February 3, 2016 · Report post substring( option agent.circuit-id, 18, 2) порт substring( option agent.circuit-id, 4, 3) влан Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
stalker86 Posted April 1, 2016 · Report post а где бы найти полное рисание сего формата? Вот у меня binary-to-ascii(10, 8, ":", option agent.circuit-id) возвращает 0:6:0:3:1:0:0:13 последнее понятно порт. А остальное? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Mikhail Burnin Posted April 4, 2016 · Report post Добрый день, Расшифровка circuit-id на коммутаторах SNR на примере 00:06:00:c9:01:00:00:03 00 - номер сабопции 06 - длина сабопции в байтах 00c9 - VLAN ID 01 - номер слота (не имеет реального значения) 00 - номер модуля (не имеет реального значения) 0003 - номер порта Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...