Come cambiare la dimensione MTU in Linux

Come cambiare la dimensione MTU in Linux

MTU (stand per unità di trasmissione massima) è la dimensione massima del pacchetto che può essere trasmessa da un'interfaccia di rete. Tutti i dispositivi tra cui server e switch/router coinvolti nella comunicazione dovrebbero avere la stessa dimensione MTU. La dimensione MTU di grandi dimensioni ha meno sovraccarico ad esso associato mentre il MTU più piccolo ha meno ritardi.

La dimensione MTU predefinita nella maggior parte delle reti Ethernet è di 1500 byte. Tuttavia, puoi cambiarlo secondo i requisiti. In questo tutorial, spiegheremo come cambiare la dimensione MTU in Linux.

Prerequisiti

  • Ubuntu 20.04 Sistema
  • Utente con privilegi sudo

Nota: i comandi discussi in questo articolo sono stati testati Ubuntu 20.04 LTS (Fossa focale). Gli stessi comandi sono validi anche per la distribuzione di Debian.

Visualizza la dimensione MTU corrente

Per visualizzare l'attuale dimensione MTU dell'interfaccia Ethernet, utilizzare il comando ifconfig come segue:

$ ifconfig | grep mtu

L'output di seguito mostra la dimensione di interfaccia corrente MTU Ens33 È 1500.

In alternativa, è anche possibile utilizzare il comando "IP A" per visualizzare la dimensione MTU corrente:

$ ip a | grep mtu

Modifica temporanea la dimensione MTU - Utilizzo del comando ifconfig

Possiamo utilizzare il comando ifconfig per modificare la dimensione MTU dell'interfaccia di rete di un sistema. Tuttavia, ricorda che questo cambiamento sopravvive a un riavvio e ritorna al valore predefinito i.e. 1500.

Per modificare la dimensione MTU di un'interfaccia, utilizzare la seguente sintassi:

$ ifconfig mtu su

Ad esempio, per modificare la dimensione MTU di un'interfaccia denominata Ens33 A 1000 byte, il comando sarebbe:

$ ifconfig ens33 mtu 1000 up

Dopo aver eseguito il comando sopra, la dimensione MTU cambia istantaneamente. Questo cambiamento non richiede nemmeno un riavvio del servizio.

È possibile verificare la nuova dimensione MTU eseguendo il seguente comando in terminale:

$ ifconfig | grep mtu

Dall'output sopra, è possibile verificare che la dimensione MTU sia ora cambiata in 1000 byte. Tuttavia, come accennato in precedenza, questo cambiamento non sopravviverà a un riavvio. La dimensione MTU tornerà al suo valore predefinito di 1500 dopo un riavvio.

Modifica permanentemente la dimensione MTU

Il comando ifconfig modifica istantaneamente la dimensione MTU ma questa modifica non sopravvive a un riavvio del sistema. Nella sezione seguente, vedremo come cambiare permanentemente la dimensione MTU.

Nell'indirizzo IP dinamico, la dimensione MTU è impostata da DHCP. Quindi dovrà configurare il file di configurazione DHCP situato /etc/dhcp/dhclient.conf. Per l'indirizzo IP statico, apporteremo le modifiche al file di configurazione dell'interfaccia di rete situato a /etc/rete/interfacce.

Utilizzando/etc/dhcp/dhclient.Conf File

Se il server DHCP è in esecuzione sul sistema e le interfacce di rete sono configurate per ricevere gli indirizzi IP da esso, utilizzare /etc/dhcp/dhclient.conf File per modificare la dimensione MTU.

Modifica il nano /etc/dhcp/dhclient.conf usando il seguente comando:

$ sudo nano/etc/dhcp/dhclient.conf

Quindi aggiungi le seguenti righe sotto il “Invia host-name = gethostName (); linea:

interfaccia predefinita-mtu;
Superede Interface-Mtu;

Ad esempio, per impostare la dimensione MTU su 1400, aggiungeremo:

interfaccia predefinita-MTU 1400;
Superede Interface-MTU 1400;

Se si dispone di più interfacce e si desidera modificare la dimensione MTU di una sola interfaccia, quindi racchiuderla nelle parentesi graffe come segue:

interfaccia "interface_name"
interfaccia predefinita-mtu ;
Superede Interface-Mtu ;

Una volta configurato il file, salvalo e chiuderlo.

Ora riavvia il servizio di rete utilizzando il seguente comando in terminale:

Riavvio di $ sudo networking $ sudo

Inoltre, visualizzare l'interfaccia usando il seguente comando:

$ sudo ifup

Assicurati di sostituire il file con l'interfaccia di rete effettiva sul sistema E.G Ens33, Eth0, Eth1, ecc.

Nel nostro caso, sarebbe:

$ sudo ifup ens33

Ora emette il seguente comando nel terminale per verificare se la dimensione MTU è cambiata correttamente.

$ sudo ifconfig | grep mtu

Dall'output, puoi vedere che la dimensione MTU è stata cambiata a 1400.

Uso/etc/file di rete/interfacce

Se l'interfaccia di rete è configurata per ottenere un indirizzo IP statico, è possibile modificare la dimensione MTU configurando il /etc/rete/interfacce file.

Modificare il /etc/rete/interfacce File usando il seguente comando in terminale:

$ sudo nano/etc/rete/interfacce

Aggiungi la riga seguente nel file:

post-up /sbin /ifconfig mtu

Assicurati di sostituire con il nome dell'interfaccia effettiva e Con la dimensione MTU che si desidera impostare sull'interfaccia di rete.

Ad esempio, per modificare la dimensione MTU di un'interfaccia denominata Ens33 A 1300 byte, il comando sarebbe:

post-up /sbin /ifconfig ens33 mtu 1300 up

Una volta configurato il file, salvalo e chiuderlo.

Ora riavvia i servizi di networking utilizzando il seguente comando in terminale:

Riavvio di $ sudo networking $ sudo

Inoltre, visualizzare l'interfaccia usando il seguente comando:

$ sudo ifup

Assicurati di sostituire il file con l'interfaccia di rete effettiva sul sistema E.G. Ens33, Eth0, Eth1, ecc.

Nel nostro caso, sarebbe:

$ sudo ifup ens33

Ora emette il seguente comando nel terminale per verificare se la dimensione MTU è cambiata correttamente.

$ ip a | grep mtu

Dall'output, puoi vedere che la dimensione MTU è stata cambiata a 1300. Questo cambiamento sarà mantenuto persistente e non sarà influenzato anche dopo un riavvio.

Questo è tutto ciò che c'è! Seguendo le procedure di cui sopra, è possibile modificare la dimensione MTU di un'interfaccia di rete temporaneamente o permanente nel sistema Linux. Spero che questo ti aiuti!