设置静态IP(如果不是从DHCP获得的话)(脚本)

我在装有Linux的嵌入式设备上工作。我想先使用DHCP客户端,但是如果DHCP服务器没有任何答案,我想设置静态默认IP。我想它应该不复杂,但是我还没有找到严格的答案。

我正在考虑2个解决方案(不幸的是,我可以在几天内对其进行测试):

  1. 我使用ifconfig设置静态IP,然后调用udhcpc。如果udhcpc无法获得新IP,则旧IP将保留。

  2. 我也可以先呼叫udhcpc,稍等片刻,然后检查是否获得IP。但这对我不好。我不想在启动时添加任何等待例程。

巴特克(BR Bartek)

我使用udhcpc-类似:

udhcpc -n -f -i eth0 

if ifconfig | grep -A1 eth0 | grep inet

then

回答:

dhclient应该通过租约声明支持回退,请参见dhclient.conf手册页。

将类似的内容添加到您的 dhclient.conf

timeout 10;

lease {

interface "eth0";

fixed-address 10.0.0.10;

option subnet-mask 255.255.255.0;

renew 2 2022/1/1 00:00:01;

rebind 2 2022/1/1 00:00:01;

expire 2 2022/1/1 0:00:01;

}

或者您可以为接口分配第二个IP,例如 /etc/network/interfaces

auto lo

iface lo inet loopback

iface eth0 inet dhcp

auto eth0:1

iface eth0:1 inet static

address 10.10.10.2

netmask 255.255.255.0

以上是 设置静态IP(如果不是从DHCP获得的话)(脚本) 的全部内容, 来源链接: utcz.com/qa/424785.html

回到顶部