Jump to content

Recommended Posts

Posted

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

 

Мне надо выдавать 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

Posted

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

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

Posted

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

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

 

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

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

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

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

Posted

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

Posted

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

 

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

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

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

Posted

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

 

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

 

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

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

 

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

 

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

 

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

 

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

 

 

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

 

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

 

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

 

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

 

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

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

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

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

Posted

Насколько я помню 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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.