多接口 Red Hat 6 ISC DHCP 服务器发送错误的 PXE next-server

多接口 Red Hat 6 ISC DHCP 服务器发送错误的 PXE next-server

我的设置:Red Hat 6.7 isd dhcp 服务器 2x 网络连接(A 和 B) 在网络 A 上配置一个 DHCP 池

当我在单个网络(“A”)上设置此服务器时,它工作正常,现在我添加了第二个网络(“B”),DHCP 服务器正在将“B”网络的“下一个服务器”的 IP 地址发送给 PXE 客户端。无法弄清楚原因。

DHCP 地址正确发出,因此当网络 A 上的客户端请求租约时,DHCP 服务器会从网络 A 上的池中正确地发送租约。

我到处都添加了带有正确网络 B 地址的 next-server 指令,但它仍然没有任何作用。我尝试过:作为全局 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";

答案1

我发现了发生了什么,我正在使用 Foreman(Red Hat Satellite 的上游)来配置这些主机,看起来它写入了一个静态租约/var/lib/dh​​cpd/dhcpd.leases使用取代服务器。下一个服务器 = AA:BB:CC:DD; 其中 IP 表示为 4 个十六进制八位字节。

相关内容