在Linux上实现DHCP的最快方法

时间:2013-09-19 20:59:14

标签: linux networking network-protocols dhcp

动机:我在没有网络管理工具的情况下运行wpa_supplicant,因为我不希望在我的旧版本工作时强制使用新的DHCP租约。这样,如果DHCP租约尚未到期,我可以非常快地进入旧网络(一旦wpa_supplicant建立较低的网络层)。

问题:但是当DHCP租约到期,或者我的IP地址来自其他网络时,我确实需要调用DHCP。我目前使用dhclient,但dhcpcd是另一种选择。问题是,即使这些DHCP客户端在后台运行,它们也不会自动意识到我需要一个新的IP地址,因为我有一个旧的,无效的。

问题:有没有办法快速确定我是否需要DHCP?例如。作为对wpa_supplicant的反应或作为对联系标准网关和实现连接的响应不可用。我可以轻松运行sudo dhclient wlan0,它会在一秒钟内给我一个地址。但是,如果有必要,我该怎么做才能使这个过程自动化?

发出不必要的DHCP请求并不是不可能的,但泛滥的DHCP服务器就是。

精心设计的问题:对于那些直接使用wpa_supplicant的人,你如何使用DHCP?

1 个答案:

答案 0 :(得分:1)

每当您连接到新网络时再次运行dhcpcd。如果您有现有租约,则应尽快确认。

如果您反对每次都输入“dhclient”或“dhcpcd”,则可以使用shell脚本自动执行此操作。它可能看起来像

#!/bin/sh
dhcpcd wlan0 &
wpa_supplicant -d -c/etc/wpa_supplicant.conf -iwlan0

dhcpcd会说它是“等待运营商”,直到wpa_supplicant启动无线链接。