如果有网络连接问题,请验证客户机操作系统是否配置正确。
要在 Linux 虚拟机上验证客户机操作系统是否配置正确,请执行以下操作:
- 确认客户机操作系统中已加载 VMware Tools。 在 Linux 虚拟机中,引导客户机操作系统,打开命令提示或运行开始 X 并启动图形环境。 然后可以使用以下命令启动 VMware Tools 后台应用程序:
vmware-toolbox &
如果该命令不运行,则说明尚未安装 VMware Tools。 需要加载 VMware Tools 才能使网卡正常运行。 有关详细信息,请参见 Installing VMware Tools in a Linux virtual machine using a Compiler (1018414)。
- 使用 ifconfig 确认虚拟网络适配器存在且已启用。 如果未显示任何内容,说明网卡关闭或不存在。
注意: 网络接口在激活时会显示出来,但没有链接。 如果显示可用,继续执行步骤 3。
# ifconfig
您会看到类似以下内容的输出:
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:192.168.48.128 Bcast:192.168.48.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14 errors:0 dropped:0 overruns:0 frame:0
TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2080 (2.0 KiB) TX bytes:7037 (6.8 KiB)
lo Link encap:Local Loopback
inet addr:xxx:x.x.x Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1453 errors:0 dropped:0 overruns:0 frame:0
TX packets:1453 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2294308 (2.1 MiB) TX bytes:2294308 (2.1 MiB)
- 使用 ethtool 验证链接状态。 如果失败,表明物理链接存在问题或者双工设置不正确。
# ethtool eth#
其中 # 是 ifconfig 中所示的网络适配器编号。
例如:
# ethtool eth0
您会看到类似以下内容的输出:
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 32
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: p
Current message level: 0x00000007 (7)
Link detected: yes
- 如果检测到链接,请对外部源执行 ping 操作,确认能否获得响应。 如果失败,表明存在路由问题,如果使用主机名则可能存在 DNS 问题。 对 IP 地址和主机名执行 Ping 操作以对两者进行验证。
# ping ip address/hostname
其中 ip address/hostname 是已知的外部 IP 地址,或已知可在其他虚拟机或工作站上使用的有效的可解析主机名。
例如:
# ping 192.168.1.10
PING 192.168.1.111 (192.168.1.111) from 192.168.1.100 : 56(84) bytes of data.
From 192.168.1.111 icmp_seq=1 Destination Host Unreachable
From 192.168.1.111 icmp_seq=2 Destination Host Unreachable
From 192.168.1.111 icmp_seq=3 Destination Host Unreachable
From 192.168.1.111 icmp_seq=4 Destination Host Unreachable
From 192.168.1.111 icmp_seq=5 Destination Host Unreachable
From 192.168.1.111 icmp_seq=6 Destination Host Unreachable
--- 192.168.1.111 ping statistics ---
8 packets transmitted, 0 received, +6 errors, 100% loss, time 7021ms, pipe 3
- 如果可以通过 IP 但不能通过主机名成功执行 ping,则通过执行以下命令检查 /etc/resolv.conf 文件中的 DNS 名称服务器条目:
less /etc/resolv.conf
- 如果没有 ping 回复,则通过执行以下命令对网关执行 ping 并检查网络设置:
ping <gateway ip>
less /etc/sysconfig/network
- 如果 ping 失败,则使用 telnet 命令测试网络连接,以进一步验证:
# telnet <ip address> <port>
例如:
# telnet 192.168.111 22
Trying 192.168.1.111
telnet: connect to address 192.168.1.111: Connection refused
- 如果 ping 成功但无法连接到特定端口,则表明端口阻塞或者环境中存在处于活动状态的防火墙。 使用 netstat 命令验证源系统上的端口:
# netstat -a
您会看到类似以下内容的输出:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:30037 *:* LISTEN
udp 0 0 *:bootpc *:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 6135 /tmp/.X11-unix/X0unix 2 [ ACC ] STREAM LISTENING 5140 /var/run/acpid.socket
- 如果要侦听和打开全部内容,可以使用 traceroute 命令查看连接失败的位置。 通常情况下,如果可以,最好使用该命令顺着您的路径追溯回环境(如 vCenter Server)中的已知正常连接。
# traceroute ip address
例如:
# traceroute 192.168.1.29
Tracing route to VCENTERSRV [192.168.1.29]
over a maximum of 30 hops:
1 101 ms 100 ms 116 ms example.yourdomain.com [192.168.1.254]
2 138 ms 152 ms 115 ms core.yourdomain.com [192.169.1.2]
3 124 ms 134 ms 138 ms VCENTERSRV [192.168.1.29]
Trace complete.
如果在任何时候收到错误消息 Destination host unreachable,表明有防火墙或设备阻止您建立网络连接。 记下出现故障的位置,从该位置进行故障排除。