DHCP 从 [关闭] 移出

DHCP 从 [关闭] 移出

将运行 Ubuntu 23.10 的几台 Raspberry Pi 连接到我的交换机后,它们出于某种原因互相干扰了 DHCP 租约。DHCP 在 fpsense 2.7.2 上运行...日志:

DHCPREQUEST for 192.168.2.2 from d8:3a:dd:75:3c:2c (pi-storage-4) via re0
DHCPACK on 192.168.2.2 to d8:3a:dd:75:3c:2c (pi-storage-4) via re0.   <--- happy
...
DHCPDISCOVER from d8:3a:dd:74:ed:e6 (pi-storage-4) via re0    <-- pi-storage-5 starts, DHCP thinks it pi-storage-4 for some reason.
DHCPOFFER on 192.168.2.2 to d8:3a:dd:74:ed:e6 (pi-storage-5) via re0   <-- DHCP gives away the lease...
DHCPREQUEST for 192.168.2.2 (192.168.0.1) from d8:3a:dd:74:ed:e6 (pi-storage-5) via re0
DHCPACK on 192.168.2.2 to d8:3a:dd:74:ed:e6 (pi-storage-5) via re0

arp: 192.168.2.2 moved from d8:3a:dd:75:3c:2c to d8:3a:dd:74:ed:e6 on re0  <-- arp table sees the change....

我看到的问题pi-storage-4已经存在192.168.2.2,当pi-storage-5上线时,它会要求相同的地址,而 pfsense DHCP 服务器只是授予它,然后进行 arp 更改。这是有问题的。我还不能确定这是 Ubuntu 要求其他人的租约,还是 DHCP 服务器出于某种原因认为pi-storage-5pi-storage-4这样的……有人见过这种情况吗?

答案1

好的,这肯定是安装 Ubuntu 时出现的问题Raspberry Pi Imager v1.8.3。Ubuntu 似乎使用机器编号当请求 DHCP 租约时,由于我制作的所有图像都具有相同的/etc/machine_idIP 地址,因此 DHCP 服务器会将 IP 地址分发给网络上具有此图像的任何数量的 Pi。我以前从未在 Ubuntu 和 Raspberry Pi 上看到过这种行为。因此,为了让这些 Pi 在首次启动后获得自己的租约...

$ sudo rm /etc/machine-id && sudo rm -rf /var/lib/dbus/machine-id
$ sudo systemd-machine-id-setup
$ sudo reboot

这将重新生成一个新的随机 machine_id,并且 DHCP 服务器将发放一份新的租约。

未解决的问题:

  1. Ubuntu 如何将此 machine_id 传递给 DHCP 服务器?我以为它使用了 mac,但在 DHCP 的 tcpdump 中没有看到它。
  2. 为什么会这样?Ubuntu 请求租约的方式发生了变化,还是Raspberry Pi Imager创建映像的方式发生了变化?

相关内容