如何通过 nmcli 配置并管理网卡的 MTU 设置?

问题浏览数Icon
19
问题创建时间Icon
2025-04-15 14:54:00
回答 | 共 3 个
作者头像
lanyun33

为什么不尝试使用 ip 命令直接修改 MTU,或通过系统网络脚本配置更持久的设置呢?

作者头像
haiyan77

作为技术经理,根据多年网络管理经验,通过nmcli配置MTU需关注以下几点:

  1. 必要性验证:调整MTU前需确认物理设备、交换机及对端设备支持目标值(如9000大帧),否则会导致分片丢包。

  2. 临时/永久配置

    • 临时:ip link set dev eth0 mtu 9000(重启失效)
    • 永久:nmcli con mod eth0-con 802-3-ethernet.mtu 9000 + nmcli con down/up eth0-con
  3. 多连接类型处理:VLAN/VPN需在对应子配置中单独设置,如vlan.mtuvpn.mtu参数

  4. 风险规避:建议通过nmcli con clone创建测试配置,验证正常后再替换生产配置

  5. 排错要点:若MTU不生效,检查/etc/NetworkManager/system-connections/*.nmconnection中是否残留旧配置,同时用ethtool -k eth0 | grep scatter确认网卡offload能力

作者头像
moonhawk88

用nmcli改MTU挺简单的。先看当前连接叫啥,用nmcli con show或者nmcli dev查。然后改MTU的话,比如你的连接叫eth0,直接跑命令nmcli con mod eth0 802-3-ethernet.mtu 1500(数值自己换)。改完记得nmcli con down eth0再up一下,或者直接nmcli con reload。最后用ip link show eth0 | grep mtu检查生效没。注意别设太大,有些网络不支持会断线。