DHCPD
Материал из noname.com.ua
Примеры конфигов с комментариями
алиасы на интерфейсы релея
Пакет
Option: (t=82,l=20) Agent Information Option Option: (82) Agent Information Option Length: 20 Value: 020C020A00000A0402FE0A000000060474657374 Agent Remote ID: 020A00000A0402FE0A000000 Subscriber ID: 74657374 End Option
В поле Agent Remote ID: содержиться Relay ip address:0A0402FE == 0A.04.02.FE = 10.4.2.254 На основании значения этого поля можно различать, например, разные интерфейсы роутера, или даже разные алиасы на интерфейсе.
На коммутаторе имеем: (не увеерн что здесь только значащие комманды)
ip dhcp smart-relay ip dhcp relay information policy encapsulate ip dhcp subscriber-id interface-name interface Vlan2002 ip dhcp relay information option-insert ip address 10.104.2.254 255.255.255.0 secondary ip address 10.4.2.254 255.255.255.0 ip access-group customers-vlan-2002 in ip helper-address 172.16.30.41 end
Класс для клиента, который может получить адрес через один из 2-х адресов релеев. Естественно, комбинировать можно сколь угодно сложно.
class "10.4.2.188___0:e0:43:95:3:5f" { match if( ( binary-to-ascii(16, 8, ":", substring(hardware, 1, 6)) = "0:e0:43:95:3:5f") and ( ( binary-to-ascii(10, 8, ".", packet(24, 4)) = "10.4.2.254" ) or ( binary-to-ascii(10, 8, ".", packet(24, 4)) = "10.104.2.254" ) ) ); }
в лог пишу, соответвенно:
log (info, concat("RELAYIP=",binary-to-ascii(10, 8, ".", packet(24, 4))));
Ссылки
https://lists.isc.org/pipermail/dhcp-users/2008-June/006642.html