我们如何通过DHCP可靠地获取IP地址?
时间:2020-03-05 18:53:39 来源:igfitidea点击:
我使用嵌入式Linux系统,有时需要从DHCP服务器获取其IP地址。我们使用的DHCP客户端客户端(dhcpcd)具有有限的重试逻辑。如果我们的设备在没有任何DHCP服务器可用的情况下启动并超时,则dhcpcd将退出,并且只有在可见/已连接DHCP服务器的情况下重新引导设备,该设备才会获得IP地址。我不能是唯一一个有这个问题的人。这个问题似乎并不是特定于嵌入式系统的(尽管在那里更糟)。你如何处理呢?是否有更强大的客户端可用?
解决方案
回答
来自ISC的参考dhclient应该在默认配置下永久运行,并且如果在启动时未获得租约,则应稍后获取租约。
我正在FreeBSD上使用开箱即用的dhcp客户端,它是从OpenBSD派生的,并且基于ISC的dhclient,这是开箱即用的行为。
参见http://www.isc.org/index.pl?/sw/dhcp/
回答
我们有几种选择:
- 当我们没有IP地址时,请重新启动dhcpcd以获取更多重试。
- 有一个备用静态IP地址。这在我制造的嵌入式设备中非常成功。
- 使用自动IP作为备份。 Windows执行此操作。
回答
在rc.local中添加检查以查看是否已获取IP。如果没有,则在不久的将来设置一个" at"作业来再次尝试。继续安排" at"作业,直到获得IP。