Raspberry Pi 4 上的 Ubuntu 互联网/日期问题

Raspberry Pi 4 上的 Ubuntu 互联网/日期问题

我在 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 地址,而不是主机名。

相关内容