永久或者临时修改Linux服务器MTU的大小

[复制链接] |主动推送
查看29 | 回复0 | 2024-9-11 14:57:24 | 显示全部楼层 |阅读模式
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
临时改变MTU大小--使用ifconfig命令。
我们可以使用ifconfig命令来改变系统网络接口的MTU大小。但是,请记住,这种改变会在重启后失效,返回到默认值,即1500。
要改变MTU大小,请使用以下语法。
$ ifconfig  mtu  up
例如,要将一个名为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 ;
}
105930zkk4k3xxxgm4146g.png
配置好文件后,保存并关闭它。
现在在终端中使用以下命令重新启动网络服务。
$ sudo service networking restart
同时,使用以下命令调出接口。
$ sudo ifup
确保将替换为系统中的实际网络接口,如ens33、eth0、eth1等。
在我们的示例中,它应该是
$ 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  mtu
确保用实际的接口名称代替,用代替你要在网络接口上设置的MTU大小。
例如,如果要将名为 ens33 的接口的 MTU 大小改为 1300 字节,命令如下。
post-up /sbin/ifconfig ens33 mtu 1300 up
105930q8yrci5rtoo6racp.png
配置好文件后,保存并关闭它。
现在在终端中使用以下命令重新启动网络服务。
$ sudo service networking restart
同时,使用以下命令调出接口。
$ sudo ifup
确保将替换为系统中的实际网络接口,例如ens33、eth0、eth1等。
在我们的情况下,应该是
$ sudo ifup ens33
现在在终端中发出以下命令来验证MTU大小是否已经成功改变。
$ ip a | grep mtu
从输出中可以看到,MTU大小已经改为1300。这个变化将保持持久性,即使重启后也不会受到影响。
以上就是全部内容了! 通过以上步骤,你可以临时或永久地改变Linux系统中网络接口的MTU大小,希望对大家有所帮助。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则