如何檢測和修改本機網卡的MTU值(轉)

如何檢測和修改本機網卡的MTU值

                                      

 

  在本機打開dos窗口,執行: ping -f -l 1472 192.168.0.1 其中192.168.0.1是網關IP地址,1472是數據包的長度。請注意,上面的參數是“-l”(小寫的L),而不是“-1”。 如果能ping通,表示數據包不需要拆包,可以通過網關發送出去。 如果出現: Packet needs to be fragmented but DF set. 表示數據包需要拆開來發送。此時,減少數據包長度,再執行上面的ping命令。從1400到1472之間多試幾次,就能找到合適的數據包長度了。把數據包長度加上數據包頭28字節,就得到MTU的值。 如果檢測到網關的MTU值是1500,不需要修改。 如果網關有防火牆ping不通,可以試試直接把MTU設爲1400。

  如何修改本機的MTU[編輯本段]修改方法如下:
  (1)、運行regedit
  (2)、瀏覽到: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
  (3)、Interfaces下有多個子項,每個子項對應一個網卡。
  請按如下方法選擇網卡:
  (a)確定本機用來連接Internet的網卡或撥號連接的IP,如192.168.0.19;
  (b)用鼠標點擊Interfaces上的子項,查看鍵值列表中的IPAddress項;
  (c)如果IPAddress的鍵值與(a)中的IP相同,即192.168.0.19,則該子項就是要找的網卡。
  (4)、進入該子項,在右邊的窗口裏按鼠標右鍵,選擇“新建”->“雙字節值”,輸入名稱“MTU”,按回車。再用鼠標雙擊“MTU”,彈出修改窗口: 如圖3: 填入MTU的值。填寫前請先把基數設爲十進制。 設置好後,需要重啓機器才能生效。

  Linux下可使用如下命令修改 需要root權限
  ifconfig 網卡 MTU值
  如 ifconfig eth0 mtu 1460

  或者,打開開始菜單-附件裏的命令行提示符,一個黑屏DOS窗口出現,然後在窗口入輸入
 
  netsh interface ipv4 show subinterfaces
 
  C:\Users\LiGht>netsh interface ipv4 show subinterfaces
 
  MTU  MediaSenseState   傳入字節  傳出字節      接口
  ——  —————  ———  ———  ——————  ————
  4294967295                1          0      17321  Loopback Pseudo-Interface 1
  1500                1  105771098   22604488  無線網絡連接
  1500                5          0          0  本地連接* 12
 
  這樣的顯示結果,你有幾個網絡連接就會顯示幾行。我電腦上是兩個,一個本地連接,一個無線網卡。正常上網使用的是無線網絡。連接名是無線網絡連接。也同時看到了這一排最前面的1500了吧。我們要修改的就是它了。
 
  下面運行第二個命令,修改
  netsh interface ipv4 set subinterface 無線網絡連接 mtu=1480 store=persistent
  這裏的無線網絡連接是在上個命令中查看到的,你正在正在上網的連接,這個別弄錯了,弄錯了就不起做用了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章