嵌入式 Linux:获得两个不同的 DHCP 响应

嵌入式 Linux:获得两个不同的 DHCP 响应

我正在使用这些引导参数:

setenv bootargs 'console=ttyPS0,115200n8 root=/dev/nfs rootfstype=nfs nfsroot=192.168.0.101:/usr/nfs/xilinx-zynq,port=2049,nolock,proto=tcp rw loglevel=8 tcp ip=dhcp'

最需要注意的可能是ip=dhcp。查看启动日志,我得到两个不同的 IP 地址。

  • 怎么会这样?
  • 可以取消第二个请求吗?

第一个IP:

[    7.792623] IP-Config: Complete:
[    7.795836]      device=eth0, hwaddr=00:0a:35:00:22:01, ipaddr=192.168.0.102, mask=255.255.255.0, gw=192.168.0.254
[    7.806161]      host=192.168.0.102, domain=, nis-domain=(none)
[    7.812063]      bootserver=0.0.0.0, rootserver=192.168.0.101, rootpath=     nameserver0=192.168.0.254

第二个IP:

INIT: Entering runlevel: 5
Configuring network interfaces... udhcpc (v1.24.1) started
Sending discover...
Sending select for 192.168.0.93...
Lease of 192.168.0.93 obtained, lease time 73202
/etc/udhcpc.d/50default: Adding DNS 192.168.0.254
done.

答案1

我仍然不明白为什么在这两种情况下都会得到两个不同的 IP 地址,但我找到了如何消除第二个 DHCP 调用:

/etc/网络/接口,我输入以下内容:

# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
auto lo
iface lo inet loopback


# Wired or wireless interfaces
auto eth0
iface eth0 inet manual

这里的关键点是“手动”设置,它告诉系统不要尝试激活该接口,因为它已经激活了。

顺便说一句,我在某处读到,不建议依赖初始 DHCP,因为租约永远不会以这种方式续订,但我不确定这会产生什么影响。

相关内容