Возникает странная проблема, когда isc-dhcp-server (isc-dhcpd-4.3.3 - ubuntu 16.04) передает клиентам IP-адреса из неправильного пула.
Моя конфигурация немного странная, поскольку мне нужно определить много подсетей / 31 (из-за того, как построена моя сеть), а DHCP-сервер должен выделять последний IP-адрес в / 31.
У меня также есть несколько классов, соответствующих идентификатору поставщика.
Конфиг:
option space JNPR;
option JNPR.image-file-name code 0 = text;
option JNPR.config-file-name code 1 = text;
option JNPR.image-file-type code 2 = text;
option JNPR.transfer-mode code 3 = text;
option JNPR-encapsulation code 43 = encapsulate JNPR;
class "arista" {
match if option vendor-class-identifier ~~ "^Arista.*";
option bootfile-name "http://10.1.1.1/arista/arista-ztp.sh";
}
class "juniper-ex" {
match if option vendor-class-identifier ~~ "^Juniper-ex.*";
option tftp-server-name "ztp";
option tftp-server-name "10.1.1.1";
option JNPR.transfer-mode "http";
option JNPR.config-file-name "/junos/junos-ztp.sh";
}
class "juniper-qfx" {
match if option vendor-class-identifier ~~ "^Juniper-qfx.*";
option tftp-server-name "ztp";
option tftp-server-name "10.1.1.1";
option JNPR.transfer-mode "http";
option JNPR.config-file-name "/junos/junos-ztp.sh";
}
shared-network ztp {
subnet 10.250.138.0 netmask 255.255.255.240 {
option routers 10.250.138.1;
option subnet-mask 255.255.255.240;
}
subnet 10.255.4.0 netmask 255.255.255.254 {
option routers 10.255.4.0;
option subnet-mask 255.255.255.254;
}
subnet 10.255.4.2 netmask 255.255.255.254 {
option routers 10.255.4.2;
option subnet-mask 255.255.255.254;
}
subnet 10.255.4.4 netmask 255.255.255.254 {
option routers 10.255.4.4;
option subnet-mask 255.255.255.254;
}
pool {
allow members of "arista";
range 10.250.138.2 10.250.138.6;
}
pool {
allow members of "juniper-ex";
allow members of "juniper-qfx";
range 10.255.4.1;
}
pool {
allow members of "juniper-ex";
allow members of "juniper-qfx";
range 10.255.4.3;
}
pool {
allow members of "juniper-ex";
allow members of "juniper-qfx";
range 10.255.4.5;
}
Итак, я вижу, что сервер, кажется, назначает IP-адреса случайным образом, а не на основе исходного IP-адреса запроса. Вот фрагмент из tcpdump:
10.1.1.1.67 > 10.255.4.0.67: [bad udp cksum 0xecd5 -> 0xf491!] BOOTP/DHCP, Reply, length 353, hops 1, xid 0x2ca232f2, Flags [Broadcast] (0x8000)
Your-IP 10.255.4.3
Server-IP 10.1.1.1
Gateway-IP 10.255.4.0
это должно было назначить 10.255.4.1
иногда это срабатывает, но довольно случайно ... Есть идеи ?? Спасибо