最近将主要承载业务的网段升级至万兆,完工后顺手将 MTU 更改至 9000 来提升传输效率,在此进行简单的记录。路由部分我使用的是 OPNSENSE,只需去对应的接口设置菜单中在 MTU 选项处填入 9000,保存生效即可:

opnsense

我部署的 Linux 机器全是清一色的 debian,使用 networking.service 管理网络,配置全在 /etc/network/interfaces 中。在此文件中配置好接口的 IP 地址,这里仅仅简单使用 DHCP 自动分配即可 (在 OPNSENSE 的 DHCP 服务中配置 DHCP 静态映射,方便统一管理)。

在 /etc/network/if-up.d 中添加 mtu,编辑完添加执行权限,内容如下:

1
2
3
4
5
#!/bin/sh

if [ "$IFACE" = "enp1s0" ]; then
    ip link set dev enp1s0 mtu 9000
fi

很容易看懂,这就是一个 shell 脚本,在接口 up 之后被调用。修改 MTU 之前判断了下接口名称,只有该接口 up 时才执行 ip 命令。我这里是 SR-IOV 的 VF 接口故是 enp1s0,注意替换即可。由于系统未安装 ifconfig,这里便使用 ip 命令进行更改。

最后进行 ping 测试:

ping