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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM