如何在 DHCP 服务器上将主机名设置为特定范围的 IP 地址?

如何在 DHCP 服务器上将主机名设置为特定范围的 IP 地址?

我正在研究无盘 Linux 集群。我使用的是 Ubuntu Server 12.04(已安装并配置 DHCP、TFTP 和 NFS 服务器)。当我通过 Live CD 启动从属机器时,它们都具有相同的主机名,但 IP 地址不同。我想通过 DHCP 服务器为从属机器设置主机名/IP 地址对,而无需知道从属机器的 MAC 地址。例如:

      IP       Hostname 
192.168.1.200   slave1
192.168.1.201   slave2
...
192.168.1.253   slave54

当从属机器192.168.1.201从 DHCP 服务器动态获取 IP 地址时,其主机名必须是slave2。我使用了客户端的解决方案是从 DHCP 服务器获取主机名。但我不知道如何192.168.1.201 slave2在服务器端匹配“”。我的 DHCP 配置文件:

...

subnet 192.168.1.0 netmask 255.255.255.0  {
    range dynamic-bootp 192.168.1.200 192.168.1.253; # Range of lease IP  address
    option broadcast-address 192.168.1.255;
    option routers 192.168.1.1;
}

next-server 192.168.1.10; # PXE server address
filename “pxelinux.0”;

DHCP 服务器动态地为客户端分配 IP 地址,而无需知道客户端的 MAC 地址。我认为它也可以分配主机名。有办法吗?请给我一些建议。

答案1

我的教授回答了我的问题。在 Linux 服务器中,没有特定的工具或方法可以在不知道 MAC 地址的情况下分配主机名和 IP 地址对。因为 Linux 服务器使用纯 DHCP 标准。所以我必须在 /etc/dhcp/dhcpd.conf 文件中为每个从属服务器分配一个主机名/固定 IP 地址和 MAC 地址。例如:

host slave1 {
  hardware ethernet 00:00:00:00:00:01;
  fixed-address 192.168.1.200;
  option host-name "slave1";
}

host slave2 {
   hardware ethernet 00:00:00:00:00:02;
   fixed-address 192.168.1.201;
   option host-name "slave2";
}
...

他说:“您可以使用 Windows NT Server 中的主机名表来实现这一点”。但我不确定该怎么做。

相关内容