你如何通过DHCP可靠地获得IP地址?

时间:2008-09-15 15:01:44

标签: linux dhcp

我使用的嵌入式Linux系统有时希望从DHCP服务器获取其IP地址。我们使用的DHCP客户端客户端(dhcpcd)具有有限的重试逻辑。如果我们的设备启动时没有任何可用的DHCP服务器并且超时,则dhcpcd将退出,并且设备将永远不会获得IP地址,直到它在DHCP服务器可见/已连接的情况下重新启动。我不可能是唯一有这个问题的人。这个问题似乎甚至不是嵌入式系统特有的(虽然它在那里更糟)。你怎么处理这个?是否有更强大的客户端可用?

3 个答案:

答案 0 :(得分:3)

来自ISC的引用dhclient应该在默认配置中永远运行,并且如果它在启动时没有获得,它应该稍后获得租约。

我在FreeBSD上使用开箱即用的dhcp客户端,它是从OpenBSD派生的,基于ISC的dhclient,这是开箱即用的行为。

请参阅http://www.isc.org/index.pl?/sw/dhcp/

答案 1 :(得分:2)

您有几种选择:

  1. 如果您没有IP地址,请重新启动dhcpcd以获得更多重试次数。
  2. 拥有备份静态IP地址。这在embedded devices I've made中非常成功。
  3. 使用auto-IP作为备份。 Windows就是这么做的。

答案 2 :(得分:1)

添加到rc.local检查以查看是否已获取IP。如果在不久的将来没有设置'at'工作再次尝试。继续安排“at”作业,直到获得IP。