Raspberry Pi 配置为静态 IP 也获得 DHCP IP

Raspberry Pi configured for static IP also gets a DHCP IP

我已将 Raspberry Pi 配置为静态 IP。我的 /etc/network/interfaces 看起来像这样:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

然而,出于某种奇怪的原因,每次我重新启动我的 Pi 或我的路由器时,我的 Pi 都会获得请求的 IP (192.168.1.2),但也会获得一个 DHCP 地址 (192.168.1.18)。所以我的 Pi 有两个地址。

当然,这不一定是问题,我只是觉得奇怪。难道我做错了什么?还是不够?我的路由器几乎完全锁定以进行管理,但我可以为设备输入静态 IP - 如果我将 Pi 配置为执行此操作,是否有必要?

动态地址在 ifconfig 中不明显:

eth0      Link encap:Ethernet  HWaddr b8:27:eb:5d:87:71
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:236957 errors:0 dropped:34 overruns:0 frame:0
          TX packets:260738 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:35215632 (33.5 MiB)  TX bytes:70023369 (66.7 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:27258 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27258 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3397312 (3.2 MiB)  TX bytes:3397312 (3.2 MiB)

但我也可以在 .18 上进行 ping、ssh 和所有操作。

接口eth0上的IP地址可以通过ip addr查看。可能是 eth0 配置了两个 IP 地址 192.168.1.2 和 192.168.1.18。

您也可以通过

向接口eth0添加多个IP地址
sudo ip addr add <IP address> dev eth0

如果您不想要 IP 地址 192.168.1.18,您可以通过

将其删除
sudo ip addr del 192.168.1.18 dev eth0

由于您可以如上所述向接口 eth0 添加多个 IP 地址,我相信解决您的问题的方法是从 /etc/network/interfaces 文件中删除 auto eth0 行。