You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 18.04(ESXi 6.7虚拟机)随机端口连接阻塞问题求助

排查Ubuntu Server在ESXi上间歇性端口无法访问的问题

根据你描述的情况——三台Ubuntu 18.04.3虚拟机都出现能ping通但所有端口失联、重启网卡即可恢复的故障,而同一网络的Windows虚拟机无此问题,我整理了几个针对性的排查方向,你可以依次尝试:

1. 优先排查网卡驱动与硬件卸载兼容性问题

因为只有Ubuntu虚拟机出问题,大概率和Linux网卡驱动与ESXi的适配有关:

  • 先确认你的Ubuntu虚拟机使用的是VMXNET3还是E1000e网卡。VMXNET3是ESXi的高性能网卡,但部分旧版本驱动和ESXi 6.7u1可能存在兼容性bug。你可以临时换用E1000e网卡测试,如果故障消失,就说明是VMXNET3的驱动问题。
  • 尝试关闭网卡的TCP卸载功能,这是很多类似端口失联问题的元凶:
    ethtool -K ens160 tx off rx off
    
    执行后观察一段时间,如果不再出现故障,可以把这个设置加到开机启动脚本(比如/etc/rc.local)里永久生效。

2. 从系统日志中找异常线索

故障发生前后,系统日志肯定会留下关键信息:

  • 查看内核日志和系统日志,过滤网卡、网络相关的内容:
    grep -i "ens160\|network\|tcp\|link" /var/log/kern.log /var/log/syslog
    
    重点找有没有网卡链路断开、丢包、驱动报错、TCP栈异常的信息——比如link down、tx timeout这类关键词。

3. 排查TCP/IP栈与连接状态

虽然ping通说明链路层没问题,但传输层可能存在异常:

  • 故障发生时,立即执行以下命令查看TCP连接状态:
    ss -tulnp
    netstat -anp | grep -E "(TIME_WAIT|SYN_RECV)"
    
    看看是不是存在大量TIME_WAIT连接导致端口耗尽,或者服务进程虽运行但无法正常监听端口?不过你提到重启网卡就好,大概率不是进程本身的问题,但还是要确认。
  • 检查是否开启了tcp_tw_recycle参数(这个参数在NAT环境下容易导致连接异常):
    sysctl net.ipv4.tcp_tw_recycle
    
    如果值是1,建议关闭:
    sysctl -w net.ipv4.tcp_tw_recycle=0
    
    并写入/etc/sysctl.conf永久生效。

4. 检查ARP缓存与网络层异常

能ping通但端口连不上,也可能是ARP缓存污染导致的:

  • 故障时,在Ubuntu服务器和Windows虚拟机上分别执行:
    # Ubuntu端
    arp -n
    # Windows端
    arp -a
    
    确认服务器的MAC地址是否正确,有没有出现异常的ARP条目。如果发现异常,可以在Ubuntu上清空ARP缓存:
    ip -s -s neigh flush all
    

5. 再核对ESXi层面的网络配置

虽然你排除了ESXi宿主的问题,但还是可以补充检查几个点:

  • 确认ESXi主机的物理网卡没有持续增长的错误计数,在ESXi控制台执行:
    esxcli network nic stats get -n vmnicX
    
    替换vmnicX为你的物理网卡名称,重点看Rx errors、Tx errors是否异常增长。
  • 检查虚拟机所在的端口组是否开启了混杂模式、流量控制等特殊配置,尝试把Ubuntu虚拟机移到一个全新的测试端口组,看故障是否还会出现。

以上几个方向应该能帮你定位到问题,建议先从网卡驱动和TCP卸载功能开始排查,这是这类间歇性端口问题最常见的诱因。

内容的提问来源于stack exchange,提问作者zarkosizer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:49:51