无法在 Windows 网络适配器上设置 MTU 大小

无法在 Windows 网络适配器上设置 MTU 大小

我的一个网络适配器(Edimax 10 Gigabit Ethernet SFP+)报告的 MTU 为 1496。我已通过检查 WireShark 中捕获的最大数据包大小(1514 字节,减去以太网报头和 FCS)验证了这一点,这导致有效负载大小为 1496 字节。我想将 MTU 更改为 1500。操作系统是 Windows Server 2019,并且安装了 Hyper-V。适配器连接到虚拟交换机,管理操作系统正在共享网络适配器。

运行 Powershell 查询适配器属性我们得到:

PS C:\Users\Administrator> Get-NetAdapter | Select-Object -Property InterfaceDescription, ifIndex, MtuSize

InterfaceDescription                                ifIndex MtuSize
--------------------                                ------- -------
Hyper-V Virtual Ethernet Adapter                         25    1500
Intel(R) 82574L Gigabit Network Connection               16    1500
Edimax 10 Gigabit Ethernet SFP+ PCI Express Adapter       4    1496

尝试设置 Edimax 10 Gigabit 的 MTU 失败:

PS C:\Users\Administrator> netsh interface ipv4 set subinterface "4" store=persistent mtu=1500
The parameter is incorrect.

尝试使用相同命令为 Intel(R) 82574L 设置 MTU 成功:

PS C:\Users\Administrator> netsh interface ipv4 set subinterface "16" store=persistent mtu=1500
Ok.

我也尝试添加注册表项来直接设置它。重新启动后,Get-NetAdapter 返回相同的 1496 MTU 值,似乎忽略了注册表项。

我在 Windows 10 机器上有相同的网络适配器,同样的问题。

如何更改 MTU?

答案1

回答:禁用适配器属性中的“QoS(IEEE 802.1q)卸载”选项允许我将 MTU 设置为 1500。我不确定这是否是预期的行为,或者禁用该选项是否会破坏网络中的任何其他内容,但我会将其标记为已回答,因为它解决了基本问题 - 适配器拒绝更高的 MTU,因为它无法遵守其当前配置。

答案2

如果您是公司的一员,请查看您公司的 IT 部门是否正在安装名为 ZScaler ZCC 的软件。

Zscaler 是一款安全应用程序。为了提高效率,它将 MTU 数据包大小限制为 1500。

相关内容