IPv6 正在运行,但 IPv4 尚未运行

IPv6 正在运行,但 IPv4 尚未运行

我有一台运行 Ubuntu 16.04 的新笔记本电脑,几个星期以来运行良好,但现在无法通过 Wi-fi 连接互联网。我知道这不是我的路由器或 ISP 的问题,因为我正在使用我的旧 Windows 笔记本电脑在同一个家庭网络上撰写这篇文章,而 Ubuntu 笔记本电脑无法连接到该网络。

我已成功连接到我的路由器,并且运行nmcli dev显示我已连接到我的 wifi 设备(wlp2s0)和无线网络。

昨晚我可以打开一些页面(Google、Facebook、YouTube),但不能打开其他页面(ubuntu.com、riken.jp)。当时我怀疑是 IPv6 可以工作但 IPv4 不能工作。但是现在,什么都不起作用。Chromium、ping、wget、dig —— 什么都没有。/etc/resolv.conf/什么都没有(除了注释行告诉我不要编辑它),并且返回的表route是空的。

更新 1:ipconfig /all在我的 Windows 机器上用来查明它正在使用哪些 DNS 服务器(75.75.75.75、75.75.76.76.、2001:558:feed::1、2001:558:feed::2),然后使用网络连接将它们添加为我的家庭网络的 DNS 服务器。cat /etc/resolv.conf现在给了我nameserver 127.0.1.1;我不完全确定这是什么意思,但我认为它是某种别名,对吗?nmcli dev show | grep DNS显示我使用两个 IPv6 DNS 服务器(2001:558:feed::1 和 2001:558:feed::2)。

我可以wget使用解析为 IPv6 地址的 URL,如下所示:

craig@craig-XPS-13-9370:~$ wget www.google.com
--2018-04-14 13:06:17--  http://www.google.com/
Resolving www.google.com (www.google.com)... 2607:f8b0:4004:808::2004, 
172.217.13.68
Connecting to www.google.com 
(www.google.com)|2607:f8b0:4004:808::2004|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html.5’

index.html.5            [ <=>                ]  10.41K  --.-KB/s    in 0.003s  

2018-04-14 13:06:17 (3.36 MB/s) - ‘index.html.5’ saved [10659]

我无法获取wget处理解析为 IPv4 地址的 URL 的请求:

craig@craig-XPS-13-9370:~$ wget www.ubuntu.com
--2018-04-14 13:06:28--  http://www.ubuntu.com/
Resolving www.ubuntu.com (www.ubuntu.com)... 91.189.89.118
Connecting to www.ubuntu.com (www.ubuntu.com)|91.189.89.118|:80... failed: 
Network is unreachable.

添加-4标志以wget强制使用 IPv4 会得到类似的结果:

craig@craig-XPS-13-9370:~$ wget -4 www.google.com
--2018-04-14 13:06:41--  http://www.google.com/
Resolving www.google.com (www.google.com)... 172.217.13.68
Connecting to www.google.com (www.google.com)|172.217.13.68|:80... failed: 
Network is unreachable.

同样,ping www.google.com不起作用,但ping6 www.google.com确实起作用。因此,很明显 IPv4 出了问题,但我不确定是什么...

更新2:我觉得我的问题看起来很类似这个问题,但那里建议的解决方案(通过网络连接禁用 IPv4)似乎没有影响任何东西。不过,它确实给了我一些想法,让我可以与其他人分享:

输出自cat /etc/network/interfaces

craig@craig-XPS-13-9370:~$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

输出自ifconfig

craig@craig-XPS-13-9370:~$ ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:13526 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13526 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:1031920 (1.0 MB)  TX bytes:1031920 (1.0 MB)

wlp2s0    Link encap:Ethernet  HWaddr 9c:b6:d0:8b:4b:c5  
          inet6 addr: fe80::1f3b:5545:508:919a/64 Scope:Link
          inet6 addr: 2601:140:8600:e0:d64b:9272:665f:3734/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19665 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10262 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:14731745 (14.7 MB)  TX bytes:1722860 (1.7 MB)

输出自iwconfig

craig@craig-XPS-13-9370:~$ iwconfig
lo        no wireless extensions.

wlp2s0    IEEE 802.11abgn  ESSID:"MOTOROLA-ABD39"  
          Mode:Managed  Frequency:2.447 GHz  Access Point: 34:1F:E4:E4:35:D0   
          Bit Rate=1 Mb/s   Tx-Power=20 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=55/70  Signal level=-55 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:39   Missed beacon:0

输出自cat /etc/resolv.conf

craig@craig-XPS-13-9370:~$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1

输出自route -n

craig@craig-XPS-13-9370:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

输出自route -6 -n

craig@craig-XPS-13-9370:~$ route -6 -n
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
2601:140:8600:e0::/64          ::                         U    600 0     0 wlp2s0
2601:140:8600:e0::/60          fe80::361f:e4ff:fee4:35cf  UG   600 0     0 wlp2s0
fe80::/64                      ::                         U    256 0     0 wlp2s0
::/0                           fe80::361f:e4ff:fee4:35cf  UG   600 2     4 wlp2s0
::/0                           ::                         !n   -1  1  1495 lo
::1/128                        ::                         Un   0   7    46 lo
2601:140:8600:e0:d64b:9272:665f:3734/128 ::                         Un   0   2   150 lo
fe80::1f3b:5545:508:919a/128   ::                         Un   0   2     4 lo
ff00::/8                       ::                         U    256 7    99 wlp2s0
::/0                           ::                         !n   -1  1  1495 lo

输出自ip neigh

craig@craig-XPS-13-9370:~$ ip neigh
fe80::361f:e4ff:fee4:35cf dev wlp2s0 lladdr 34:1f:e4:e4:35:cf router REACHABLE

答案1

不确定这是否是一个永久的解决方案,但我设法通过释放和更新我的 IP 地址使一切恢复正常:

sudo dhclient -r wlp2s0
sudo dhclient wlp2s0

现在inet addr我运行时会看到一行ifconfig(以前从来没有出现过),并且cat /etc/resolv.conf已为我的 ISP 添加 IPv4 名称服务器和“搜索”行(搜索 hsd1.va.comcast.net)。问题解决了!

答案2

有时这可能是由于系统时间不正确造成的。如果您的系统时间相差太大,DHCP 将不会为您租用 IPv4,而只会为您租用 IPv6。

timedatectl您可以通过在终端中运行来检查系统时间设置。

如果您需要重新配置系统时间和/或时区,请sudo dpkg-reconfigure tzdata在终端中运行。

无论如何,分配静态 IP/网关/DNS 也可以起作用,但某些网站会抱怨。

答案3

在我的例子中(在 Ubuntu 20.04 FWIW 上),NIC 没有配置为使用 DHCP。我不得不/etc/netplan/00-installer-config.yaml更新

network:
  ethernets:
    enp5s0:  # new interface
      dhcp4: true

然后运行netplan apply

我不记得是否还必须运行dhclient -r enp5s0以强制它再次获取 DHCP。

答案4

在花了一整天时间在笔记本电脑上进行故障排除后,将我的移动 APN 从 ipv6 更改为 ipv4/ipv6 终于成功了。

相关内容