Jump to content
Калькуляторы

multiple Option 82 fields in one DHCP request multiple Option 82 fields in one DHCP request

Здравствуйте,

 

Мне надо выдавать IP адрес на основе информации от ДВУХ коммутаторов.

Смотрите приложенный файл с топологией.

Я использую два коммутатора HP ProCurve 2910 и они сконфигурированы так,

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

82.

 

В документации к коммутатору достаточно странно написано:

Note: In networks with multiple relay agents between a client and an Option

82 server, append can be used only if the server supports multiple Option 82

fields in a client request.

http://cdn.procurve.com/training/Manuals/2910-MRG-Sept09-W_14_03.pdf

 

Вы бы не могли объяснить, как надо настроить DHCP сервер, чтобы он их понимал?

Я использую isc-dhcp-server v4.1.1-P1-15+squeeze2

 

Я пробовал так, но не работает :)

 

#requests from port-12-2 of the switch

class "port-12-2"

{

match if (

binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) =

"12"

and

binary-to-ascii (10, 8, "", suffix( option *agent2*.circuit-id, 1)) =

"2"

);

}

# port-12-2 address

pool {

range 192.168.0.204;

allow members of "port-12-2";

}

 

Как различить между первой и второй опцией 82 ?

В приложении трейс из wireshark (для просмотра убрать .тхт)

 

Зачем нужно 2 опт82?

Клиент однозначно НЕ идентифицируется одним. Смотрите на картинку топологии.

 

Port 1 (SW-A) + Port 11 (SW-C) => Client 1

Port 2 (SW-A) + Port 11 (SW-C) => Client 2

Port 1 (SW-B) + Port 12 (SW-C) => Client 3

Port 2 (SW-B) + Port 12 (SW-C) => Client 4

 

Заранее благодарю.

 

С уважением,

 

Сергей

post-85611-040383300 1307537163_thumb.jpg

post-85611-050822200 1307537175_thumb.jpg

dhcp3.txt

Share this post


Link to post
Share on other sites

Чисто с академической точки зрения задача интересная.

Но с практической точки зрения настройте dhcp trust где надо и не изобретайте такие костыли

Share this post


Link to post
Share on other sites

Чисто с академической точки зрения задача интересная.

Но с практической точки зрения настройте dhcp trust где надо и не изобретайте такие костыли

 

Почему с чисто академической?

Вполне реальное приложение. Наша система состоит из большого количества одинаковых компонентов

Меня интересует 0-Configuration всего кроме комутатора верхнего уровня и DHCP сервера.

Kак по другому это можно реализовать?

Share this post


Link to post
Share on other sites

В этом случае идентификацию абонента можно производить по опции82 с аксессного коммутатора и номеру влана, т.е. на коммутаторах "верхнего уровня" запихивать каждый порт, куда включается аксессный коммутатор в свой влан. Или вам принципиально, чтобы все были в одном L2-сегменте? С увеличением масштабов сети это может привести к печальным последствиям.

Share this post


Link to post
Share on other sites

В этом случае идентификацию абонента можно производить по опции82 с аксессного коммутатора и номеру влана, т.е. на коммутаторах "верхнего уровня" запихивать каждый порт, куда включается аксессный коммутатор в свой влан. Или вам принципиально, чтобы все были в одном L2-сегменте? С увеличением масштабов сети это может привести к печальным последствиям.

 

Да, для меня важно чтобы они были в одном L2 сегменте.

Я в личку скинул нашу топологию. В нашем случае мы не планируем больше 60 машин в верхнем сегменте.

Пропускная способность тут тоже не играет большого значения.

Share this post


Link to post
Share on other sites

Схему открыл, ничего не понял :(

 

Если всё-таки надо обрабатывать несколько опций82, то обратитесь к автору этого http://forum.nag.ru/forum/index.php?showtopic=64849 творения, чтобы допилить под эту задачу, ну или сами, если в перле разбираетесь.

 

Но если у вас будет настоящий большой L2, а не pvlan с arp-proxy на точке терминирования, то можете упереться в размер таблицы мак-адресов и производительность cpu "верхних" свитчей(т.к. option82 это софт-фича)

Share this post


Link to post
Share on other sites
Вы бы не могли объяснить, как надо настроить DHCP сервер, чтобы он их понимал?

 

Надо его запрограммировать :)

 

Доточите под себя перловый скрипт, это самое простое и быстрое решение.

 

Ситуация не стандартная. Ещё убедитесь что у вас клиент не может сам дописывать опции 82, а то их к ряду может получится и три и более.

 

Лучше свести ситуацию к стандартной, по факту можно нарваться на кучу граблей в разном софте. В тч даже в Net::DHCP не отработает правильно, насколько я понял код у него код опции не повторяется, и последняя 82 затрет предыдущие.

 

 

Share this post


Link to post
Share on other sites
Вы бы не могли объяснить, как надо настроить DHCP сервер, чтобы он их понимал?

 

Доточите под себя перловый скрипт, это самое простое и быстрое решение.

 

Ситуация не стандартная. Ещё убедитесь что у вас клиент не может сам дописывать опции 82, а то их к ряду может получится и три и более.

 

Лучше свести ситуацию к стандартной, по факту можно нарваться на кучу граблей в разном софте.

 

Понятно, что надо запрограммировать. Буду разбираться.

А что в вашем понимании стандартная?

Такая система должна быть довольно стандартной для многих систем АСУ, где блоки подключаются по Ethernet и могут быть заменены без дополнительных настроек и танцев с бубном. Как я понял, тут все упирается в DHCP сервер. В них просто такая возможность не предусмотрена.

Ладно, буду ковырять DHCP сервер.

Share this post


Link to post
Share on other sites

Насколько я помню RFC касающиеся DHCP, то опции с одинаковым кодом являются продолжением друг друга, те если все не влезло в одну (255 байт) то создаётся ещё одна с таким же кодом.

 

Потому любой коммутатор другого вендора может вполне обоснованно прекратить безобразие и повырезать всё лишнее.

 

Без доп настроек ставится любое не управляемое оборудование :)

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this