Come posso impostare un bridge di rete per avere un MTU di 9000?


10

Devo eseguire il gigabit delle interfacce di rete che ho colmato.

/ etc / network / interfaces è:

 auto lo
 iface lo inet loopback

# Set up interfaces manually, avoiding conflicts with, e.g., network manager
 iface eth0 inet manual

 iface eth1 inet manual

 # Bridge setup
 auto br0
 iface br0 inet static
    bridge_ports eth0 eth1
    address 192.168.88.2
    broadcast 192.168.88.255
    netmask 255.255.255.0
    gateway 192.168.88.254
    dns-nameservers 192.168.88.254

Ma l'MTU è solo 1500

myth@myth:~$ traceroute --mtu 192.168.88.1
traceroute to 192.168.88.1 (192.168.88.1), 30 hops max, 65000 byte packets
 1  RoboStation.local (192.168.88.1)  0.278 ms F=1500  0.279 ms  0.287 ms

Se eseguo i seguenti comandi:

myth@myth:~$ sudo ifconfig eth0 mtu 9000
myth@myth:~$ sudo ifconfig eth1 mtu 9000
myth@myth:~$ traceroute --mtu 192.168.88.1

traceroute to 192.168.88.1 (192.168.88.1), 30 hops max, 65000 byte packets
 1  RoboStation.local (192.168.88.1)  0.407 ms F=9000  0.422 ms  0.383 ms

Ora ho un MTU di 9000 e i trasferimenti sul mio NAS sono MOLTO più veloci

Ma, ho pensato di fare questo nel file / etc / network / interfaces:

 auto lo
 iface lo inet loopback

 # Set up interfaces manually, avoiding conflicts with, e.g., network manager
 iface eth0 inet manual
    mtu 9000

 iface eth1 inet manual
    mtu 9000

 # Bridge setup
 auto br0
 iface br0 inet static
    bridge_ports eth0 eth1
    address 192.168.88.2
    broadcast 192.168.88.255
    netmask 255.255.255.0
    gateway 192.168.88.254
    dns-nameservers 192.168.88.254
    mtu 9000

Ma la rete non riesce a comparire all'avvio

Ho rimosso il mtu 9000dalla sezione br0 e il PC si avvia con la rete in arrivo, ma l'MTU è ancora 9000

Come posso impostare l'MTU su 9000 per eth0 e eth1 all'avvio in modo che il bridge funzioni a 9000?

C'è anche un modo per testare / etc / network / interfaces senza riavviare continuamente?

Risposte:


9

Sembra che l' mtuopzione non sia disponibile quando si utilizza il manualmetodo (vedere interfaces(5)). Quindi, ecco cosa dovrebbe funzionare (incorporando il feedback dai commenti):

auto lo
iface lo inet loopback

# Set up interfaces manually, avoiding conflicts with, e.g., network manager
iface eth0 inet manual
   # nothing here

iface eth1 inet manual
   # nothing here

# Bridge setup
auto br0
iface br0 inet static
   bridge_ports eth0 eth1
   address 192.168.88.2
   ...
   post-up ifconfig eth0 mtu 9000 && ifconfig eth1 mtu 9000

Usando l' opzione up(o in questo caso post-up) possiamo specificare il nostro comando da eseguire durante (dopo) il momento in cui l'interfaccia viene visualizzata.


1
Il bridge stesso sembra prendere il più piccolo MTU dal suo set di dispositivi ospitati e lo utilizza. MTU su br0 nel file interfacce impedisce l'avvio della rete all'avvio.
RoboJ1M

Tuttavia, sono riuscito a risolverlo ieri sera, usando quasi esattamente questa soluzione. Ho aggiunto: post-up ifconfig eth0 mtu 9000alla fine della sezione br0, due volte, sia per eth0 che per eth1.
RoboJ1M

@ RoboJ1M Grazie, ho aggiornato la mia risposta.
gertvdijk,

se non si dispone di ifconfig, utilizzare il collegamento ip:post-up ip link set dev eth0 mtu 9000
Jonathan S. Fisher,

La mia impressione (potrei anche sbagliarmi) è che l' mtuopzione dovrebbe essere supportata nel manualmetodo (sicuramente la pagina man su 14.04 non suggerisce che non lo sia) e che il problema è probabilmente più correlato a questo bug (vedi commento # 4 in particolare). Molto probabilmente questo è stato risolto nel 16.04 come sottoprodotto della migrazione di systemd
sxc731
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.