rendered paste bodyddns-update-style interim;
ddns-updates on;
ignore client-updates;
authoritative;
option domain-name "domain.local";
option domain-name-servers 192.168.0.2;
option routers 192.168.0.1;
max-lease-time 604800;
class "pxe" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
}
class "install" {
match if option dhcp-client-identifier = "PXEInstall";
}
class "anaconda" {
match if substring (option vendor-class-identifier, 0, 8) = "anaconda";
}
subnet 192.168.0.0 netmask 255.255.252.0 {
allow bootp;
allow booting;
next-server 192.168.0.2;
filename "pxelinux.0";
pool {
allow known clients;
allow members of "pxe";
allow members of "install";
allow members of "anaconda";
default-lease-time 604800;
use-host-decl-names on;
if known {
ddns-hostname = host-decl-name;
} else {
ddns-hostname = binary-to-ascii (16,8,"-",substring (hardware,1,6));
}
range dynamic-bootp 192.168.1.1 192.168.1.254;
range dynamic-bootp 192.168.2.1 192.168.2.254;
ddns-updates on;
}
pool {
deny members of "pxe";
deny members of "install";
deny members of "anaconda";
allow unknown-clients;
deny known clients;
default-lease-time 7200;
max-lease-time 7200;
ddns-hostname = binary-to-ascii (16,8,"-",substring (hardware,1,6));
option subnet-mask 255.255.255.255;
option domain-name-servers 127.0.0.1;
option routers 127.0.0.1;
range dynamic-bootp 192.168.3.1 192.168.3.254;
}
}
zone domain.local. {
primary 192.168.0.2;
}
zone 0.168.192.in-addr.arpa. {
primary 192.168.0.2;
}
zone 1.168.192.in-addr.arpa. {
primary 192.168.0.2;
}
zone 2.168.192.in-addr.arpa. {
primary 192.168.0.2;
}
zone 3.168.192.in-addr.arpa. {
primary 192.168.0.2
}
group {
host hostname { hardware ethernet 00:11:22:33:44:55; }
}