33.4.2. 在现有 NetworkManager 连接配置文件中配置 MTU
如果您的网络需要与默认值不同的最大传输单元(MTU),您可以在相应的 NetworkManager 连接配置文件中配置此设置。
巨型帧是,有效负载为 1500 到 9000 字节的网络数据包。同一广播域中的所有设备都必须支持这些帧。
先决条件
- 广播域中的所有设备都使用同样的 MTU。
- 您了解网络的 MTU。
- 您已为具有发散 MTU 的网络配置了连接配置文件。
流程
可选:显示当前的 MTU:
# ip link show ... 3: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:74:79:56 brd ff:ff:ff:ff:ff:ff ...可选:显示 NetworkManager 连接配置文件:
# nmcli connection show NAME UUID TYPE DEVICE Example f2f33f29-bb5c-3a07-9069-be72eaec3ecf ethernet enp1s0 ...在管理到带有分散 MTU 的网络的连接的配置文件中设置 MTU:
# nmcli connection modify Example mtu 9000重新激活连接:
# nmcli connection up Example
验证
显示 MTU 设置:
# ip link show ... 3: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:74:79:56 brd ff:ff:ff:ff:ff:ff ...验证传输路径上的主机没有对数据包进行碎片处理:
在接收方一侧,显示内核的 IP 重组统计信息:
# nstat -az IpReasm* #kernel IpReasmTimeout 0 0.0 IpReasmReqds 0 0.0 IpReasmOKs 0 0.0 IpReasmFails 0 0.0如果计数器返回
0,则数据包不会重组。在发送方一侧,使用 prohibit-fragmentation-bit 传输 ICMP 请求:
# ping -c1 -Mdo -s 8972 destination_host如果命令成功,则不会对数据包进行碎片处理。
按如下所示计算
-s数据包大小选项的值:MTU size - 8 字节 ICMP 标头 - 20 字节 IPv4 header = 数据包大小