![Ubuntu 中缺少 wifi 调制解调器的路由](https://linux22.com/image/1063025/Ubuntu%20%E4%B8%AD%E7%BC%BA%E5%B0%91%20wifi%20%E8%B0%83%E5%88%B6%E8%A7%A3%E8%B0%83%E5%99%A8%E7%9A%84%E8%B7%AF%E7%94%B1.png)
断开 Xenial 16.04 机器上的 openvpn 客户端后,我无法连接到互联网,并且似乎我的内核 IP 路由表上缺少一条路由。
在机器上不是工作我有:
> route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.10.1 0.0.0.0 UG 600 0 0 wlp4s0
192.168.10.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp4s0
我有一台运行 16.04 的类似机器,是工作并且相同的命令返回:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.10.1 0.0.0.0 UG 600 0 0 wlp3s0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp3s0
192.168.10.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
我假设这些是通过 wifi 和 dhcp 配置自动设置的
有人能告诉我如何设置“不工作”的机器以便它能获取所有路线吗?
以下命令给出以下响应(根据评论中的要求)
> 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
search Belkin
和
> ping 127.0.1.1
PING 127.0.1.1 (127.0.1.1) 56(84) bytes of data.
64 bytes from 127.0.1.1: icmp_seq=1 ttl=64 time=0.035 ms
64 bytes from 127.0.1.1: icmp_seq=2 ttl=64 time=0.040 ms
64 bytes from 127.0.1.1: icmp_seq=3 ttl=64 time=0.044 ms
64 bytes from 127.0.1.1: icmp_seq=4 ttl=64 time=0.038 ms
64 bytes from 127.0.1.1: icmp_seq=5 ttl=64 time=0.038 ms
64 bytes from 127.0.1.1: icmp_seq=6 ttl=64 time=0.044 ms
64 bytes from 127.0.1.1: icmp_seq=7 ttl=64 time=0.044 ms
^C
--- 127.0.1.1 ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 5997ms
rtt min/avg/max/mdev = 0.035/0.040/0.044/0.006 ms
答案1
嗯,我已经从我的机器上删除了该路由,但仍然可以访问互联网。因此,我不太确定这是否是阻止您“连接到互联网”的原因。
也许您只是无法解析名称?
您可以使用 进行检查dig
。以下是我的dig
解析方法:www.google.com
$ dig www.google.com A +short
108.177.126.105
108.177.126.106
108.177.126.99
108.177.126.103
108.177.126.104
108.177.126.147
编辑:
如果上述问题仍未解决,请检查您是否配置了一个或多个名称服务器,以及您是否可以(IP)访问其中至少一个:
$ cat /etc/resolv.conf
...
nameserver 10.20.30.41
nameserver 10.20.30.42
在此示例中,位于 10.20.30.41 和 10.20.30.42 的计算机配置为解析名称(即:挖将默认访问端口 53 上的那些机器以解析www.cisco.com
IP 地址)。
因此,这两台机器应该可以访问,并且具有在端口 53 上侦听的 DNS 服务。
现在尝试 ping 这两台机器,看看它们是否可访问:
$ ping 10.20.30.41
...
64 bytes from 10.20.30.41: icmp_seq=1 ttl=255 time=0.194 ms
64 bytes from 10.20.30.41: icmp_seq=2 ttl=255 time=0.209 ms
64 bytes from 10.20.30.41: icmp_seq=3 ttl=255 time=0.235 ms
^C
上面的输出显示位于 10.20.30.41 的机器是可访问的。如果不可访问,您将看不到任何输出(直到您^C
)。
編輯2:
在 Ubuntu 16.04 中,该文件/etc/resolv.conf
包含一个nameserver 127.0.1.1
条目,这意味着本地计算机上必须有一个 DNS 服务器。Ubuntu
16.04 确实运行域名管理系统它充当一个小型本地 DNS 服务器。Dnsmasq 由网络管理器默认情况下。