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)
您将看到是哪一个跃点导致了问题。您的网关可能无法正常工作。
检查事项:
您已经在 /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”开头的路由
| 归档时间: |
|
| 查看次数: |
28457 次 |
| 最近记录: |