Skip to main content

nat会话数60万对hyper-v服务器及路由器进行的优化操作

从你贴出的结果来看,这些配置都已经生效了,而且从 Windows Server 2025 + Hyper-V + 万兆网络 + 大量虚拟机通信 的场景来看,总体是合理的。

当前状态分析

1. TCP 动态端口范围

修改前:

49152-65535
共16384个端口

修改后:

1025-65535
共64511个端口

验证:

netsh int ipv4 show dynamicport tcp

结果:

启动端口 : 1025
端口数   : 64511

说明已生效。

适用于:

  • Hyper-V主机

  • 数据同步服务器

  • 大量TCP短连接

  • IIS/Nginx反向代理

  • RabbitMQ

  • MongoDB/MySQL同步

可显著降低临时端口耗尽风险。


2. UDP 动态端口范围

你又执行了:

netsh int ipv4 set dynamicport udp start=1025 num=64511

验证:

启动端口 : 1025
端口数   : 64511

已生效。

对于:

  • DNS

  • SIP

  • SNMP

  • VXLAN

  • 某些监控系统

有帮助。


3. TCP Auto-Tuning

修改前:

接收窗口自动调节级别 : disabled

修改后:

接收窗口自动调节级别 : normal

对于万兆环境建议保持:

normal

不要改成:

experimental

微软官方也不推荐生产环境使用 experimental。


4. RFC1323 Timestamp

当前:

RFC 1323 时间戳 : allowed

这里不是 enabled,而是:

allowed

表示:

可以协商使用
但不会强制使用

这是 Windows Server 2022/2025 的正常默认值。

建议保持:

allowed

不要改 disabled。

原因:

  • SMB3

  • Hyper-V Live Migration

  • 高带宽高延迟链路

会受益于 Timestamp。


5. ECN

当前:

ECN 功能 : enabled

这个比较特殊。

ECN(Explicit Congestion Notification)用于网络拥塞通知。

优点:

减少丢包
提高吞吐

缺点:

某些旧交换机
某些旧防火墙
某些运营商设备
兼容性不好

如果你网络里有:

  • 老华为交换机

  • 老H3C交换机

  • 老防火墙

建议改回:

netsh int tcp set global ecncapability=disabled

如果全是新设备,可以保持 enabled。


关于 winnat

你执行:

net stop winnat

返回:

没有启动 Windows NAT Driver 服务

这是正常的。

说明当前主机没有使用:

Hyper-V NAT
Docker NAT
Container NAT

至少没有启用 WinNAT。

无需处理。


我建议你再检查两个关键项

查看端口耗尽情况

PowerShell:

Get-NetTCPConnection | Measure-Object

查看当前连接数。


查看 TIME_WAIT 数量

netstat -ano | find /c "TIME_WAIT"

如果经常超过:

10000+

甚至:

30000+

那么扩大动态端口范围就非常有价值。


针对你的 Hyper-V 宿主机

我建议最终配置如下:

netsh int tcp set global autotuninglevel=normal

netsh int ipv4 set dynamicport tcp start=1025 num=64511

netsh int ipv4 set dynamicport udp start=1025 num=64511

netsh int tcp set global timestamps=enabled

或者保持当前:

RFC1323 时间戳 : allowed

即可。

如果你这台服务器承担 20 个以上 Hyper-V 虚拟机,并且有 MySQL、MongoDB、RabbitMQ、文件同步等大量东西南北向流量,我还建议检查:

Get-NetAdapterRss
Get-NetAdapterRsc
Get-NetAdapterAdvancedProperty

看看万兆网卡是否开启了:

  • RSS(Receive Side Scaling)

  • VMQ(Virtual Machine Queue)

  • VMMQ(Virtual Machine Multi Queue)

  • RSC(Receive Segment Coalescing)

这些优化对 Hyper-V 的收益往往比修改 TCP 参数更明显。