在 SLES 11 SP3(内核 3.0.101-0.46)上,我看到以下路由行为:
当我通过 设置路由特定的 MTU 一次时ip route change ... mtu lock 1500
,一切都按预期工作(在配置了 MTU 9000 的设备上设置 1500 的 MTU)。然后我将路由更改回初始设置(使用mtu lock 9000
或根本不设置 mtu),执行ip route flush cache
,验证是否已使用 清除缓存ip route show cache
。
当我 ping 相应子网中的主机时,旧的路由设置mtu lock 1500
将被加载到缓存中,即使缓存已被清除(如前所述)并ip route show
显示带有 mtu 9000 的更新路由。
我也尝试通过net.ipv4.ip_no_pmtu_disc = 1
sysctl 中的设置来禁用 PMTU 发现,但这并没有改变行为。
答案1
您是否已验证离开接口的数据包具有正确的 MTU?您是否确定其他设备没有更改和分割它们?