DHCPD: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 45: Строка 45:
 
);
 
);
 
}
 
}
  +
</PRE>
  +
  +
в лог пишу, соответвенно:
  +
<PRE>
  +
log (info, concat("RELAYIP=",binary-to-ascii(10, 8, ".", packet(24, 4))));
 
</PRE>
 
</PRE>
   

Версия 21:33, 7 ноября 2009

Примеры конфигов с комментариями

алиасы на инерфейсы релея

Пакет

    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 Vlan2004
 ip dhcp relay information option-insert
 ip address 10.104.4.254 255.255.255.0 secondary
 ip address 10.4.4.254 255.255.255.0
 ip access-group customers-vlan-2004 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