RHEL 5 网络连接问题

RHEL 5 网络连接问题

我最近在虚拟机上安装了 RHEL 5。服务器设置为使用静态 IP,我在网络配置 GUI 中配置了该 IP。只设置了名为 eth0 的以太网接口,该接口设置为在启动时激活。重新启动 Linux 后,我去检查以确保它确实已激活,但事实并非如此,所以我手动激活了该设备。

进入命令行,我尝试:

  • 连接 google.com 但数据包丢失率为 100%。
  • 对服务器用于网关的路由器的 IP 地址进行 ping 操作(在网络配置管理器中设置),结果显示数据包丢失率为 0%。
  • 我尝试 ping 服务器本身的 IP 地址,结果再次显示数据包丢失率为 0%。

但是,如果我尝试打开 Firefox 并导航到某个网站,什么也不会出现。有什么建议吗?

更新 1:当我 ping www.google.com 时,没有收到“未知主机”的提示,因此 DNS 应该没有问题。

按照 Matt 的建议,我发出了命令 route -n 并得到了以下输出:

> 内核 IP 路由表
目标网关 Genmask 标志 指标参考使用 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。因此,看起来网络防火墙很可能是导致问题的原因。我想这就是我能提供的所有信息,直到我能确认问题是否确实是防火墙造成的。

答案1

当你 ping google.com 时,它解析了吗?换句话说,它是否显示

 msimmons@newcastle:~$ ping google.com
 PING google.com (74.125.127.100) 56(84) bytes of data.

或者说

 ping: unknown host google.com

假设是第一个,则您的 DNS 没有问题。此时,让我们查看路由:

这是我的:

 msimmons@newcastle:~$ route -n
 Kernel IP routing table
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
 10.x.x.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
 0.0.0.0         10.x.x.1        0.0.0.0         UG    0      0        0 eth0

因为我在内部网络上,所以发往 10.xx0/24(/24 来自“genmask”列)的所有数据都会从本地以太网卡发出。

其余所有 (0.0.0.0/0) 都发往 10.xx1,我的网关。我猜想您的网关上可能没有这行或这行乱了。

如果您的网络配置相对简单,并且缺少该行,则可以以 root 身份发出此命令:

 # route add default gw 10.x.x.1 

其中 10.xx1 是您的默认网关。

编辑

好的,根据新信息,您的路由似乎没有问题。您正在 ping 的服务器位于哪里?在本地网段,还是远程?

无论如何,让我们看看连接在哪里中断:

 traceroute -n www.google.com

您很有可能至少会从网关 10.xx1 收到响应。超过该值则表示网关正在将流量路由给您。如果您没有收到响应,则可能表明网络防火墙导致了问题。

当然,您仍然有可能收到流量,但您的网关正在过滤 ICMP 数据包。尝试远程登录到 Google 并假装是 Web 浏览器将是诊断方法:

msimmons@newcastle:~$ telnet www.google.com 80
Trying 66.102.1.104...
Connected to www.l.google.com.
Escape character is '^]'.
GET / HTTP/1.0

HTTP/1.0 200 OK
Date: Mon, 10 Aug 2009 19:20:19 GMT
Expires: -1
Cache-Control: private, max-age=0
...

您输入“GET / HTTP/1.0”然后按两次回车键...但实际上,如果您得到了“连接到...”部分,那么您可能很好。

尝试后立即更新!

答案2

我马上想到了两件事:

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 的行,然后使用以下命令重新启动网络:

/etc/init.d/networking restart

答案3

修复 DNS(/etc/resolv.conf)以使 NIC 每次启动,编辑 /etc/sysconfig/network-scripts/ifcfg-eth0 并将 ONBOOT=no 行更改为 ONBOOT=yes

相关内容