使用 ip link show 查看当前MTU,通过 nmcli connection modify <接口名> 802-3-ethernet.mtu <数值> 修改并重启网络服务生效。
如何在 Rocky Linux 9 中查看并管理网络接口的 MTU 设置?
在Rocky Linux 9中管理网络接口的MTU(Maximum Transmission Unit)是优化网络性能的重要环节。以下是基于经验的实践方法:
-
查看当前MTU
- 使用
ip addr show或ip link show <接口名>查看接口的当前MTU值。 - 通过
ethtool <接口名>检查是否支持动态MTU调整。
- 使用
-
临时修改MTU(重启失效)
sudo ip link set <接口名> mtu <值>(如sudo ip link set eth0 mtu 9000)
-
永久修改MTU
- NetworkManager方式:
sudo nmcli connection modify <连接名> 802-3-ethernet.mtu <值> sudo nmcli connection up <连接名> - 手动配置文件:
编辑
/etc/NetworkManager/system-connections/<连接名>.nmconnection,在[ethernet]段添加mtu=<值>。
- NetworkManager方式:
-
验证与排错
- 修改后务必用
ip addr show二次确认。 - 大MTU(如9000)需确保网络设备(交换机/路由器)支持Jumbo Frame。
- 遇到丢包时可尝试
ping -s <包大小> <目标IP>测试MTU兼容性。
- 修改后务必用
注:生产环境中建议先在非关键接口测试,避免因MTU不匹配导致网络中断。云服务器需注意底层虚拟化可能强制限制MTU(如AWS默认为9001)。
更多回答
在Rocky Linux 9中管理网络接口的MTU(Maximum Transmission Unit)需结合命令行工具与配置文件操作。以下是系统化方案:
-
查看当前MTU
- 使用
ip link show <接口名>(如ip link show eth0),输出中mtu字段即当前值。 - 或通过
nmcli connection show查看NetworkManager管理的连接属性。
- 使用
-
临时修改MTU
- 执行
sudo ip link set <接口名> mtu <值>(如ip link set eth0 mtu 9000),重启失效。
- 执行
-
永久配置MTU
- NetworkManager方案:
sudo nmcli connection modify <连接名> ethernet.mtu <值> sudo nmcli connection down <连接名> && sudo nmcli connection up <连接名> - 传统ifcfg方案:
编辑
/etc/sysconfig/network-scripts/ifcfg-<接口名>,添加MTU=<值>,重启网络服务(systemctl restart NetworkManager)。
- NetworkManager方案:
-
验证与排错
- 通过
ping -M do -s <数据包大小> <目标IP>测试MTU限制(总包大小=值+28字节IP头)。 - 若使用Jumbo Frame,需确保交换机及终端设备MTU一致。
- 通过
注:MTU值需适配网络环境(如云服务器通常限制为1500),过度调大可能导致分片传输效率下降。
在Rocky Linux 9中查看网络接口MTU可通过ip link或nmcli dev show命令,管理MTU需编辑对应网卡的配置文件(如/etc/sysconfig/network-scripts/ifcfg-enp0s3)添加MTU=1500参数,或临时用ip link set dev enp0s3 mtu 1500修改。
延伸知识点:路径MTU发现(PMTUD)
当设备发送数据包时,若MTU大于路径中某节点的承载能力,PMTUD机制会通过ICMP报文通知发送方调整MTU。但若防火墙阻断ICMP(Type 3, Code 4报文),会导致"黑洞连接"现象——大包被丢弃且无错误反馈。此时需手动设置MTU为路径最小值(常见于VPN/Overlay网络),可通过ping -M do -s 1472 8.8.8.8测试(1472+28=1500字节),若收到"Frag needed"说明需降低MTU值。建议在虚拟化环境中将MTU统一设为9000(巨型帧)时,需确保物理交换机、网卡、中间路由均支持Jumbo Frames。
在Rocky Linux 9中管理网络接口MTU的步骤如下:
-
查看当前MTU值
- 使用
ip link命令,查看接口的mtu字段。例如:ip link show eth0 - 或通过NetworkManager查看:
nmcli connection show <连接名称> | grep mtu
- 使用
-
临时修改MTU(重启失效)
- 使用
ip link set命令:sudo ip link set dev eth0 mtu 1500
- 使用
-
永久修改MTU
- 方法1(NetworkManager):
sudo nmcli connection modify <连接名称> 802-3-ethernet.mtu 1500 sudo nmcli connection down <连接名称> && sudo nmcli connection up <连接名称> - 方法2(配置文件):
编辑
/etc/NetworkManager/system-connections/<连接名称>.nmconnection,在[ethernet]段添加mtu=1500,然后重启服务:sudo systemctl restart NetworkManager
- 方法1(NetworkManager):
-
验证修改
- 重新执行
ip link show eth0或通过ethtool -i eth0 | grep mtu确认生效。
- 重新执行
注意:
- 替换
eth0为实际接口名,<连接名称>通过nmcli connection获取 - MTU值需匹配网络设备支持范围(通常1500为标准值)
- 修改前建议备份配置文件