dhcpd.conf для загрузки PXE/BOOTP не работает
Я пытаюсь настроить файл dhcpd.conf таким образом, чтобы при загрузке через сеть с использованием PXE / BOOTP сервер или виртуальная машина (KVM) с чистым железом получала IP-адрес в диапазоне от 10.0.2.100 до 10.0.2.253.,
В настоящее время он работает для kvm, но не для сервера без поддержки.
Я не знаком с опцией "сопоставить подстроку", так что это может быть моей проблемой.
Кажется, работает только класс "KVM". Сначала я попробовал MAC-адрес между двойными кавычками "52:54:00", но он не работал. Работает без кавычек.
Вот мой файл dhcpd.conf:
option ntp-servers 0.us.pool.ntp.org;
option domain-name "corp.example.com";
option domain-name-servers 10.0.0.2, 75.75.75.75, 75.75.76.76;
# Configuration for the kickstart server
allow booting;
allow bootp;
class "PXE" {
match if substring(option vendor-class-identifier, 0, 9) = "PXEClient";
option vendor-class-identifier "PXEClient";
vendor-option-space PXE;
next-server 10.0.2.11;
filename "pxelinux.0";
}
class "KVM" {
match if substring(hardware,1,3) = 52:54:00;
log (info, (substring(hardware, 1, 3)));
}
class "SuperMicro" {
match if substring(hardware,1,3) = 00:25:90;
log (info, (substring(hardware, 1, 3)));
}
# tell DHCP to set option 66 as a string variable
# option boot-server code 66 = string;
# option option-66 code 66 = text;
option tftp-server-name "63.251.141.68";
default-lease-time 604800;
max-lease-time 1209600;
authoritative;
shared-network corp {
subnet 10.0.0.0 netmask 255.255.0.0 {
option routers 10.0.0.1;
option broadcast-address 10.0.255.255;
pool {
range dynamic-bootp 10.0.2.100 10.0.2.253;
allow members of "PXE";
allow members of "KVM";
allow members of "SuperMicro";
}
pool {
range 10.0.100.1 10.0.115.255;
deny members of "PXE";
deny members of "KVM";
deny members of "SuperMicro";
}
}
}
Я запустил tcpdump на DHCP-сервере и увидел запросы, приходящие как с сервера с нуля, так и с виртуальной машины. Итак, я знаю, что это не проблема сети.
Любая помощь будет оценена.
1 ответ
Я думаю, что вы не соответствуете на OUI MAC. Вы должны взглянуть на полный дамп пакета сервера Supermicro, чтобы увидеть, устанавливают ли они "PXEClient" в поле класса вендора, такое как упомянутый Zypher. Вы должны запустить tcpdump с опциями -vvv, чтобы показать полный дамп пакета.
Прямо сейчас вы должны войти в пул DHCP для ЛЮБОГО PXE-клиента (который правильно устанавливает опцию) ИЛИ любого KVM-хоста ИЛИ любого супермикро-хоста... поэтому не знаете, почему у вас есть несколько классов.
Вы регистрируете OUI MAC для каждого пакета (только если он совпадает). Вы видите что-нибудь в системном журнале?