我正在研究无盘 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 中的主机名表来实现这一点”。但我不确定该怎么做。