Перейти к содержимому
Калькуляторы

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

 

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

 

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

 

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

 

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

 

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

 

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

 

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.