是否考虑过使用传统的 ifcfg 文件或 ip 命令直接配置 MTU,或许在某些场景下更高效?
如何在 Rocky Linux 9 中通过 nmcli 配置网卡的 MTU 值?
回答
| 共 5 个
在Rocky Linux 9中通过nmcli配置MTU值需遵循以下步骤:
- 查看当前网络连接名称:
nmcli connection show
- 修改指定连接的MTU(示例连接名为eth0,MTU为9000):
nmcli connection modify eth0 802-3-ethernet.mtu 9000
- 重新激活网络连接:
nmcli connection down eth0 && nmcli connection up eth0
- 验证配置结果:
ip link show | grep mtu
注意事项:
- 需root权限执行命令
- MTU值需符合网络设备支持范围(通常1500-9000)
- 生产环境建议先在测试环境验证
- 物理设备MTU需与交换机配置一致
-
查看当前网络连接信息
nmcli connection show
记录目标网卡连接名称(如ens192)。
-
修改MTU值
nmcli connection modify <连接名称> 802-3-ethernet.mtu <MTU值>
示例:
nmcli connection modify ens192 802-3-ethernet.mtu 9000
-
应用配置
nmcli connection down <连接名称> && nmcli connection up <连接名称>
-
验证配置
ip link show <网卡名称> | grep mtu
或
nmcli device show <网卡名称> | grep MTU
注意:
- 若需持久化配置,必须通过nmcli修改
- MTU值需匹配网络环境(如云平台VPC、物理交换机配置)
- 巨型帧(jumbo frame)建议设为9000
在Rocky Linux 9中通过nmcli
配置MTU值的实践步骤如下:
-
确认当前连接信息:
nmcli connection show ip link show <接口名> # 查看当前MTU
记录需修改的Connection Name(如ens192)及原MTU值。
-
修改MTU值:
nmcli connection modify <CONNECTION_NAME> 802-3-ethernet.mtu 9000
需替换为实际连接名和目标MTU(如9000为Jumbo Frame场景)。
-
应用配置:
nmcli connection down <CONNECTION_NAME> nmcli connection up <CONNECTION_NAME>
或直接使用
nmcli c reload
重载配置。
经验与挑战:
- 硬件兼容性:某些网卡(如部分1Gbe旧型号)不支持MTU超过1500,需通过
ethtool -k <接口名>
检查tcp-segmentation-offload
状态。 - 聚合接口陷阱:Bonding或Team场景需同时修改聚合接口及成员接口的MTU,否则会触发
Error: Connection activation failed
。 - 云环境限制:AWS/Azure虚拟机需在Hypervisor层开启Jumbo Frame支持,仅修改实例内配置会导致丢包。
- 防火墙干扰:Nftables/iptables规则若包含
tcpmss
模块(如-p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1460
),需同步调整MSS值避免MTU不匹配。 - 持久化验证:重启后需再次用
ip link
检查MTU,避免systemd-networkd等组件覆盖配置。
快速恢复方案:若配置后网络中断,通过ip link set dev <接口名> mtu 1500
临时恢复,再重新排查配置。
-
查看当前网络连接名称:
nmcli con show
-
修改指定连接的MTU值(示例连接名为ens192,MTU设为1500):
nmcli con mod ens192 802-3-ethernet.mtu 1500
-
重新激活网络连接:
nmcli con down ens192 && nmcli con up ens192
-
验证配置结果:
ip link show ens192 | grep mtu
推荐
热门问答
部分内容依据人工智能生成,仅供参考,可能有误请注意甄别