здравствуйте, настроил isc-dhcp-server для выдачи ип адресов на базе option 82. Вот кусок конфига который делает этоsubnet 192.168.1.0 netmask 255.255.255.0
{
option routers 192.168.1.1;
option domain-name-servers 192.268.1.1;class "vlan2_sw1_port5"
{
match if
(
( binary-to-ascii(10,16,"",substring(option agent.circuit-id,2,2)) = "2" )
and
( binary-to-ascii (16, 8, ":", suffix( option agent.remote-id, 6)) = "0:22:d:7a:a9:80" )
and
( binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "5" )
);
}class "all"
{
match if (binary-to-ascii(10,16,"",substring(option agent.circuit-id,2,2)) = "2");
}pool
{
range 192.168.1.155;
allow members of "vlan2_sw1_port5";
}
pool
{
range 192.168.1.120 192.168.1.130;
allow members of "all";
#allow unknown-clients;
}
}class "vlan2_sw1_port5" проверяет если в option 82 совпадают влан, мак свичя (RID) и порт (CID) тогда выдается ИП 192.168.1.155.
Проблема в том что дхцп автоматом выдает 192.168.1.120 ...
Если закоментить пул 192.168.1.120 192.168.1.130 то все выдается нормально (192.168.1.155). Думал может allow unknown-clients имеет больший приоритет чем allow members и создал класс "all" где проверяю влан но все равно выдает 192.168.1.120 ...
Кто что подскажет ... ?
пока нашел только такое решение
pool
{
range 192.168.1.120 192.168.1.130;
#allow members of "all";
#allow unknown-clients;
deny members of "vlan2_sw1_port5";
}но если у меня несколько свичей по 48 портов и для каждого создаю класс и все эти классы добавить как deny в этот пул ... это гемор...
>[оверквотинг удален]
>
> #allow members of "all";
>
> #allow unknown-clients;
>
> deny members of "vlan2_sw1_port5";
> }
> но если у меня несколько свичей по 48 портов и для каждого
> создаю класс и все эти классы добавить как deny в этот
> пул ... это гемор...спасибо добрый человек. мне лично помогло
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
log (info,if binary-to-ascii (16, 8, "-", substring (hardware, 0, 4)) = "1-0-15-65");
pool {
range 192.168.1.2 192.168.1.40;
allow members of "yealink";
}
pool {
range 192.168.1.41 192.168.1.200;
deny members of "yealink";
allow unknown-clients;
}
}