我有一台运行 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
不确定这是否是一个永久的解决方案,但我设法通过释放和更新我的 IP 地址让事情再次正常运行:
现在我
inet addr
在运行时看到一条线ifconfig
(以前从未出现过),并cat /etc/resolv.conf
为我的 ISP 添加了 IPv4 名称服务器和“搜索”线(搜索 hsd1.va.comcast.net)。问题解决了!有时这可能是由不正确的系统时间引起的。如果您的系统时间太远,DHCP 将不会为您租用 IPv4,而只会租用 IPv6。
timedatectl
您可以通过在终端中运行来检查系统时间设置。如果您需要重新配置系统时间和/或时区,请
sudo dpkg-reconfigure tzdata
在终端中运行。无论如何,分配静态 IP/网关/DNS 也可以工作,但某些网站会抱怨。
运行防火墙后我的有线连接中断:sudo ufw enable
之后,禁用防火墙仍然没有解决问题。
通过 GUI 查看网络配置(有线连接 --> 有线设置),我可以看到 IPv4 没有自动启用。
单击配置图标(齿轮),选择“自动连接”然后单击 IPv4 选项卡,然后选择自动(DHCP)
稍等片刻,它奏效了。
在笔记本电脑端进行了一整天的故障排除后,将我的移动 APN 从 ipv6 更改为 ipv4/ipv6 终于成功了。
就我而言(在 Ubuntu 20.04 FWIW 上),NIC 未配置为使用 DHCP。我不得不
/etc/netplan/00-installer-config.yaml
更新然后运行
netplan apply
我不记得我是否还必须运行
dhclient -r enp5s0
以强制它再次获得 DHCP。