Я пытаюсь настроить файл 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-сервере и увидел запросы, исходящие как от голого сервера, так и от виртуальной машины. Итак, я знаю, что это не проблема сети.
Любая помощь будет оценена.
Я думаю, вы не соответствуете OUI MAC. Вы должны посмотреть полный дамп пакета сервера Supermicro, чтобы увидеть, устанавливают ли они «PXEClient» в поле класса поставщика, такое как упомянутое Zypher. Вы должны запустить tcpdump с опциями -vvv, чтобы показать полный дамп пакета.
Прямо сейчас вы должны войти в пул DHCP для ЛЮБОГО клиента PXE (который правильно устанавливает параметр) ИЛИ любого хоста KVM ИЛИ любого хоста supermicro ... так что не уверен, почему у вас есть несколько классов.
Вы регистрируете OUI MAC для каждого пакета (только если он совпадает). Вы что-нибудь видите в системном журнале?