为什么我无法通过静态 IP 设置 Ubuntu Server 14.04 访问互联网?

为什么我无法通过静态 IP 设置 Ubuntu Server 14.04 访问互联网?

刚刚安装了 Ubuntu Server 14.04 并为机器设置了静态 IP 方案。但是当我尝试 ping google.com 时,我得到了目标主机无法访问的信息。我可以正常 ping 机器 IP,网关也报告目标主机无法访问。机器连接到交换机,我们有一组来自 ISP 的 IP 范围。我之前将 Windows 7 机器设置为静态 IP 方案,并使用了相同的 DNS 和网关。在 Windows 机器上,我可以正常连接到互联网。网络设置(位于 /etc/network/interfaces 中)如下:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 128.159.180.xxx
  netmask 255.255.255.0
  network 128.159.180.0
  broadcast 128.159.180.255
  gateway 128.159.180.254
  dns-nameservers 208.69.150.252

需要注意的几点:这是 Ubuntu Server 14.04,因此只有 CLI,没有桌面 GUI,并且我已检查以确保 DHCP 未运行,并且已从机器上卸载了 DHCP 客户端。请帮忙找出我没有互联网连接的原因。

编辑:对于 ifconfig eth0

eth0    Link encap:Ethernet HWaddr: 00:25:90:d0:ad:5a
        inet addr: 128.159.180.xxx Bcast: 128.159.180.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:1000
        RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
        Memory:fb820000-fb840000

对于 IP 路由列表:

default via 128.159.180.254 dev eth0
128.159.180.0/24 dev eth0 proto kernel scope link src 128.159.180.xxx

答案1

对于此类问题,最重要的是先重新启动,然后询问问题是否仍然存在。

在这种情况下,一个重要的指标是 ifconfig 列表中的 Tx 和 Rx 数据包计数为 0。

在这些情况下,数据包级别的调查可能会提供有用的信息。使用 tcpdump(或者 wireshark,如果你喜欢)在尝试 ping 其他东西时观察数据包流量。是否有传出数据包,但没有返回数据包?根本没有数据包?... 在一个终端中运行此命令:

sudo tcpdump -n -tttt -i eth0

尝试在另一个终端 ping 网关(最近的外部点)时:

ping 128.159.180.254

并观察 tcpdump 终端上的任何输出。

在没有 GUI 的服务器上,可以创建其他终端来工作。按住“ALT”键,然后按下“F2”键,您将获得一个新终端。按住“ALT”键,然后按下“F1”键,您将返回到原始终端。同样,对于“ALT”,按下 F3、F4、F5 和 F6。

答案2

系统重启后,按照 Doug Smythies 的建议重试 tcp 转储,系统似乎已成功连接!配置后肯定有一些设置没有采用,但问题似乎已解决。感谢您的评论!

相关内容