我已经安装了 Ubuntu Server 20.04 LTS 的 Raspberry Pi,但是遇到了一些连接问题,尤其是 IPV4 方面的问题。不过 IPV6 似乎运行正常。
以下是 ping google.com 的示例
ubuntu@partagedebonsplants:~$ nslookup google.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: google.com
Address: 216.58.206.238
Name: google.com
Address: 2a00:1450:4007:818::200e
ubuntu@partagedebonsplants:~$ ping google.com
PING google.com(par21s20-in-x0e.1e100.net (2a00:1450:4007:818::200e)) 56 data bytes
64 bytes from par21s20-in-x0e.1e100.net (2a00:1450:4007:818::200e): icmp_seq=1 ttl=117 time=11.7 ms
ping 64 bytes from par21s20-in-x0e.1e100.net (2a00:1450:4007:818::200e): icmp_seq=2 ttl=117 time=11.7 ms
64 bytes from par21s20-in-x0e.1e100.net (2a00:1450:4007:818::200e): icmp_seq=3 ttl=117 time=10.7 ms
64 bytes from par21s20-in-x0e.1e100.net (2a00:1450:4007:818::200e): icmp_seq=4 ttl=117 time=10.8 ms
64 bytes from par21s20-in-x0e.1e100.net (2a00:1450:4007:818::200e): icmp_seq=5 ttl=117 time=11.8 ms
^C
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4007ms
rtt min/avg/max/mdev = 10.736/11.340/11.796/0.478 ms
ubuntu@partagedebonsplants:~$ ping google.com -4
PING google.com (216.58.206.238) 56(84) bytes of data.
From partagedebonsplants.home (192.168.1.26) icmp_seq=1 Destination Host Unreachable
From partagedebonsplants.home (192.168.1.26) icmp_seq=2 Destination Host Unreachable
From partagedebonsplants.home (192.168.1.26) icmp_seq=3 Destination Host Unreachable
^C
--- google.com ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3055ms
pipe 3
Pi 通过我们的路由器参数被分配了一个静态 IPV4 地址,并且同一网络上还有其他几台运行 Windows/移动设备的计算机可以毫无问题地访问 IPV4/IPV6 地址。
防火墙规则和文件中都没有什么特别之处etc/hosts
。以下是ifconfig
ubuntu@partagedebonsplants:~$ sudo ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.26 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 2a01:cb14:b7:1200:e65f:1ff:fe16:64b1 prefixlen 64 scopeid 0x0<global>
inet6 fe80::e65f:1ff:fe16:64b1 prefixlen 64 scopeid 0x20<link>
ether e4:5f:01:16:64:b1 txqueuelen 1000 (Ethernet)
RX packets 2531 bytes 226639 (226.6 KB)
RX errors 0 dropped 236 overruns 0 frame 0
TX packets 1004 bytes 100909 (100.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 347 bytes 30041 (30.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 347 bytes 30041 (30.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether e4:5f:01:16:64:b2 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
请注意,ping 本地地址可以正常工作(即ping 192.168.1.1
)
非常感谢你的帮助
编辑-附加信息
以下是输出traceroute 215.58.206.238
ubuntu@partagedebonsplants:~$ traceroute 215.58.206.238
traceroute to 215.58.206.238 (215.58.206.238), 30 hops max, 60 byte packets
1 partagedebonsplants.home (192.168.1.26) 3073.222 ms !H 3073.116 ms !H 3073.066 ms !H
答案1
(问)您是否认为由于使用 IPv6 地址进行 ping 会导致 IPv4 无法正常工作?
我认为ping命令的格式应该是:
ping -4 google.com
# or
ping 216.58.206.238
当使用 DNS 解析 google.com 且 IPv4 和 IPv6 地址都可用时,操作系统将根据启用的堆栈和用户/应用程序偏好决定使用 IPv6,除非“选择”了 IPv4。
由于您有一个 IPv4 地址并且可以 ping 某些东西/任何东西,ping 192.168.1.1
这意味着您的 IPv4 堆栈正在运行。在我看来。
ifconfig 的输出(感谢包含它)显示您的本地 IPv4 地址是192.168.1.26
。因此,如果您 ping 了192.168.1.1
您的路由器,则您的堆栈正在运行(最有可能)。
尝试按照上面的建议修复 ping 命令,或者只是尝试ping 216.58.206.238
消除 DNS 查找。
也可以尝试
traceroute 215.58.206.238
注意:我需要先安装 traceroutesudo apt install inetutils-traceroute
才能运行它。
Traceroute 会显示到达目的地所使用的网络路由器。如果显示多个路由器,则表示您的 IPv4 正常运行,并且路由存在问题。(我可能过于简单化了)。
通过添加这些命令的输出来更新您的问题,并让每个人都知道发生了什么,然后我们可以采取下一步措施。
我将根据您的问题继续更新此答案。
我发现您是 StackOverflow 的新人,所以欢迎加入。
答案2
重新安装 Ubuntu 20.04 LTS 解决了这个问题。很可能是我的配置错误。感谢您的反馈