Ubuntu Server 12.04 可以访问局域网但不能访问互联网

Pau*_*one 5 networking ubuntu linux-networking

通过命令行使用 Ubuntu Server (12.04),我可以访问 LAN(例如 ping 本地机器)但不能访问互联网(例如“ping google.com”或“sudo apt-get update”)。我应该如何解决这个问题?

我会说,我开始能够访问互联网(使用sudo apt-get的),但经过一番“配置工作:”我现在只能访问局域网。它以前在我有 DHCP 连接时工作。在切换到静态 IP 一段时间后,我注意到了这个问题。我已经切换回 DHCP,但没有运气。

/etc/network/interfaces目前看起来像这样:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto wlan0
iface wlan0 inet dhcp
wpa-ssid myrouterssid
wpa-psk myrouterpassword
Run Code Online (Sandbox Code Playgroud)

ifconfig -a报告:

eth0      Link encap:Ethernet  HWaddr 00:1e:7a:d9:1b:07
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::21e:68ff:fed9:1b07/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:217 errors:0 dropped:0 overruns:0 frame:0
          TX packets:414 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:23826 (23.8 KB)  TX bytes:47487 (47.4 KB)
          Interrupt:16

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:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:720 (720.0 B)  TX bytes:720 (720.0 B)

virbr0    Link encap:Ethernet  HWaddr 86:19:a7:9b:a6:4a
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr 00:94:ea:de:1f:78
          inet addr:192.168.0.3  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::216:eaff:fede:1f78/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:328 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:58008 (58.0 KB)  TX bytes:1852 (1.8 KB)
Run Code Online (Sandbox Code Playgroud)

“ping 192.168.0.1”(网关)工作。“ping 192.168.0.100”(自己)有效。“ping 192.168.0.7”(另一台PC)有效。“ping google.com”报告“ping:未知主机 google.com”。“ping 173.194.34.72”(google.com)失败。

我也可以从另一台 PC SSH 到这个 ubuntu 服务器(虽然它现在等待大约 20 秒才要求输入密码,而它以前是即时的 - 重要吗?)

编辑:route -n报告:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
Run Code Online (Sandbox Code Playgroud)

小智 7

您的 resolv.conf 条目可能很糟糕。您应该确定正确的地址并在 resolv.conf 中手动写入它们(删除当前条目)。
我猜 DNS 服务器与网关 (192.168.0.1) 相同。

您可以在通过命令更改 resolv.conf 之前尝试此操作:

dig @192.168.0.1 google.com
Run Code Online (Sandbox Code Playgroud)

上面的命令尝试向 192.168.0.1(不是您在 resolv.conf 中设置的当前设置)询问 google.com IP,如果有可用的 DNS 服务器,则答案将包含以下文本:

;; ANSWER SECTION:
google.com.             300     IN      A       173.194.35.162
google.com.             300     IN      A       173.194.35.161
google.com.             300     IN      A       173.194.35.164
[...]
Run Code Online (Sandbox Code Playgroud)

如果失败,请尝试在dig命令中输入不同的 IP

另一个问题是尝试通过 IP ping google 失败(如您所写)。要快速测试失败的原因,请尝试以下命令:

traceroute 173.194.35.162
Run Code Online (Sandbox Code Playgroud)

您将看到是哪一个跃点导致了问题。您的网关可能无法正常工作。


Tom*_*nor 5

检查事项:

您已经在 /etc/resolv.conf 中定义了名称服务器

/etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4
Run Code Online (Sandbox Code Playgroud)

您的路由表中有一个默认网关:

ip route

tom.oconnor@charcoal-black:~$ ip route
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1 
169.254.0.0/16 dev eth0  scope link  metric 1000 
192.168.0.0/16 dev eth0  proto kernel  scope link  src 192.168.100.27 
default via 192.168.1.1 dev eth0  metric 100 
Run Code Online (Sandbox Code Playgroud)

默认路由是以“ default via”开头的路由