Arch Linux:尽管没有静态 IP 配置,我还是获得了 DHCP 地址

Arch Linux:尽管没有静态 IP 配置,我还是获得了 DHCP 地址

这对我来说很奇怪。在运行最新 Arch Linux 的 Raspberry Pi 上,我禁用了 ETH0 上的所有 DHCP 服务以及其他所有 DHCP:

rm /etc/dhcpcd.duid
pacman -R dhclient
pacman -R dhcpcd

我通过以下方式定义了静态 ETH /etc/netctl/ethernet-static

Description='A basic static ethernet connection'
Interface=eth0
Connection=ethernet
IP=static
Address=('10.0.1.30/24')
Gateway=('10.0.1.1')
DNS=('10.0.1.1')

尽管如此,在 DHCP 租用时间过后,我仍会释放静态 IP,并再次获得(不同的)DHCP 地址。我在这里缺少什么?

PS:bcm2708 设备驱动程序中似乎存在一个错误,会触发 USB 断开连接(ETH 绑定到该连接)。但无论如何 - 如果 DHCP 被禁用,为什么我会获得 DHCP 地址?

答案1

问题是 dhcpd 和 dhclient 并不是树莓派在 archlinuxarm 上获取 DHCP 地址的方式...他们使用 systemd-networkd 因为它更简单、更轻量。只需按如下方式编辑文件/etc/systemd/network/eth0.network

[Match]
Name=eth0

[Network]
DHCP=no

甚至作为

[Match]
Name=eth0

[Network]
DNS=10.0.1.1

[Address]
Address=10.0.1.30/24

[Route]
Gateway=10.0.1.1

你会得到你需要的一切。

先说一下:DHCP 默认情况下已激活,因为您无需备用屏幕和键盘即可轻松通过 SSH 访问它。


就一件事。我希望您在此之前限制了 DHCP 服务器提供的可能地址范围。 DHCP 网络中的静态地址并不总是一个好主意。

相关内容