Raspberry pi dhcpcd在DHCP请求中使用错误的MAC地址

Raspberry pi dhcpcd在DHCP请求中使用错误的MAC地址,raspberry-pi,Raspberry Pi,我有两个使用dhcpcd守护进程的rbpi。第二个是使用第一个的克隆映像 在检测到DHCP存在问题(它们无缘无故地长时间断开连接)后,我决定使用tcpdump来了解发生了什么。事实证明,两者都在DHCP请求中发送rbpi1的MAC地址,考虑到rbpi2使用的是克隆映像,这在某种程度上是有意义的 因此,我删除了/var/lib/dhcpcd5上的文件,以强制守护进程创建一个新的duid,重新加载systemd守护进程并强制系统重新启动。然而,问题仍然存在 我不知道为什么,但rbpi2在某种程度上赢

我有两个使用dhcpcd守护进程的rbpi。第二个是使用第一个的克隆映像

在检测到DHCP存在问题(它们无缘无故地长时间断开连接)后,我决定使用tcpdump来了解发生了什么。事实证明,两者都在DHCP请求中发送rbpi1的MAC地址,考虑到rbpi2使用的是克隆映像,这在某种程度上是有意义的

因此,我删除了/var/lib/dhcpcd5上的文件,以强制守护进程创建一个新的duid,重新加载systemd守护进程并强制系统重新启动。然而,问题仍然存在

我不知道为什么,但rbpi2在某种程度上赢得了“Mac之战”,并且很少失去连接(这一定与网络拓扑或DHCP路由器的缓存有关)。这就是为什么我再次检查了文件/var/lib/dhcpcd5/duid,现在这个id是基于这个rbpi的MAC的,应该是这样的。事实上,不管DHCP请求如何,发送的每个数据包都使用rbpi2的MAC地址,这是它应该做的


为什么dhcpcd仍然使用这个旧的MAC地址?它来自哪里?我找不到存储此地址的任何其他缓存/配置文件。事实上,我已经用十六进制编辑器打开了/var/lib/dhcpcd5/eth0.lease,其中存储的MAC是正确的(它是rbpi2的MAC)。

堆栈溢出是针对与软件开发相关的问题。对于你的PI问题,考虑(或者对于更广泛的受众来说,因为这个问题不是特别的PI特定)。