Change the MTU of network interface in Debian

What is MTU?

Maximum Transmission Unit, the largest physical packet size, measured in bytes, that a network can transmit. Any messages larger than the MTU are divided into smaller packets before being sent.

Default MTU Size for Different Network Topology

   Network                       MTU(Bytes)
16 Mbit/Sec Token Ring      17914
4 Mbits/Sec Token Ring      4464
FDDI                                   4352
Ethernet                             1500
IEEE 802.3/802.2               1492
X.25                                    576


To change the MTU of an interface on GNU/Linux, you just need to tell ifconfig to do so, like this for example:

/sbin/ifconfig eth0 mtu 1492

To change it permanently on Debian, put it in the /etc/network/interfaces .where almost all network parameters are found. To do this, just add a line mtu to the definition of your interface. Example:

iface eth0 inet static
                mtu 1492

There is an exception, though.

Warning: the following is mostly obsolete in Sid and Etch

It seems that the dhcp clients are not configured by default to do the same for dynamically-assigned configurations . So, you need to use a tweak to achieve the same. We're going to use the pre-up feature of /etc/network/interfaces like this:

iface eth0 inet dhcp
hostname "mymachine"
name LAN Interface
pre-up /sbin/ifconfig $IFACE mtu 1492