如果我在 dhcp 中配置 IP 地址范围,并使用固定地址将两个地址分配给两个不同的 MAC,并且如果这两个或其中一个系统在网络中不活跃,那么相应的 IP 地址将被分配给任何主机声明中未提及的其他系统。
我已经在 CentOS 7.1 上配置了 dhcp 服务器 4.2.5,并配置了 dhcpd.conf,如下所示:
log-facility local7;
ping-checks;
ping-timeout 5;
deny declines;
lease-file-name "/etc/dhcp/dhcpd.leases";
infinite-is-reserved on;
#######################- eth0 -#######################
subnet 192.168.72.0 netmask 255.255.255.0 {
range 192.168.72.56 192.168.72.100;
option domain-name-servers 192.168.72.35;
option routers 192.168.72.35;
default-lease-time 86400;
max-lease-time 172800;
}
host abc {
hardware ethernet 00:90:fb:38:15:ae;
fixed-address 192.168.72.56;
}
host xyz {
hardware ethernet 11:22:88:55:66:22;
fixed-address 192.168.72.57;
}
现在,如果 MAC 地址为“11:22:88:55:66:22”的系统在网络中未处于活动状态,则 IP 地址“192.168.72.57”可以分配给任何其他机器。
但如果 MAC 地址为“11:22:88:55:66:22”的系统处于活动状态,则它运行正常。
请告诉我这是否是预期的行为。在之前的 dhcp 4.1 版本中,我从未观察到这种行为。
我认为保留的 IP 地址不应分配给任何其他系统。
答案1
我把fixed address
es 放在 里面subnet
,但在 外面range
。这样它们就不会被送给别人。
答案2
添加一个条目dhcpd.leases
解决了我的问题。
我在文件中添加了以下条目/etc/dhcp/dhcpd.leases
:
lease 192.168.72.56 {
binding state active;
reserved;
hardware ethernet 00:90:fb:38:15:ae;
}