我们如何通过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。