我最近刚刚在虚拟机上安装了 RHEL 5。服务器设置为使用我在网络配置 GUI 中配置的静态 IP。只有一个名为 eth0 的以太网接口设置为在启动时激活。重新启动Linux后,我去检查它是否确实已激活,但事实并非如此,所以我手动激活了设备。
进入命令行,我尝试:
- Iinging google.com 但丢包率 100%。
- ping 了服务器用于网关的路由器的 IP 地址(在网络配置管理器中设置),它以 0% 的数据包丢失返回。
- 我尝试 ping 服务器本身的 IP 地址,但又以 0% 的丢包率返回。
但是,如果我尝试打开 Firefox 并导航到某个站点,则什么也不会出现。有什么建议么?
更新 1:当我 ping www.google.com 时,我没有得到“未知主机”,所以 DNS 应该没问题。
按照马特的建议,我发出了命令 route -n 并得到以下输出:
> 内核IP路由表 目标网关 Genmask 标志 Metric Ref Use Iface 10.XX0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 10.XX1 0.0.0.0 UG 0 0 0 eth0
更新2:发出命令后:
traceroute -n www.google.com
我看到 #1 和 #2 的 IP 地址,但其余的 IP 地址应该是三个星号。另外,我什至无法使用 telnet 命令连接到 www.google.com。所以看起来网络防火墙最有可能导致问题。我认为这就是我可以提供的所有信息,直到我可以确认原因是否确实是防火墙。
当你 ping google.com 时,它解决了吗?换句话说,它有没有上来说
还是说
假设它说的是第一个,你的 DNS 很好。在这一点上,让我们看看路由:
这是我的:
由于我在内部网络上,所有发往 10.xx0/24(/24 来自“genmask”列)的内容都会从本地以太网卡中取出。
其他所有内容 (0.0.0.0/0) 都转到 10.xx1,我的网关。我的猜测是这条线可能不存在或弄乱了你的线。
如果您有一个相对简单的网络配置,并且缺少该行,则可以以 root 身份发出此命令:
其中 10.xx1 是您的默认网关。
编辑
好的,鉴于新信息,您的路线看起来不错。您 ping 的服务器在哪里?在本地网段还是远程?
无论如何,让我们看看连接在哪里消失:
很有可能您至少会从网关 10.xx1 获得响应。过去的任何事情都意味着您的网关正在将流量路由给您。如果您没有收到响应,则可能表明网络防火墙导致了问题。
当然,您仍有可能获得流量,但您的网关正在过滤 ICMP 数据包。尝试远程登录到谷歌并伪装成网络浏览器将是诊断性的:
您键入“GET / HTTP/1.0”,然后按 Enter 键两次……虽然说真的,如果您得到“已连接到……”部分,您可能就很好了。
尝试后更新!
马上想到两件事:
DNS:
DNS 工作正常吗?你能ping通www.google.com的IP吗?如果 www.google.com 没有解析到 IP,则说明 DNS 设置不正确。
运行“cat /etc/resolv.conf”并确保您的 DNS 服务器已列出,如果未使用这些说明配置 resolv.conf 。
默认网关:
如果 DNS 正常工作,但您无法 ping www.google.com,那么您可能没有设置默认网关,并且只能 ping 您网络上的内容。
也添加一个默认网关,在 /etc/sysconfig/network 中添加一条像 GATEWAY=192.168.1.1 这样的行,然后使用以下命令重新启动网络:
修复 DNS (/etc/resolv.conf) 以使 NIC 每次都启动,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 并将 ONBOOT=no 行更改为 ONBOOT=yes