Здравствуйте,
Мне надо выдавать 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
Заранее благодарю.
С уважением,
Сергей
dhcp3.txt