MTU(代表最大傳輸單元)是指從一個網絡接口可以傳輸的數據包的最大尺寸。所有參與通信的設備,包括服務器和交換機/路由器都應該有相同的MTU大小。大的MTU大小有較少的開銷,而小的MTU有較少的延遲。
大多數以太網網絡的默認MTU大小是1500字節。然而,你可以根據需要改變它。在本教程中,我們將介紹如何在Linux服務器中改變MTU大小。
前提條件
Ubuntu 20.04系統
有sudo權限的用戶
注意:本文討論的命令已經在Ubuntu 20.04 LTS (Focal Fossa)上測試過。同樣的命令也適用于Debian發行版。
查看當前MTU大小
為了查看當前以太網接口的MTU大小,使用ifconfig命令如下。
$ ifconfig | grep mtu
輸出顯示,當前接口ens33的MTU大小為1500。
另外,你也可以使用 “ip a “命令來查看當前的MTU大小。
$ ip a | grep mtu
我們可以使用ifconfig命令來改變系統網絡接口的MTU大小。但是,請記住,這種改變會在重啟后失效,返回到默認值,即1500。
要改變MTU大小,請使用以下語法。
$ ifconfig
例如,要將一個名為ens33的接口的MTU大小改變為1000字節,命令是。
$ ifconfig ens33 mtu 1000 up
運行上述命令后,MTU大小馬上發生變化,甚至不需要重新啟動服務。
您可以通過在終端運行以下命令來驗證新的MTU大小。
$ ifconfig | grep mtu
從上面的輸出中,你可以驗證MTU大小現在已經改變為1000字節。然而,如前所述,這一變化將無法在重啟后繼續存在。重啟后,MTU大小將恢復到默認值1500。
永久改變MTU大小
ifconfig命令可以臨時改變MTU的大小,但是這種改變在系統重啟后是無法繼續生效的。在下面的章節中,我們將看到如何永久改變MTU大小。
在動態IP尋址中,MTU大小是由DHCP設置的。所以將需要配置位于/etc/dhcp/dhclient.conf的DHCP配置文件。對于靜態IP地址,我們將在位于/etc/network/interfaces的網絡接口配置文件中進行修改。
①使用/etc/dhcp/dhclient.conf文件
如果DHCP服務器運行在你的系統上,并且網絡接口被配置為從它那里接收IP地址,那么使用/etc/dhcp/dhclient.conf文件來改變MTU大小。
使用以下命令編輯nano /etc/dhcp/dhclient.conf。
$ sudo nano /etc/dhcp/dhclient.conf
然后在send host-name = gethostname();行下面添加以下幾行。
default interface-mtu
supersede interface-mtu
例如,要將MTU大小設置為1400,我們將添加。
default interface-mtu 1400;
supersede interface-mtu 1400;
如果你有多個接口,而你只想改變一個接口的MTU大小,那么就把它括在括號里,如下所示。
interface “interface_name” {
default interface-mtu
supersede interface-mtu
}
配置好文件后,保存并關閉它。
現在在終端中使用以下命令重新啟動網絡服務。
$ sudo service networking restart
$ sudo ifup
確保將
在我們的示例中,它應該是
$ sudo ifup ens33
現在在終端中發出以下命令來驗證MTU大小是否已經成功改變。
$ sudo ifconfig | grep mtu
從輸出中可以看到MTU大小已經改為1400。
②使用/etc/network/interfaces文件。
如果你的網絡接口被配置為獲取靜態IP地址,那么你可以通過配置/etc/network/interfaces文件來改變MTU大小。
在終端中使用以下命令編輯/etc/network/interfaces文件。
$ sudo nano /etc/network/interfaces
在文件中添加以下一行。
post-up /sbin/ifconfig
確保用實際的接口名稱代替
例如,如果要將名為 ens33 的接口的 MTU 大小改為 1300 字節,命令如下。
post-up /sbin/ifconfig ens33 mtu 1300 up
配置好文件后,保存并關閉它。
現在在終端中使用以下命令重新啟動網絡服務。
$ sudo service networking restart
$ sudo ifup
確保將
在我們的情況下,應該是
$ sudo ifup ens33
現在在終端中發出以下命令來驗證MTU大小是否已經成功改變。
$ ip a | grep mtu
從輸出中可以看到,MTU大小已經改為1300。這個變化將保持持久性,即使重啟后也不會受到影響。
以上就是全部內容了! 通過以上步驟,你可以臨時或永久地改變Linux系統中網絡接口的MTU大小,希望對大家有所幫助。