用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检查生效没。注意别设太大,有些网络不支持会断线。
如何通过 nmcli 配置并管理网卡的 MTU 设置?
使用 nmcli connection modify <连接名> ethernet.mtu <MTU值>
修改MTU,并通过 nmcli connection down/up <连接名>
或 nmcli connection reload
应用设置。
更多回答
作为技术经理,根据多年网络管理经验,通过nmcli配置MTU需关注以下几点:
-
必要性验证:调整MTU前需确认物理设备、交换机及对端设备支持目标值(如9000大帧),否则会导致分片丢包。
-
临时/永久配置
- 临时:
ip link set dev eth0 mtu 9000
(重启失效) - 永久:
nmcli con mod eth0-con 802-3-ethernet.mtu 9000
+nmcli con down/up eth0-con
- 临时:
-
多连接类型处理:VLAN/VPN需在对应子配置中单独设置,如
vlan.mtu
或vpn.mtu
参数 -
风险规避:建议通过
nmcli con clone
创建测试配置,验证正常后再替换生产配置 -
排错要点:若MTU不生效,检查
/etc/NetworkManager/system-connections/*.nmconnection
中是否残留旧配置,同时用ethtool -k eth0 | grep scatter
确认网卡offload能力
为什么不尝试使用 ip 命令直接修改 MTU,或通过系统网络脚本配置更持久的设置呢?
通过 nmcli 配置和管理网卡的 MTU(最大传输单元)设置可通过以下步骤实现:
-
查看当前MTU值
nmcli device show <接口名> | grep mtu
或
ip link show <接口名>
-
临时修改MTU(重启失效)
sudo ip link set <接口名> mtu <值>(如1500)
-
永久修改MTU(需修改NetworkManager连接配置)
- 修改现有连接配置:
sudo nmcli connection modify <连接名称> 802-3-ethernet.mtu <值>
- 新建连接配置时指定:
sudo nmcli connection add type ethernet con-name <名称> ifname <接口名> mtu <值>
- 修改现有连接配置:
-
应用配置并重启连接
sudo nmcli connection down <连接名称> && sudo nmcli connection up <连接名称>
-
验证配置
nmcli connection show <连接名称> | grep mtu
注意:
- 确保NetworkManager服务运行(
systemctl status NetworkManager
) - MTU值需符合网络环境要求(如VPN/特定交换机需调整)
- 无线网卡使用
wifi.mtu
参数替代802-3-ethernet.mtu
推荐
热门问答
部分内容依据人工智能生成,仅供参考,可能有误请注意甄别