Схема следующая: cisco 7206 является dhcp сервером, к ней подключен catalyst 6509, далее друг за другом 2 catalyst 2950, к одному из них я и подключаюсь. Не получается настроить option 82, без нее нормально работает. Уже начинает казаться что проблема кроется или с IOS или вообще с возможностью настройки на данном свитче.Логи свитча:
Dec 3 17:52:58: DHCP_SNOOPING: received new DHCP packet from input interface (FastEthernet0/13)
Dec 3 17:52:58: DHCP_SNOOPING: process new DHCP packet, message type: DHCPINFORM
Dec 3 17:52:58: DHCP_SNOOPING: add relay information option.
Dec 3 17:52:58: DHCP_SNOOPING_SW: Encoding opt82 in vlan-mod-port format
Dec 3 17:52:58: DHCP_SNOOPING: binary dump of relay info option, length: 20 data:
0x52 0x12 0x1 0x6 0x0 0x4 0x2 0x1C 0x0 0xC 0x2 0x8 0x0 0x6 0x0 0x14 0xF2 0x86 0xFE 0xC0
Dec 3 17:52:58: DHCP_SNOOPING_SW: bridge packet get invalid mat entry: FFFF.FFFF.FFFF, packet is flooded to ingress VLAN: (540)
Dec 3 17:52:58: DHCP_SNOOPING_SW: bridge packet send packet to port: FastEthernet0/24.
Dec 3 17:53:39: %VQPCLIENT-7-RECONF: Reconfirming VMPS responses
Dec 3 17:53:43: DHCP_SNOOPING: checking expired snoop binding entries
Dec 3 17:54:14: DHCP_SNOOPING: received new DHCP packet from input interface (FastEthernet0/13)Конфиг свитча 2950:
SETHOST#sh ip dhcp snooping
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
540
Insertion of option 82 is enabled
Interface Trusted Rate limit (pps)
------------------------ ------- ----------------
FastEthernet0/24 yes 20
FastEthernet0/45 yes 20
ip dhcp snooping vlan 540
ip dhcp snoopinginterface FastEthernet0/24
switchport trunk native vlan 1001
switchport mode trunk
storm-control action trap
ip dhcp snooping limit rate 20
ip dhcp snooping trustinterface FastEthernet0/13
switchport access vlan 540
он конечно untrustedDHCP-сервер:
ip dhcp relay information trust-all
ip dhcp excluded-address 172.21.127.1 172.21.127.3ip dhcp pool Test
network 172.21.127.0 255.255.255.0
default-router 172.21.127.1
dns-server 172.20.2.17
class class1
address range 172.21.127.10 172.21.127.11
class class2
address range 172.21.127.100 172.21.127.100ip dhcp class class1
relay agent information
relay-information hex 0014*
relay-information hex 0014f286fecd*
!
ip dhcp class class2
relay agent information
relay-information hex 0014f286fecf*interface GigabitEthernet0/2.540
encapsulation dot1Q 540
ip dhcp relay information trusted
ip address 172.21.127.1 255.255.255.0
>[оверквотинг удален]
> relay-information hex 0014*
> relay-information hex 0014f286fecd*
> !
> ip dhcp class class2
> relay agent information
> relay-information hex 0014f286fecf*
> interface GigabitEthernet0/2.540
> encapsulation dot1Q 540
> ip dhcp relay information trusted
> ip address 172.21.127.1 255.255.255.0если у вас терминирование виланов происходит на 6509, то на ней и надо настраивать дхцп снупинг. на Vlan интерфейсах.
>[оверквотинг удален]
>> !
>> ip dhcp class class2
>> relay agent information
>> relay-information hex 0014f286fecf*
>> interface GigabitEthernet0/2.540
>> encapsulation dot1Q 540
>> ip dhcp relay information trusted
>> ip address 172.21.127.1 255.255.255.0
> если у вас терминирование виланов происходит на 6509, то на ней и
> надо настраивать дхцп снупинг. на Vlan интерфейсах.Конкретно этот вилан терминируется на 7206. Да и насколько я понимаю, сам свитч не вставляет опцию 82. Или я ошибаюсь?
>[оверквотинг удален]
>>> relay agent information
>>> relay-information hex 0014f286fecf*
>>> interface GigabitEthernet0/2.540
>>> encapsulation dot1Q 540
>>> ip dhcp relay information trusted
>>> ip address 172.21.127.1 255.255.255.0
>> если у вас терминирование виланов происходит на 6509, то на ней и
>> надо настраивать дхцп снупинг. на Vlan интерфейсах.
> Конкретно этот вилан терминируется на 7206. Да и насколько я понимаю, сам
> свитч не вставляет опцию 82. Или я ошибаюсь?Ошибаетесь.... именно всич ее и вставляет (кто еще кроме свича вкурсе с какого порта поступил запрос????)
>[оверквотинг удален]
>>>> interface GigabitEthernet0/2.540
>>>> encapsulation dot1Q 540
>>>> ip dhcp relay information trusted
>>>> ip address 172.21.127.1 255.255.255.0
>>> если у вас терминирование виланов происходит на 6509, то на ней и
>>> надо настраивать дхцп снупинг. на Vlan интерфейсах.
>> Конкретно этот вилан терминируется на 7206. Да и насколько я понимаю, сам
>> свитч не вставляет опцию 82. Или я ошибаюсь?
> Ошибаетесь.... именно всич ее и вставляет (кто еще кроме свича вкурсе с
> какого порта поступил запрос????)Я понимаю что он ее вставлять должен.Я имею ввиду что по моим логам не похоже что он что то вставляет. Собственно, я не очень понимаю вообще как правильно задавать relay-information hex. Я просто указал мак-адрес порта клиента,хотя в примерах там больше бит чем в мак-адресе.
>[оверквотинг удален]
>>>> если у вас терминирование виланов происходит на 6509, то на ней и
>>>> надо настраивать дхцп снупинг. на Vlan интерфейсах.
>>> Конкретно этот вилан терминируется на 7206. Да и насколько я понимаю, сам
>>> свитч не вставляет опцию 82. Или я ошибаюсь?
>> Ошибаетесь.... именно всич ее и вставляет (кто еще кроме свича вкурсе с
>> какого порта поступил запрос????)
> Я понимаю что он ее вставлять должен.Я имею ввиду что по моим
> логам не похоже что он что то вставляет. Собственно, я не
> очень понимаю вообще как правильно задавать relay-information hex. Я просто указал
> мак-адрес порта клиента,хотя в примерах там больше бит чем в мак-адресе.а что же в таком случае означают записи лога???
Dec 3 17:52:58: DHCP_SNOOPING: add relay information option.
Dec 3 17:52:58: DHCP_SNOOPING_SW: Encoding opt82 in vlan-mod-port format
Dec 3 17:52:58: DHCP_SNOOPING: binary dump of relay info option, length: 20 data:И причем тут MAC???
в relay-information hex надо указать как выглядит opt82 которую впихнул свич-агент п dhcp пакет... судя по логам он "Encoding opt82 in vlan-mod-port format... binary dump of relay info option, length: 20 data:" т.е. 20 байт в формате vlan-mod-port, более того - строка эта выглядит как"0x52 0x12 0x1 0x6 0x0 0x4 0x2 0x1C 0x0 0xC 0x2 0x8 0x0 0x6 0x0 0x14 0xF2 0x86 0xFE 0xC0 " (свич вам в логи написал) - вот ее вроде и надо вписать в relay-information hex для распознания....
>[оверквотинг удален]
> И причем тут MAC???
> в relay-information hex надо указать как выглядит opt82 которую впихнул
> свич-агент п dhcp пакет... судя по логам он "Encoding opt82 in
> vlan-mod-port format... binary dump of relay info option, length: 20 data:"
> т.е. 20 байт в формате vlan-mod-port, более того - строка эта
> выглядит как
> "0x52 0x12 0x1 0x6 0x0 0x4 0x2 0x1C 0x0 0xC 0x2 0x8
> 0x0 0x6 0x0 0x14 0xF2 0x86 0xFE 0xC0 " (свич вам
> в логи написал) - вот ее вроде и надо вписать в
> relay-information hex для распознания....А MAC ваш кстати в конце какраз и прилеплен, "0x0 0x14 0xF2 0x86 0xFE 0xC0"
"0x2 0x1C 0x0 0xC" - vlan(2байта)-slot-port (540-0-13)
>[оверквотинг удален]
>> vlan-mod-port format... binary dump of relay info option, length: 20 data:"
>> т.е. 20 байт в формате vlan-mod-port, более того - строка эта
>> выглядит как
>> "0x52 0x12 0x1 0x6 0x0 0x4 0x2 0x1C 0x0 0xC 0x2 0x8
>> 0x0 0x6 0x0 0x14 0xF2 0x86 0xFE 0xC0 " (свич вам
>> в логи написал) - вот ее вроде и надо вписать в
>> relay-information hex для распознания....
> А MAC ваш кстати в конце какраз и прилеплен, "0x0 0x14 0xF2
> 0x86 0xFE 0xC0"
> "0x2 0x1C 0x0 0xC" - vlan(2байта)-slot-port (540-0-13)Prerequisites
You must know the hexadecimal value of each byte location in option 82 to be able to configure the relay-information hex command. The option 82 format may vary from product to product. Contact the relay agent vendor for this information.
http://www.cisco.com/en/US/docs/ios/12_3t/12_3t4/feature/gui...
Во как :)
т.е. у какого-нить длинка сия опция может выглядеть кардинально иначе... и циска сходу позаботилась чтобы прикручивалась к любой железке от любого вендора, но надо байтики разгребать....
>[оверквотинг удален]
> Prerequisites
> You must know the hexadecimal value of each byte location in option
> 82 to be able to configure the relay-information hex command. The
> option 82 format may vary from product to product. Contact the
> relay agent vendor for this information.
> http://www.cisco.com/en/US/docs/ios/12_3t/12_3t4/feature/gui...
> Во как :)
> т.е. у какого-нить длинка сия опция может выглядеть кардинально иначе... и циска
> сходу позаботилась чтобы прикручивалась к любой железке от любого вендора, но
> надо байтики разгребать....Ну как? срослось или нет?
>[оверквотинг удален]
>> You must know the hexadecimal value of each byte location in option
>> 82 to be able to configure the relay-information hex command. The
>> option 82 format may vary from product to product. Contact the
>> relay agent vendor for this information.
>> http://www.cisco.com/en/US/docs/ios/12_3t/12_3t4/feature/gui...
>> Во как :)
>> т.е. у какого-нить длинка сия опция может выглядеть кардинально иначе... и циска
>> сходу позаботилась чтобы прикручивалась к любой железке от любого вендора, но
>> надо байтики разгребать....
> Ну как? срослось или нет?Ну до сервера по крайней мере запрос доходит и если в дхцп-классе не задавать вообще hex, то он выдает из нужного пула адрес. Не была задана команда на промежуточных коммутаторах ip dhcp snooping information option allow-untrusted, поэтому на них отбрасывался пакет с опцией или надо было порты делать trusted. Но задать хоть какой-нибудь вариант с hex не удалось. И конкретно вводил hex 5212160421C0C2806014F286FEC0 и с масками различными - не хочет и все тут. Есть идеи?))
Спасибо, кстати, за помощь;)
>[оверквотинг удален]
>>> сходу позаботилась чтобы прикручивалась к любой железке от любого вендора, но
>>> надо байтики разгребать....
>> Ну как? срослось или нет?
> Ну до сервера по крайней мере запрос доходит и если в дхцп-классе
> не задавать вообще hex, то он выдает из нужного пула адрес.
> Не была задана команда на промежуточных коммутаторах ip dhcp snooping information
> option allow-untrusted, поэтому на них отбрасывался пакет с опцией или надо
> было порты делать trusted. Но задать хоть какой-нибудь вариант с hex
> не удалось. И конкретно вводил hex 5212160421C0C2806014F286FEC0 и с масками различными
> - не хочет и все тут. Есть идеи?))Естественно есть!
Для начала ПРАВИЛЬНО записать hex
0x52 0x12 0x1 0x6 0x0 0x4 0x2 0x1C 0x0 0xC 0x2 0x8 0x0 0x6 0x0 0x14 0xF2 0x86 0xFE 0xC0и
5212160421C0C2806014F286FEC0
Ну совсем не одно и то же ;)
В первой строке - 20 байт, а во второй????? правильно-14...
> Спасибо, кстати, за помощь;)
Пожалуйста, но мы еще не закончили...
>[оверквотинг удален]
> Естественно есть!
> Для начала ПРАВИЛЬНО записать hex
> 0x52 0x12 0x1 0x6 0x0 0x4 0x2 0x1C 0x0 0xC 0x2 0x8
> 0x0 0x6 0x0 0x14 0xF2 0x86 0xFE 0xC0
> и
> 5212160421C0C2806014F286FEC0
> Ну совсем не одно и то же ;)
> В первой строке - 20 байт, а во второй????? правильно-14...
>> Спасибо, кстати, за помощь;)
> Пожалуйста, но мы еще не закончили...Пробовал hex 521201060004021C000C020800060014F286FЕC0 и 521201060004021C000000000000000000000000 mask 000000000000000000ffffffffffffffffffffff и mask ffffffffffffffffff0000000000000000000000 - ни в какую.
>[оверквотинг удален]
>> 0x0 0x6 0x0 0x14 0xF2 0x86 0xFE 0xC0
>> и
>> 5212160421C0C2806014F286FEC0
>> Ну совсем не одно и то же ;)
>> В первой строке - 20 байт, а во второй????? правильно-14...
>>> Спасибо, кстати, за помощь;)
>> Пожалуйста, но мы еще не закончили...
> Пробовал hex 521201060004021C000C020800060014F286FЕC0 и 521201060004021C000000000000000000000000
> mask 000000000000000000ffffffffffffffffffffff и mask ffffffffffffffffff0000000000000000000000
> - ни в какую.ip dhcp class class1
relay agent information
relay-information hex 5*???
>[оверквотинг удален]
>>> В первой строке - 20 байт, а во второй????? правильно-14...
>>>> Спасибо, кстати, за помощь;)
>>> Пожалуйста, но мы еще не закончили...
>> Пробовал hex 521201060004021C000C020800060014F286FЕC0 и 521201060004021C000000000000000000000000
>> mask 000000000000000000ffffffffffffffffffffff и mask ffffffffffffffffff0000000000000000000000
>> - ни в какую.
> ip dhcp class class1
> relay agent information
> relay-information hex 5*
> ???не дает вводить нечетные количество. пробовал 52* - не работает. вроде 5212 - это код самой опции 82. методом тыка попробовал 01* - работает. 0106* - не работает. ничего не понимаю.
>[оверквотинг удален]
>>> Пробовал hex 521201060004021C000C020800060014F286FЕC0 и 521201060004021C000000000000000000000000
>>> mask 000000000000000000ffffffffffffffffffffff и mask ffffffffffffffffff0000000000000000000000
>>> - ни в какую.
>> ip dhcp class class1
>> relay agent information
>> relay-information hex 5*
>> ???
> не дает вводить нечетные количество. пробовал 52* - не работает. вроде 5212
> - это код самой опции 82. методом тыка попробовал 01* -
> работает. 0106* - не работает. ничего не понимаю.Дебажить пробовали??
еще как вариант 0152*
>[оверквотинг удален]
>>>> - ни в какую.
>>> ip dhcp class class1
>>> relay agent information
>>> relay-information hex 5*
>>> ???
>> не дает вводить нечетные количество. пробовал 52* - не работает. вроде 5212
>> - это код самой опции 82. методом тыка попробовал 01* -
>> работает. 0106* - не работает. ничего не понимаю.
> Дебажить пробовали??
> еще как вариант 0152*На сервере:
debug ip dhcp server classThe following example shows the debug output when the configured pattern does not match:
Router# debug ip dhcp server class
DHCPD:Searching for a match to 'relay-information
0106000 400020202020800060009e80b8800' in class CLASS1
DHCPD:Searching for a match to 'relay-information 0106000400020202020800060009e80b8800' in
class CLASS1DHCPD:Searching for a match to 'relay-information 0106000
И увидите что-же пытается искать сервак в том, что приходить.
>[оверквотинг удален]
> The following example shows the debug output when the configured pattern
> does not match:
> Router# debug ip dhcp server class
> DHCPD:Searching for a match to 'relay-information
> 0106000 400020202020800060009e80b8800' in class CLASS1
> DHCPD:Searching for a match to 'relay-information 0106000400020202020800060009e80b8800'
> in
> class CLASS1
> DHCPD:Searching for a match to 'relay-information 0106000
> И увидите что-же пытается искать сервак в том, что приходить.Проверил еще раз - все работает с 3 байта(0106.....). debug почему то не пашет, пробовал включать все что относится к dhcp - debug dhcp detail, ip dhcp server class/packet/events. Так то уже давно бы разобрался;)
Теперь точно спасибо за активное участие)
PS кстати, может я гуглил плохо, но толкового описания или мануала по опции 82 не нашел.
>[оверквотинг удален]
>> class CLASS1
>> DHCPD:Searching for a match to 'relay-information 0106000
>> И увидите что-же пытается искать сервак в том, что приходить.
> Проверил еще раз - все работает с 3 байта(0106.....). debug почему то
> не пашет, пробовал включать все что относится к dhcp - debug
> dhcp detail, ip dhcp server class/packet/events. Так то уже давно бы
> разобрался;)
> Теперь точно спасибо за активное участие)
> PS кстати, может я гуглил плохо, но толкового описания или мануала по
> опции 82 не нашел.Как дебаг включали???
надеюсь "terminal monitor" перед дебагом не забыли ввести???
>[оверквотинг удален]
>>> class CLASS1
>>> DHCPD:Searching for a match to 'relay-information 0106000
>>> И увидите что-же пытается искать сервак в том, что приходить.
>> Проверил еще раз - все работает с 3 байта(0106.....). debug почему то
>> не пашет, пробовал включать все что относится к dhcp - debug
>> dhcp detail, ip dhcp server class/packet/events. Так то уже давно бы
>> разобрался;)
>> Теперь точно спасибо за активное участие)
>> PS кстати, может я гуглил плохо, но толкового описания или мануала по
>> опции 82 не нашел.Мне казалось, что по ссылке
http://www.cisco.com/en/US/docs/ios/12_3t/12_3t4/feature/gui...
Довольно подробное описание...
>[оверквотинг удален]
>>> И увидите что-же пытается искать сервак в том, что приходить.
>> Проверил еще раз - все работает с 3 байта(0106.....). debug почему то
>> не пашет, пробовал включать все что относится к dhcp - debug
>> dhcp detail, ip dhcp server class/packet/events. Так то уже давно бы
>> разобрался;)
>> Теперь точно спасибо за активное участие)
>> PS кстати, может я гуглил плохо, но толкового описания или мануала по
>> опции 82 не нашел.
> Как дебаг включали???
> надеюсь "terminal monitor" перед дебагом не забыли ввести???конечно нет, как то я его включал на свитче до этого)
не показалось мне описание на сайте cisco полным, там понятно что все есть, но не в одном месте и без конкретных примеров.
>[оверквотинг удален]
>>> dhcp detail, ip dhcp server class/packet/events. Так то уже давно бы
>>> разобрался;)
>>> Теперь точно спасибо за активное участие)
>>> PS кстати, может я гуглил плохо, но толкового описания или мануала по
>>> опции 82 не нашел.
>> Как дебаг включали???
>> надеюсь "terminal monitor" перед дебагом не забыли ввести???
> конечно нет, как то я его включал на свитче до этого)
> не показалось мне описание на сайте cisco полным, там понятно что все
> есть, но не в одном месте и без конкретных примеров.Попробуйте, хотя ОЧЕНЬ странно что дебаг вам ничего не сказал!
Может запросы не попадают просто на ваш DHCP сервер???01060004021C000C020800060014F286FEC0
или 010600* и далее добавлять по одному байту пока не перестанет воспринимать %)Там написано, что все слишком вендоро/платформо/софтварно зависимо,
а совет один - дебажить+снифать пакеты и смотреть что в пакете 0x52 0xNN <-------> 0xFF, вот часть <------> и должна быть помещена в relay-information hexПричем в некоторых примерах - дважды :)
>[оверквотинг удален]
> Попробуйте, хотя ОЧЕНЬ странно что дебаг вам ничего не сказал!
> Может запросы не попадают просто на ваш DHCP сервер???
> 01060004021C000C020800060014F286FEC0
> или 010600* и далее добавлять по одному байту пока не перестанет воспринимать
> %)
> Там написано, что все слишком вендоро/платформо/софтварно зависимо,
> а совет один - дебажить+снифать пакеты и смотреть что в пакете 0x52
> 0xNN <-------> 0xFF, вот часть <------> и должна быть помещена в
> relay-information hex
> Причем в некоторых примерах - дважды :)Ну как?? есть какой-то результат или все плохо? :)
>[оверквотинг удален]
>> Может запросы не попадают просто на ваш DHCP сервер???
>> 01060004021C000C020800060014F286FEC0
>> или 010600* и далее добавлять по одному байту пока не перестанет воспринимать
>> %)
>> Там написано, что все слишком вендоро/платформо/софтварно зависимо,
>> а совет один - дебажить+снифать пакеты и смотреть что в пакете 0x52
>> 0xNN <-------> 0xFF, вот часть <------> и должна быть помещена в
>> relay-information hex
>> Причем в некоторых примерах - дважды :)
> Ну как?? есть какой-то результат или все плохо? :)Так я же уже писал что все работает;)
>[оверквотинг удален]
>>> 01060004021C000C020800060014F286FEC0
>>> или 010600* и далее добавлять по одному байту пока не перестанет воспринимать
>>> %)
>>> Там написано, что все слишком вендоро/платформо/софтварно зависимо,
>>> а совет один - дебажить+снифать пакеты и смотреть что в пакете 0x52
>>> 0xNN <-------> 0xFF, вот часть <------> и должна быть помещена в
>>> relay-information hex
>>> Причем в некоторых примерах - дважды :)
>> Ну как?? есть какой-то результат или все плохо? :)
> Так я же уже писал что все работает;)Упс, я фразу видимо истолковал неправильно :)
Кстати кажись понял почему именно с 3-его байта, 1-й байт код самой опции, 2-ой длинна (0х12 - 18 байтов), а "агент" как раз сообщил, что добавил 20 байт - код, длинна, +18 байт собственно тело...