Моя настройка: Red Hat 6.7 isd dhcp server 2x подключенных сети (A и B) Один пул DHCP настроен в сети A
Когда я настроил этот сервер в одной сети («A»), он работал нормально, теперь, когда я добавил вторую сеть («B»), DHCP-сервер отправляет IP-адрес сети «B» для «следующей». -сервер »для клиентов PXE. Не могу понять почему.
Адреса DHCP выходят правильно, поэтому, когда клиент в сети A запрашивает аренду, сервер DHCP правильно отправляет аренду из пула в сети A.
Я добавил директиву следующего сервера с правильным адресом сети B повсюду, но она по-прежнему ничего не делает. Я пробовал: В качестве первой строки в глобальной конфигурации dhcpd.conf Внутри объявления подсети Внутри объявления пула под подсетью Внутри класса pxeclient
Изменить: сеть A - 192.168.0.0/24, сеть B - 192.168.1.0/24
Когда клиенты PXE подключаются к сети A, они получают аренду DHCP из пула, но следующий сервер отправляется как 192.168.1.1 вместо 192.168.0.1.
Файл конфигурации /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# see 'man 5 dhcpd.conf'
#
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# see 'man 5 dhcpd.conf'
#
# dhcpd.conf
next-server 192.168.0.1;
option tftp-server-name = "192.168.0.1";
server-name = "192.168.0.1";
option space PXE;
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;
option arch code 93 = unsigned integer 16; # RFC4578
default-lease-time 86400; #1 day
max-lease-time 604800; #7 days
option domain-name "satellite";
option domain-name-servers 192.168.0.1;
allow booting;
allow bootp;
log-facility local7;
ddns-update-style interim;
ignore client-updates;
authoritative;
omapi-port 7911;
#Optional key:
key omapi_key {
algorithm HMAC-MD5;
secret "[...]";
}
omapi-key omapi_key;
option pxegrub code 150 = text ;
#################################
# local
#################################
subnet 192.168.0.0 netmask 255.255.255.0 {
pool
{
next-server 192.168.0.1;
option tftp-server-name = "192.168.0.1";
server-name = "192.168.0.1";
range 192.168.0.10 192.168.0.253;
}
allow booting;
allow bootp;
next-server 192.168.0.1;
option tftp-server-name = "192.168.0.1";
server-name = "192.168.0.1";
option routers 192.168.0.254;
option domain-name "satellite";
option domain-name-servers 192.168.0.1;
option subnet-mask 255.255.255.0;
option fqdn.no-client-update on; # set the "O" and "S" flag bits
option fqdn.rcode2 255;
# PXE Handoff.
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
#option pxegrub code 150 = text;
next-server 192.168.0.1;
option tftp-server-name = "192.168.0.1";
server-name = "192.168.0.1";
if option arch = 00:06 {
filename "bootia32.efi";
} else if option arch = 00:07 {
filename "bootx64.efi";
} else {
filename "pxelinux.0";
}
}
}
include "/etc/dhcp/dhcpd.hosts";
Я узнал, что происходит, я использую Foreman (восходящий поток Red Hat Satellite) для предоставления этих хостов, и похоже, что он записал статическую аренду в /var/lib/dhcpd/dhcpd.leases с замененным server.next-server = AA: BB: CC: DD; Где IP представлен в виде 4-х шестнадцатеричных октетов.