最近使用ssh工具在VPN環境下連接一個生產環境的Linux主機的時候,發現經常出現輸入命令后卡死的情況。最開始以為是Linux主機的問題,問了一些老同事之后發現原來是我自己電腦的最大傳輸單元MTU和服務器端接受的最大傳輸單元不匹配導致連接不通暢,換用其它電腦連接就不會出現這樣的情況。在前輩的提示之后在網上搜索了一些查看和修改MTU值的方法,動手修改后成功解決了這個問題。
參考資料
什么是MTU,可以參考這篇文章:# 什么是MTU,如何檢測和設置路由器MTU值
為什么MTU的默認值會是1500,可以參考這個知乎問答: # 為什么以太網mtu值被設定為1500?
如何查看和設置: # windows10系統下設置mtu值的方法
mut即“最大傳輸單位”,適當地修改MTU值可提升windows10系統電腦的網速。那么,Windows10系統下該怎樣設置mtu值呢?
步驟如下:
1、在開始菜單上單擊右鍵,選擇【命令提示符(管理員)】;
設置mtu值的方法一步驟1
2、在命令提示符中輸入:netsh interface ipv4 show subinterfaces
按下回車鍵查看當前的mtu值;
設置mtu值的方法一步驟2
3、接着按下面格式輸入:netsh interface ipv4 set subinterface "連接名" mtu=值 store=persistent
(如:netsh interface ipv4 set subinterface "WLAN" mtu=1492 store=persistent
) 按下回車鍵,出現“確定”提示 則說明修改完成。
設置mtu值的方法一步驟3
如何根據連接的網戰或者IP來確定mtu的值呢?
1、同樣先打開命令提示符(管理員), 輸入:ping -l 1472 -f www.baidu.com
(探測百度為例),請求將一個不允許分割的 1472 字節的數據包發送出去;
取值步驟1
2、若是出現傳輸失敗,提示需要拆分數據包的情況,則說明當前網絡的 MTU 值要比指定的 1472 小,因此我們就適當調小數據包的大小(比如 1450),輸入:ping -l 1450 -f www.baidu.com
按下回車鍵;
取值步驟2
3、如果出現傳輸成功,則說明當前網絡的 MTU 值比 1450 要大。於是我們需要稍微調大數值(比如1460),以便求得最為精確的網絡 MTU 值,如圖:
取值步驟3
4、通過取值之后我們再通過上述方法進行設置即可。