如何为网络接口设置MTU?
时间:2020-01-09 14:16:37 来源:igfitidea点击:
MTU(最大传输单元)与Linux/BSD/UNIX操作系统中的TCP/IP网络有关。
它指的是一次通信协议的给定层一次可以通过的最大数据报的大小(以字节为单位)。
您可以在Linux下使用ifconfig命令查看当前的MTU设置:
/sbin/ifconfig
输出:
eth0 Link encap:Ethernet HWaddr 00:0F:EA:91:04:07 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20f:eaff:fe91:407/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:141567 errors:0 dropped:0 overruns:0 frame:0 TX packets:141306 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:101087512 (96.4 MiB) TX bytes:32695783 (31.1 MiB) Interrupt:18 Base address:0xc000
更好的方法是使用ip命令:
$ ip link list
输出:
1: lo: mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:0f:ea:91:04:07 brd ff:ff:ff:ff:ff:ff 3: sit0: mtu 1480 qdisc noop link/sit 0.0.0.0 brd 0.0.0.0
如您所见,eth0的MTU设置为1500。
假设您要将其设置为1400,则可以使用以下任一命令来设置MTU:
ifconfig eth0 mtu 1400
或者
ip link set dev eth0 mtu 1400
使用以下命令验证是否已设置新的mtu:
$ ip link list
或者
$ /sbin/ifconfig
要使eth0的设置成为永久设置,请编辑配置文件:
/etc/network/interfaces(Debian Linux)
auto lo iface lo inet loopback auto eth0 iface eth0 inet static name Ethernet LAN card address 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 network 192.168.1.0 gateway 192.168.1.254 mtu 1400 post-up /etc/fw.start post-down /etc/fw.stop
/etc/sysconfig/network-scripts/ifcfg-eth0(Red Hat Linux)
DEVICE=eth0 BOOTPROTO=static BROADCAST=192.168.1.255 HWADDR=00:0F:EA:91:04:07 IPADDR=192.168.1.111 NETMASK=255.255.255.0 NETWORK=192.168.1.0 MTU=1400 ONBOOT=yes TYPE=Ethernet
保存文件并重新启动网络服务
如果您使用的是Redhat:
# service network restart
如果您使用的是Debian:
# /etc/init.d/networking restart