No meu sistema (debian lenny), preciso de binary-to-ascii para corresponder aos endereços mac. Neste exemplo (de trabalho) do meu dhcpd.conf, server247 está na classe "local", no entanto, dou a ele um endereço fixo que não está no pool. Eu recomendaria que os endereços fixos estejam em um intervalo separado dos endereços atribuídos dinamicamente (eles ainda podem estar na mesma sub-rede).
class "kvm" {
match if binary-to-ascii(16,8,":",substring(hardware, 1, 2)) = "56:11";
}
class "local" {
match if binary-to-ascii(16,8,":",substring(hardware, 1, 2)) = "52:54";
}
host meme {
fixed-address 10.1.0.254;
}
host server247 {
hardware ethernet 52:54:00:2f:ea:07;
fixed-address 10.1.0.247;
}
subnet 10.1.0.224 netmask 255.255.255.224 {
option routers 10.1.0.225;
pool {
allow members of "kvm";
range 10.1.0.226 10.1.0.235;
}
pool {
allow members of "local";
range 10.1.0.236 10.1.0.240;
}
pool {
# Don't use this pool. It is really just a range to reserve
# for fixed addresses defined per host, above.
allow known-clients;
range 10.1.0.241 10.1.0.253;
}
}
Para o seu exemplo, você faria:
match if binary-to-ascii(16,8,":",substring(hardware, 1, 3)) = "00:01:02";