虚拟机显示“已运行”,不代表网络链路正常。处理云平台虚拟机网络故障诊断时,先确认故障范围和发生时间,再沿数据包经过的路径检查,避免一开始就修改路由或防火墙规则。若同一子网多台虚拟机同时中断,优先检查共享网络组件;若只有一台异常,则从该虚拟机的网卡和配置查起。
先界定故障范围
记录受影响的虚拟机、网卡、目标服务及故障时间,并区分“完全不通”“只能访问部分目标”或“间歇性丢包”。在来宾系统中执行以下命令,先确认网卡和地址状态:
Linux 执行 ip link 和 ip addr,查看接口是否启用、是否获得预期地址;接口名可能是 ens3、ens160 等,不要假设固定为 eth0。
执行 ip route,核对默认路由和目标网段路由。没有默认路由时,跨网段通信通常无法正常进行。
Windows 可运行 ipconfig /all 与 route print,检查网卡状态、地址、网关和路由。
云平台虚拟机网络故障诊断的第一步不是立即重启,而是保留故障现场:记录命令输出、平台告警和配置变更时间,便于比较正常与异常节点。
沿链路从虚拟机向外检查
网卡与地址配置
确认虚拟网卡已连接,平台侧没有将网卡置为断开;再核对地址是否来自预期的 DHCP 配置,或是否与手工设置一致。地址缺失、重复地址、掩码不匹配,都可能表现为无法访问网关或仅部分通信失败。Linux 可用 ethtool ens3 查看驱动报告的链路信息;虚拟设备不一定提供完整的物理链路状态,因此还要结合平台控制台判断。
虚拟交换机与网络策略
检查网卡连接的网络、端口组或虚拟交换机是否正确,确认端口未被禁用,网络标签与预期一致。接着查看安全组、分布式防火墙或主机防火墙规则:出站允许不等于入站也允许,双向连接通常需要相应方向的规则。规则变更应限定协议、端口和来源范围,并在验证后再扩大范围,避免用“全部放行”作为长期排障方案。
路由、网关与物理上联
先测试同网段网关,再测试更远的目标。Linux 可使用 ping -c 4 网关地址;如需观察路径,可用 traceroute 目标地址,Windows 可用 tracert。中间节点不回应探测并不必然表示业务中断,需结合目标端口的实际连接结果判断。
若多台虚拟机同时受影响,检查宿主机物理网卡、上联交换机端口和 VLAN 配置,并查看接口错误、丢包及链路状态。若只有大报文或特定应用失败,再核对 MTU;隧道封装会占用额外报文空间,端到端 MTU 不一致时,可能出现小数据可通、大数据卡住的现象。云平台虚拟机网络故障诊断应把这些共享链路放在单机检查之后,减少无关改动。
按症状缩小范围
| 现象 | 优先检查 |
|---|---|
| 接口无地址 | 网卡连接状态、DHCP 服务与地址池配置 |
| 网关不通 | 子网配置、虚拟交换机端口、网关及本机防火墙 |
| 同网段可通、跨网段不通 | 默认路由、路由表、安全策略和回程路由 |
| 偶发丢包或大报文失败 | 接口错误计数、上联拥塞、MTU 与路径变化 |
每次只调整一个配置项,调整后复测同一目标并记录结果;若问题在变更前后没有差异,应回滚该改动,再继续排查。这样能让云平台虚拟机网络故障诊断形成可验证的闭环,而不是叠加多个未经确认的修改。
常见问题
虚拟机能访问网关,却访问不了外部网络,先看什么?
先核对默认路由和出站安全策略,再检查网关之后的路由与上联。若只访问特定服务失败,还应确认目标端口是否可达。
重启虚拟机能解决网络故障吗?
重启有时会重新初始化网卡,但也可能清除现场或掩盖间歇性问题。应先记录接口、路由和平台状态,再决定是否重启。
多台虚拟机同时断网,应该从哪里开始?
优先检查它们共同使用的虚拟交换机、网络策略、宿主机上联和网关;若仅单台异常,再回到该实例的网卡及系统配置。