使用 ip link show
查看当前MTU,通过 nmcli connection modify <接口名> 802-3-ethernet.mtu <数值>
修改并重启网络服务生效。
如何在 Rocky Linux 9 中查看并管理网络接口的 MTU 设置?
在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(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可通过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。