如何在 Rocky Linux 9 中查看并管理网络接口的 MTU 设置?

问题浏览数Icon
53
问题创建时间Icon
2025-04-01 08:02:00
作者头像
milkblue77

在Rocky Linux 9中管理网络接口的MTU(Maximum Transmission Unit)需结合命令行工具与配置文件操作。以下是系统化方案:

  1. 查看当前MTU

    • 使用 ip link show <接口名>(如 ip link show eth0),输出中mtu字段即当前值。
    • 或通过 nmcli connection show 查看NetworkManager管理的连接属性。
  2. 临时修改MTU

    • 执行 sudo ip link set <接口名> mtu <值>(如 ip link set eth0 mtu 9000),重启失效。
  3. 永久配置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)。
  4. 验证与排错

    • 通过 ping -M do -s <数据包大小> <目标IP> 测试MTU限制(总包大小=值+28字节IP头)。
    • 若使用Jumbo Frame,需确保交换机及终端设备MTU一致。

注:MTU值需适配网络环境(如云服务器通常限制为1500),过度调大可能导致分片传输效率下降。

更多回答

作者头像
lingyun520

使用 ip link show 查看当前MTU,通过 nmcli connection modify <接口名> 802-3-ethernet.mtu <数值> 修改并重启网络服务生效。

作者头像
yunfei88

在Rocky Linux 9中管理网络接口的MTU(Maximum Transmission Unit)是优化网络性能的重要环节。以下是基于经验的实践方法:

  1. 查看当前MTU

    • 使用 ip addr showip link show <接口名> 查看接口的当前MTU值。
    • 通过 ethtool <接口名> 检查是否支持动态MTU调整。
  2. 临时修改MTU(重启失效)

    • sudo ip link set <接口名> mtu <值>(如 sudo ip link set eth0 mtu 9000
  3. 永久修改MTU

    • NetworkManager方式
      sudo nmcli connection modify <连接名> 802-3-ethernet.mtu <值>
      sudo nmcli connection up <连接名>
    • 手动配置文件: 编辑 /etc/NetworkManager/system-connections/<连接名>.nmconnection,在 [ethernet] 段添加 mtu=<值>
  4. 验证与排错

    • 修改后务必用 ip addr show 二次确认。
    • 大MTU(如9000)需确保网络设备(交换机/路由器)支持Jumbo Frame。
    • 遇到丢包时可尝试 ping -s <包大小> <目标IP> 测试MTU兼容性。

注:生产环境中建议先在非关键接口测试,避免因MTU不匹配导致网络中断。云服务器需注意底层虚拟化可能强制限制MTU(如AWS默认为9001)。

作者头像
smalljohn99

在Rocky Linux 9中查看网络接口MTU可通过ip linknmcli 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。