![Raspberry Pi 4 上的 Ubuntu 互联网/日期问题](https://linux22.com/image/1018932/Raspberry%20Pi%204%20%E4%B8%8A%E7%9A%84%20Ubuntu%20%E4%BA%92%E8%81%94%E7%BD%91%2F%E6%97%A5%E6%9C%9F%E9%97%AE%E9%A2%98.png)
我在 Raspberry Pi 4 4GB 型号上安装了 Ubuntu Server 20.04。它打算用作我父母的媒体/文件服务器。
我在家里设置了一切,它运行良好。但是,当我把它连接到我父母家时,它根本无法接入网络。我家和我父母家之间唯一真正的区别就是网络。
我尝试了多条以太网电缆。如果我 ping 任何内容,我都会得到ping: <hostname>: Temporary failure in name resolution
。在路由器的管理面板上,我可以看到 Pi 的 MAC 地址,但主机名是空白的。
ip route
返回为空。我尝试过直接插入路由器,也尝试过通过交换机插入路由器。
另一件奇怪且可能相关的事是 Pi 上的日期总是错误的。当我把它插在我家时,它可以通过网络获取正确的时间。当我把它插在我父母家时,日期停留在我上次上网的时间。我set-ntp off
手动设置日期,然后set-ntp
再次打开。1
timedatectl
在那之后读到这个
<roughly correct time, since I manually set it>
Time zone: <Correct time zone>
System clock synchronized: no
NTP service: active
RTC in local TZ: no
我现在真的不知所措。唯一的区别是我的路由器和我父母的路由器,他们的路由器似乎没有任何问题。
请问,有人知道我还可以尝试什么来解决这个问题吗?
编辑:回答一些评论......
未启用 MAC 过滤,并且路由器上启用了 DHCP。
该路由器来自 ISP Slic Network,是 844G-1。
sudo dhclient -v
结果DHCPDISCOVER on wlan0|eth0 to 255.255.255.255 port 67 at interval
持续几分钟,最终导致No DHCPOFFERS received.
。
我在日志文件中没有看到任何明显的错误。
更新:由于这不是我家,所以我无法定期尝试不同的东西。不过,我最近确实去过那里,可以提供一些新信息:
- 除了 Pi 之外的其他计算机在插入路由器时无法连接到互联网或获取 IP。我们从一开始就认为这是可行的,所以我没有测试这一点,但我们尝试将不同的设备插入路由器上的多个端口,但没有成功。
- 当将第二个路由器插入第一个路由器时,它能够获取 IP,并且可以通过网络上的此 IP 访问其管理面板。但是,将 Pi 或 PC 插入第二个路由器会产生与第一个路由器相同的结果,它们无法获取 IP。
答案1
我刚刚在 netplan 中将以太网更改为非可选,这样我的以太网就可以正常工作了。这是使以太网在我的 RSP4 上正常工作的简单更改的上下文差异...
ubuntu@ubuntu: diff -c /etc/netplan/50-cloud-init.yaml ./50-cloud-init.yaml
*** /etc/netplan/50-cloud-init.yaml 2020-11-09 21:43:47.392519398 +0000
--- ./50-cloud-init.yaml 2020-04-01 17:23:49.227999995 +0000
***************
*** 7,11 ****
ethernets:
eth0:
dhcp4: true
! optional: false
version: 2
--- 7,11 ----
ethernets:
eth0:
dhcp4: true
! optional: true
version: 2
ubuntu@ubuntu:
在我这样做之前,网络无法启动。
克里斯·谢克
答案2
时间不太可能相关,因为 rpi 没有 RTC,它需要在每次启动时从网络获取时间。
如果 DHCP 失败,则可能不是防火墙问题,因为 isc-dhcp-client 使用原始套接字,绕过防火墙规则,除非当然列出了一些规则iptables -vnL -t raw
。是否有多个 dhclient 实例正在运行?在手动运行之前dhclient -v
,请先尝试运行killall dhclient
。这可能会为您提供更多调试输出。
如果路由器看到 Pi 的 MAC 地址,它是否也会列出 IP 地址?
综上所述,我敢打赌这只是一个拼写错误,可能是你的 DNS 配置或 netplan/networkd 中的某个地方。要检查,请 ping 路由器的 IP 地址,而不是主机名。