如何将网桥的 MTU 设置为 9000?

如何将网桥的 MTU 设置为 9000?

我有桥接的千兆网络接口。

/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 而不需要一直重新启动?

答案1

看起来使用该方法mtu时该选项不可用(请参阅)。因此,以下是应该起作用的方法(结合评论中的反馈):manualinterfaces(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)选项,我们可以指定在接口启动期间(或之后)运行我们自己的命令。

相关内容