在 Ubuntu 上,我使用 isc-dhcp-server 在每个子网中编写了一些主机声明,并且每个网络接口的每个固定地址都已成功租用。该 DHCP 服务器上插入了两个网卡。
但如何纠正这个警告呢?
dhcpd[11328]:警告:主机声明是全局的。它们不限于您声明的范围。
这篇文章关于相同的警告消息答案主机声明超出子网定义。我认为在我涉及两张牌的情况下情况并非如此。
答案1
主机定义始终是全局的。
所以我的路由器上有 3 个网络; “LAN”10.0.0.0/24、“访客”10.100.100.0/24 和“IoT”10.100.200.0/24
我dhcpd.conf
的配置如下
subnet 10.0.0.0 netmask 255.255.255.0 {
authoritative;
option routers 10.0.0.1;
blah;
}
subnet 10.100.100.0 netmask 255.255.255.0 {
authoritative;
option routers 10.100.100.1;
blah;
}
subnet 10.100.200.0 netmask 255.255.255.0 {
authoritative;
option routers 10.100.200.1;
blah;
}
host machine1 {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 10.0.0.13;
option host-name "machine1";
}
host machine2 {
hardware ethernet yy:yy:yy:yy:yy:yy;
fixed-address 10.100.200.15;
option host-name "machine2";
}
DHCPd 正确计算出machine1
LAN 上和machine2
IoT 子网上的位置,并发送与该子网相关的正确配置(网络掩码、默认路由、DNS 服务器等)。
如果您有一台可以连接到多个接口的计算机,并且希望它们获得不同的地址,那么您可以多次列出主机。以我的手机为例:
host s8 {
hardware ethernet aa:aa:aa:aa:aa:aa;
fixed-address 10.0.0.34;
option host-name "s8";
}
host s8-guest {
hardware ethernet aa:aa:aa:aa:aa:aa;
fixed-address 10.100.100.9;
option host-name "s8-guest";
}
现在它将获得不同的地址,具体取决于它所在的网络。
如果该网络没有静态条目,那么它将获得动态地址。如果子网上没有空闲地址,则不会为其分配任何地址。