我正在运行 2 个装有 isc-dhcp-server 4.2.4-7ubuntu12.8 的盒子,当其中一个发出租约时,它看起来像这样:
lease 192.168.56.228 {
starts 3 2017/03/29 02:17:31;
ends 4 2018/03/29 02:17:31;
tstp 4 2018/09/27 14:17:31;
tsfp 4 2018/09/27 14:17:31;
atsfp 4 2018/09/27 14:17:31;
cltt 3 2017/03/29 02:17:31;
binding state active;
next binding state expired;
hardware ethernet 08:00:27:84:32:e3;
client-hostname "craig-ubuntu1604";
}
但是,对等方的租约副本没有“客户端主机名”行。应该有吗?如果是,我该如何配置才能让它们共享这个?或者,我做错了什么?
答案1
查看 isc-dhcp-server 代码后,似乎租约中的主机名在以下行中设置:
memcpy (lt -> client_hostname, d1.data, d1.len);
在 dhcp.c 的 ack_lease 函数中。虽然两个 DHCP 服务器都可能提供租约,但客户端只会从其中一个服务器请求租约,并且 ACK 仅来自客户端请求租约的服务器。所以这是预期的行为。ISC 的 IRC 频道中的某个人建议这是因为对等方不需要关心主机名。