![需要帮助在启动过程中排除 dhcpd 故障](https://linux22.com/image/1141706/%E9%9C%80%E8%A6%81%E5%B8%AE%E5%8A%A9%E5%9C%A8%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B%E4%B8%AD%E6%8E%92%E9%99%A4%20dhcpd%20%E6%95%85%E9%9A%9C.png)
我正在尝试让 isc-dhcp-server 在无头 Ubuntu 14.04 机器上运行,但遇到了一些问题,如另一个线程中所述这里。我还没有收到任何回复,所以我一直在尝试不同的方法,但我还有更多问题。
正如另一个帖子中指出的那样,我可以让 isc-dhcp-server 短暂地工作。我将 Ubuntu 服务器连接到配置为 DHCP 服务器的路由器。启动后,我关闭路由器的 DHCP 服务并重新启动 Ubuntu 计算机上的 isc-dhcp-server 服务,它开始提供我配置范围内的 IP 地址,所以一切正常。但是,当我重新启动 Ubuntu 计算机时,DHCP 服务没有重新启动。我认为在启动过程中 eth0 可能没有及时准备好启动 dhcpd 服务,所以我想尝试在没有 isc-dhcp-server 服务的情况下启动,这引出了我的第一个问题:
如何防止 isc-dhcp-server 服务在启动时启动?
我正在运行 Ubuntu 14.04,但是它没有使用 upstart。
dpkg -S /sbin/init
表示:
systemd-sysv: /sbin/init
我从 init.d 中删除了 isc-dhcp-server,但 pgrep dhcpd 显示它在我启动时正在运行。这是怎么回事?是不是其他服务以某种方式启动了它?我怎么知道?syslog 没有帮助我。我确实注意到 /etc/init.d/.depend.start 和 /etc/init.d/.depend.stop 中的一些引用,但我不知道它们是什么意思,例如 dnsmasq 也列在这些文件中,但我已经清除了 dnsmasq。(顺便说一句,我还从 /etc/init 中删除了 isc-dhcp-server.conf 和 isc-dhcp-server6.conf)
在解决问题时,我决定尝试将我的 Ubuntu 机器的 IP 地址从 10.0.0.2 更改为路由器 DHCP 范围之外的地址,因此我修改了 /etc/network/interfaces:
# The primary network interface
auto eth0
iface eth0 inet static
address 10.0.0.200
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
gateway 10.0.0.1
我的 Ubuntu 机器上的 ifconfig 指示已分配 10.0.0.200 IP 地址,但路由器仍显示 10.0.0.2!我也可以使用 10.0.0.2 通过 ssh 进入我的 Ubuntu 服务器。
路由器如何显示与 ifconfig 报告不同的 Ubuntu 机器的 IP 地址?
非常欢迎故障排除提示!