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