因此,我尝试在 Ubuntu 16.04 上使用 isc-dhcp-server 设置 DHCP 服务器。一切似乎都进展顺利,因为我在关闭路由器上的 DHCP 后获得了一个 IP 地址。不幸的是,当我进行配置时,它似乎并没有影响分配给我的 Windows 10 计算机的 IP4 地址。
例如,将 dhcp.conf 文件中所示的范围更改为如下所示的范围后,Windows 机器仍会获得 10.0.0.101,这超出了指定的范围。
ddns 更新样式无;
选项域名“somename”;
默认租用时间 600;
最大租赁时间7200;
权威性;
日志设施local7;
子网 10.0.0.0 网络掩码 255.255.255.0 {
选项域名服务器 8.8.8.8, 8.8.4.4;
范围 10.0.0.60 10.0.0.65;
选项路由器 10.0.0.1; }
我尝试删除 /var/lib/dhcp/dhcpd.leases 和 /var/lib/dhcp/dhcpd.leases~ 但没有什么区别。
我在 Mac 上运气好一点。它被分配了一个范围内的 IP 地址,但在停止服务后:
sudo 服务 isc-dhcp-server 停止
我注意到 Mac 仍然被分配了一个 IP 地址,尽管有所不同:
10.0.0.102。
Windows 机器也获得了 10.0.0.101 IP 地址。当 isc-dhcp-server 停止时,设备正在获取 IP 地址,这让我想到我可能有多个 DHCP 服务器正在运行,但我怎么知道呢?(顺便说一句 - 我在 dhcpd.leases 中找不到“dhcp-service-identifier”)。
不过,我不确定多个 DHCP 服务器是否是问题所在,因为如果我理解正确的话,dhcp.conf 文件应该适用于任何DHCP 服务器,所以我有点困惑,除非:
- 我的 dhcp.conf 文件中有错误
- DHCP 服务器在不同的机器上运行(不是路由器!)
答案1
如果你想知道是否有多个实例正在运行,只需在终端窗口中检查你的进程即可 -ps aux | grep dhcpd
要查明网络上是否有多个 dhcp 以及它们可能具有哪个 IP:在 Windows 上,打开 cmd 并输入ipconfig /all
。标明您的 IP 10.0.0.101 的块将告诉您它从哪个 DHCP 服务器获取其信息。
一般来说,如果您想在 Ubuntu 系统上知道租约来自哪里,请执行此操作,grep dhcp /var/log/syslog
或者如果您有一个控制台并且您的网络接口是 eth0,您可以sudo ifdown eth0; sudo ifup -v eth0
在终端中执行此操作以查看配置信息来自哪里。