我搜索了我的问题,虽然有类似的问题,但没有一个能给我指明正确的方向。如果它看起来像是一个重复的问题,我很抱歉。
我的 ISP 调制解调器后面有一个 LAN,由 TP-Link TL-WR941ND 路由;DHCP 服务器已启动,但我保留了一些地址。我在这里列出这些:
- Raspberry Pi(以太网)-> 192.168.0.100
- Macbook Pro(WiFi)-> 192.168.0.101
- 小米手机(wifi)->192.168.0.102
- 第二台笔记本电脑(wifi)-> 192.168.0.111
- 摩托罗拉手机(wifi)-> 192.168.0.112(如您所见,我跳转到 .111 以防我想添加更多自己的设备,.111 和 .112 是来自家庭其他成员的设备)。
现在的问题是,我在 DHCP 客户端列表中看到 Raspberry 被正确列为“永久”,而小米手机的租约倒计时地址为 192.168.0.103(应该是 .102)。我可以为手机保留 .103 然后就完事了,但我不想在 DHCP 列表中出现这种混乱,也不想避免将来在网络中发生冲突。我在这里提供了我能收集到的所有信息:
我从 Macbook 启动了 arp-scan:
$sudo arp-scan -I en0 -l
Interface: en0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9 with 256 hosts
192.168.0.1 [TP-Link MAC] TP-LINK TECHNOLOGIES CO.,LTD.
192.168.0.100 [Pi MAC] Raspberry Pi Foundation ####<<<<----?????
192.168.0.102 [Pi MAC] Raspberry Pi Foundation ####<<<<----?????
192.168.0.104 [guest phone MAC] (Unknown)
192.168.0.103 [Xiaomi phone MAC] Airgo Networks, Inc.
621 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9: 256 hosts scanned in 1.862 seconds (137.49 hosts/sec). 5 responded
在 Pi 上,我运行 ip 地址:
$ip a show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b8:27:eb:0a:ec:42 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.100/24 brd 192.168.0.255 scope global eth0 ####<<<<----????
valid_lft forever preferred_lft forever
inet 192.168.0.102/24 brd 192.168.0.255 scope global secondary eth0 ####<<<<----????
valid_lft forever preferred_lft forever
inet6 fe80::ba27:ebff:fe0a:ec42/64 scope link
valid_lft forever preferred_lft forever
在 Pi 上的 /etc/network/interfaces 中:
$cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp ####<<<----- seems ok, right?
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
路由器上的 ARP 列表没有任何 MAC 绑定/链接。
说实话,我不知道发生了什么。我猜 Raspberry 正在做一些奇怪的事情,但说实话,我既不是 Linux 专家也不是系统管理员,我有点迷茫。
知道发生什么事了吗?
提前致谢。
答案1
尝试从 rPi 释放 DHCP 租约:
# dhclient -r eth0
然后请求另一个地址:
# dhclient eth0
答案2
Mark 为我指出了正确的方向,但问题并不在这里。解决方案如下:
RPi 中 /etc/ 中的 dhcpcd.conf 文件显示以下内容(除其他内容外):
# A hook script is provided to lookup the hostname if not set by the DHCP
# server, but it should not be run by default.
nohook lookup-hostname
::: interface eth0
static ip_address=192.168.0.102/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
当 DHCP 服务器未运行或出现故障时,此代码段会推送对地址 192.168.0.102 的请求作为首选 IP;在路由器重新启动之间,脚本启动并请求 192.168.0.102;只有当路由器完成启动时,DHCP 服务器才会唤醒并租用 192.168.0.100,但无法协商 192.168.0.102,因为 RPi 已将其作为首选 IP。RPi 最终有两个 IP,一个由路由器中的 DHCP 服务器租用,另一个由 Pi 本身上的 DHCP 客户端声明。
评论该片段并重新启动即可解决所有问题。