如何设置网桥的MTU为9000?


10

我必须桥接的千兆位网络接口。

/ 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

但是MTU只有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

如果我运行以下命令:

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

现在我的MTU为9000,传输到NAS的速度更快

但是,我想我只是在/ 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

但是网络无法在启动时启动

mtu 9000从br0部分中删除了,然后启动了PC,并启动了网络,但MTU仍为9000

如何在引导时将eth0和eth1的MTU设置为9000,以便网桥在9000运行?

还有没有一种方法可以测试/ etc / network / interfaces而无需一直重启?

Answers:


9

mtu使用该manual方法时,该选项似乎不可用(请参阅参考资料interfaces(5))。因此,这是应该起作用的方法(包含来自评论的反馈):

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

使用up(或在这种情况下post-up)选项,我们可以指定我们自己的命令,以在接口启动期间(之内)运行。


1
桥接器本身似乎只是从其托管设备集中使用最小的MTU并使用它。interfaces文件中br0上的MTU导致网络无法在启动时启动。
RoboJ1M 2013年

但是我昨晚确实设法使用几乎完全相同的解决方案解决了这个问题。我post-up ifconfig eth0 mtu 9000在br0部分的末尾添加了两次:eth0和eth1两次。
RoboJ1M 2013年

@ RoboJ1M谢谢,我已经更新了答案。
gertvdijk

如果您没有ifconfig,请使用ip链接:post-up ip link set dev eth0 mtu 9000
Jonathan S. Fisher

我的印象(我很可能是错的)是mtumanual方法应支持该选项(当然,14.04的手册页并不表明不是),并且问题可能与该错误有关(请参阅注释# 4)。作为系统迁移的副产品,此问题很可能已在16.04中修复
sxc731
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.