您好,Peter:
感謝您協助測試並提供螢幕擷取畫面。
原因 Windows 內建的 PPPoE 連線(寬頻連線)以 MTU 1480 運作,無法設定為更高的值。因此,使用 netsh 設定 1492 時會出現「參數錯誤」,修改登錄也沒有效果。從您的截圖也可以看到,netsh 可以正常修改實體 WAN 網路卡的 MTU,只有 PPPoE 連線會拒絕這個值。
解決方式 若要以 MTU 1492 執行 PPPoE,請改由 ISP 的數據機/路由器負責 PPPoE 撥號,Windows 的 WAN 網路卡則改用一般乙太網路連線(MTU 1500)。請依照以下步驟操作:
步驟 1:清理 Windows 端設定(以系統管理員身分執行命令提示字元)
- rasdial "寬頻連線" /disconnect
reg delete "HKLM\SYSTEM\CurrentControlSet\Services\NdisWan\Parameters\Protocols\0" /v ProtocolMTU /f
netsh interface ipv4 set subinterface "WAN" mtu=1500 store=persistent
接著,請將「寬頻連線」從所有自動撥號或開機啟動的設定中移除,讓 Windows 不再撥接 PPPoE。
步驟 2:在 ISP 數據機/路由器上設定 PPPoE 登入數據機/路由器的管理頁面,將模式從「橋接模式(Bridge)」切換為「路由模式(PPPoE)」,並輸入 ISP 提供的 PPPoE 帳號與密碼。將 MTU 設為 1492,儲存後重新啟動設備。
步驟 3:將 Windows WAN 網路卡指向數據機/路由器
netsh interface ipv4 set address name="WAN" source=dhcp
netsh interface ipv4 set dnsservers name="WAN" source=dhcp
如果這台伺服器是透過「路由及遠端存取」(NAT)將網際網路分享給區域網路,請開啟「路由及遠端存取」主控台,在 IPv4 > NAT 中移除「寬頻連線」,改為新增 WAN 作為連線到網際網路的公用介面,並勾選「在此介面上啟用 NAT」。
步驟 4:驗證
netsh interface ipv4 show subinterfaces
ping -f -l 1464 8.8.8.8
- WAN 的 MTU 應顯示為 1500。
- 1464 位元組的 ping 應該成功(1464 + 28 位元組標頭 = 1492),代表目前的網際網路路徑已以 MTU 1492 運作。
完成後,您的連線即會以所需的 MTU 1492 運作,Windows 伺服器也不再需要任何 MTU 的變通設定。
如果以上內容有助於解決您的問題,請點選「接受解答」,讓其他遇到相同問題的使用者也能輕鬆找到解決方案!