Linux 路由缓存似乎加载了过时的设置

Linux 路由缓存似乎加载了过时的设置

在 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 = 1sysctl 中的设置来禁用 PMTU 发现,但这并没有改变行为。

答案1

您是否已验证离开接口的数据包具有正确的 MTU?您是否确定其他设备没有更改和分割它们?

相关内容