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

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

我会开始说我可以访问互联网(使用sudo apt-get),但经过一些“configuration工作”,我现在只能访问局域网。 它曾经工作,当我有一个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 

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) 

“ping 192.168.0.1”(网关)工作。 “ping 192.168.0.100”(self)的作品。 “ping 192.168.0.7”(另一台PC)的作品。 “ping google.com”报告“ping:unknown host google.com”。 “ping 173.194.34.72”(google.com)失败。

我也可以从另一台电脑SSH到这个Ubuntu服务器(虽然它现在等待大约20秒钟之前它要求的密码,而以前是瞬时的 – 重要的?)

编辑: 路由-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 

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

在使用命令对resolv.conf进行更改之前,可以尝试以下操作:

 dig @192.168.0.1 google.com 

上面的命令试图请求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 [...] 

如果失败,请尝试在dig命令中input不同的IP地址

另一个问题是,试图ping IP谷歌失败(如你所写)。 要做一个快速testing,为什么它失败尝试以下命令:

 traceroute 173.194.35.162 

你会看到哪一个跳跃导致了这个问题。 您的网关可能无法正常工作。

检查事项:

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

/etc/resolv.conf

 nameserver 8.8.8.8 nameserver 8.8.4.4 

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

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 

默认路由是启动“ default via

听起来像你的名字parsing(DNS)已经坏了。 检查你的/etc/resolv.conf和networkingpipe理器的DNS设置。

您尚未定义您的默认路线。 您的WiFi的DHCP服务器不会发送有关它的信息。 请更正您的DHCPconfiguration,或者您必须手动将其设置在Ubuntu系统上。

这可能是因为您的路由器中有一个伪造的IP / MAC绑定。 发出ifconfig命令,检查您的HWaddr对路由器的IP / MAC绑定表。

编辑/etc/resolv.conf可能缺less名称服务器,然后重新启动networkingpipe理器服务NetworkManager重新启动。