Linux 设置网卡最大传输单位MTU

1. 设置原因

  提高网络的吞吐率和效率(小的数据报文封装二层信息时,效率不高),同时减少设备CPU的负担(对于小的报文,CPU花费大量的时间来分片和重组报文)

2. 配置

[root@benjr ]# ifconfig eth2 mtu 9000 #配置
[root@benjr ]# ifconfig eth2          #查看
eth2      Link encap:Ethernet HWaddr 00:1A:64:22:04:83
inet addr:192.8.1.55 Bcast:192.8.1.255 Mask:255.255.255.0
inet6 addr: fe80::21a:64ff:fe22:483/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1
RX packets:1440102 errors:0 dropped:0 overruns:0 frame:0
TX packets:269896 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:188856502 (180.1 MiB) TX bytes:18973940 (18.0 MiB)
Interrupt:177

   #ifconfig 是暫時生效的如果要讓 MTU 在開機時就設定好還是需要修改設定檔 。

  CentOS / RHEL / Fedora下的Linux系统,修改 /etc/sysconfig/network-scripts/ifcfg-ethx 保存后重启网卡生效.

[root@benjr ]# vi /etc/sysconfig/network-scripts/ifcfg-eth2
# Please read /usr/share/doc/initscripts-*/sysconfig.txt
# for the documentation of these parameters.
TYPE=Ethernet
DEVICE=eth2
BOOTPROTO=dhcp
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
MTU=9000

   Debian / Ubuntu 下的 Linux 系统,修改 /etc/network/interfaces 增加值: mtu 9000 ,保存后,重启网络生效,注意这里针对的是手动添加IP的情况,如果你是自动获取IP,修改 /etc/dhpc3/dhclient.conf 文件,找到 interface-mtu 并删除。

3. 其他

  还有一个比较通用的方法,使用指令 echo "1460" > /sys/class/net/eth0/mtu 设置 mtu ,注意这里需要使用 su 权限;还可以用 cat /sys/class/net/eth0/mtu 指令查看;如果修改的时候出现提示驱动忙的情况这时候你可以先用指令 sudo ifconfig eth0 down 把网卡禁止掉,再修改,修改好后使用指令  sudo ifconfig eth0 up 重新启用网卡。

   /sys/class/net/eth0/ 文件夹里主要是一些网卡的配置,例如其中的 address 就是MAC地址文件,修改这个就可以修改MAC地址了。

 

参考:https://blog.csdn.net/weixin_30421525/article/details/95395857

 

posted @ 2021-10-08 17:15  白菜没我白  阅读(2777)  评论(0编辑  收藏  举报