¿Cómo configuro un puente de red para tener una MTU de 9000?

10

Tengo que gigabit interfaces de red que he puenteado.

/ etc / network / interfaces es:

 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

Pero el MTU es 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

Si ejecuto los siguientes comandos:

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

Ahora tengo un MTU de 9000 y las transferencias a mi NAS son MUCHO más rápidas

Pero, pensé que simplemente haría esto en el archivo / 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

Pero la red simplemente no puede aparecer en el arranque

Eliminé el mtu 9000de la sección br0 y la PC arranca con la red que se acerca, pero la MTU sigue siendo 9000

¿Cómo configuro la MTU en 9000 para eth0 y eth1 en el arranque para que el puente se ejecute en 9000?

¿También hay una manera de probar / etc / network / interfaces sin reiniciar todo el tiempo?

RoboJ1M
fuente

Respuestas:

9

Parece que la mtuopción no está disponible cuando se usa el manualmétodo (ver interfaces(5)). Entonces, esto es lo que se supone que funciona (incorporando los comentarios de los comentarios):

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 la opción up(o en este caso post-up) podemos especificar nuestro propio comando para ejecutar durante (o después) el momento en que se abre la interfaz.

gertvdijk
fuente
1
El puente en sí parece tomar la MTU más pequeña de su conjunto de dispositivos alojados y lo utiliza. MTU en br0 en el archivo de interfaces hace que la red no se inicie en el arranque.
RoboJ1M
Sin embargo, logré resolverlo anoche, usando casi exactamente esta solución. Agregué: post-up ifconfig eth0 mtu 9000al final de la sección br0, dos veces, tanto para eth0 como para eth1.
RoboJ1M
@ RoboJ1M Gracias, he actualizado mi respuesta.
gertvdijk
si no tiene ifconfig, use el enlace ip:post-up ip link set dev eth0 mtu 9000
Jonathan S. Fisher
Mi impresión (puedo estar equivocado) es que la mtuopción debería ser compatible con el manualmétodo (ciertamente la página del manual en 14.04 no sugiere que no lo sea) y que el problema probablemente esté más relacionado con este error (ver comentario # 4 en particular). Es muy probable que esto se solucione en 16.04 como un subproducto de la migración del sistema
sxc731