Назад | Перейти на главную страницу

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-сервере и увидел запросы, исходящие как от голого сервера, так и от виртуальной машины. Итак, я знаю, что это не проблема сети.

Любая помощь будет оценена.

Я думаю, вы не соответствуете OUI MAC. Вы должны посмотреть полный дамп пакета сервера Supermicro, чтобы увидеть, устанавливают ли они «PXEClient» в поле класса поставщика, такое как упомянутое Zypher. Вы должны запустить tcpdump с опциями -vvv, чтобы показать полный дамп пакета.

Прямо сейчас вы должны войти в пул DHCP для ЛЮБОГО клиента PXE (который правильно устанавливает параметр) ИЛИ любого хоста KVM ИЛИ любого хоста supermicro ... так что не уверен, почему у вас есть несколько классов.

Вы регистрируете OUI MAC для каждого пакета (только если он совпадает). Вы что-нибудь видите в системном журнале?