Como definir uma ponte de rede para ter um MTU de 9000?

10

Eu tenho que interfaces de rede gigabit que eu fiz a ponte.

/ 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

Mas o MTU é de apenas 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 eu executar os seguintes 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

Agora eu tenho MTU de 9000 e as transferências para o meu NAS são MUITO mais rápidas

Mas pensei em fazer isso no arquivo / 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

Mas a rede simplesmente não aparece na inicialização

Eu removi a mtu 9000seção br0 e o PC inicializa com a rede chegando, mas o MTU ainda é 9000

Como eu configuro o MTU para 9000 para eth0 e eth1 na inicialização para que a ponte seja executada em 9000?

Também existe uma maneira de testar o / etc / network / interfaces sem reiniciar o tempo todo?

RoboJ1M
fonte

Respostas:

9

Parece que a mtuopção não está disponível ao usar o manualmétodo (consulte interfaces(5)). Então, aqui está o que deve funcionar (incorporando o feedback dos comentários):

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 a opção up(ou neste caso post-up), podemos especificar nosso próprio comando para executar durante (após) o tempo em que a interface é ativada.

gertvdijk
fonte
1
A ponte em si parece ter o menor MTU do conjunto de dispositivos hospedados e usa isso. MTU no br0 no arquivo de interfaces faz com que a rede falhe ao iniciar na inicialização.
RoboJ1M
No entanto, consegui resolvê-lo ontem à noite, usando quase exatamente essa solução. Eu adicionei: post-up ifconfig eth0 mtu 9000no final da seção br0, duas vezes, para eth0 e eth1.
RoboJ1M
@ RoboJ1M Obrigado, atualizei minha resposta.
precisa saber é o seguinte
Se você não tem ifconfig, ligação uso ip:post-up ip link set dev eth0 mtu 9000
Jonathan S. Fisher
Minha impressão (posso estar enganada) é que a mtuopção deve ser suportada no manualmétodo (certamente a página de manual no 14.04 não sugere que não seja) e que o problema provavelmente está mais relacionado a esse bug (consulte o comentário # 4 em particular). É muito provável que este é fixado em 16.04 como um subproduto da migração systemd
sxc731