最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位),在使用 Linux 时,如果 MTU 不匹配,会导致网卡无法接受数据,本文介绍如何修改网卡 MTU 的方法。
什么是MTU
The maximum transmission unit (MTU) of a communications protocol of a layer is the size (in bytes) of the largest protocol data unit that the layer can pass onwards.
如何修改其大小
使用ifconfig来修改
ifconfig ${INTERFACE_NAME} mtu ${SIZE} up
- INTERFACE_NAME是要配置的网卡的名字,例如eth0
- SIZE 是MTU的大小,例如1600
For example:
ifconfig eth0 mtu 1600 up
对于CentOS/RHEL/Fedora Linux,可以通过修改/etc/sysconfig/network-scripts/ifcfg-*
来修改:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
MTU=1600
重启网络服务
service network restart
对于Debian/Ubuntu Linux,可以通过修改 /etc/network/interfaces来修改,编辑/etc/network/interfaces:
vi /etc/network/interfaces
mtu 1600
重启网络
# /etc/init.d/networking restart
对于其他Linux系统,可以通过修改 /etc/rc.local, 在其中追加一下配置:
/sbin/ifconfig ${INTERFACE_NAME} mtu ${SIZE} up
- INTERFACE_NAME是要配置的网卡的名字,例如eth0
- SIZE 是MTU的大小,例如1600
Maximum transmission unit