您好,陈彼得
我已经查看了您提供的截图,并分析了您在使用 netsh 命令尝试将 PPPoE 界面 (“宽带连接”) 的 MTU 大小设置为 1492 时遇到的「参数错误 (The parameter is incorrect)」问题。
根本原因分析:
这是 Windows TCP/IP 和 RAS (远程访问服务) 架构中的__默认行为 (By Design)__。 PPPoE 连接是使用 NDISWAN 驱动程序 (ndiswan.sys) 动态建立的虚拟接口。 与可以透过 netsh 静态指派 MTU 的实体网卡不同,PPPoE 介面的 MTU 是在 PPP LCP (链路控制协议) 阶段与您的 ISP 动态协商决定的。 为了防止设定冲突,Windows TCP/IP 堆栈会保护动态 RAS 介面,使其无法透过命令列工具强制覆写。
解决方案:
如果您必须强制将 MTU 设定为 1492,我们可以透过直接在注册表 (Registry) 中设定 NDISWAN 协议参数来绕过命令列限制。 请在继续操作前备份您的注册表。
以系统管理员身份开启 注册编辑程序 (regedit.exe)。
导览至:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NdisWan\Parameters\Protocols\0
_(注意:0 子机码代表 NDISWAN 的 IPv4 协议设定)。 _
在右侧窗格按一下鼠标右键,选择 [新增] > [DWORD (32-位元) 值]。
将新值准确命名为:ProtocolMTU
连按两下 ProtocolMTU,将底数选择为 [十进位],然后在数值资料栏位中输入 1492。
按一下 [确定]。
__中断并重新拨号__您的 PPPoE 连接 (或重新启动服务器),以强制 ndiswan.sys 驱动程序载入新设定。
执行 netsh interface ipv4 show subinterfaces 来验证 MTU 更新。
如果这有助于解决您的问题,请考虑点击「接受答案」,让其他遇到相同问题的使用者也能轻松找到解决方案!