缓存路由不反映路由表

时间:2014-03-06 23:40:01

标签: linux caching ip routes

Linux Ip路由缓存

在我的Ubuntu 12.04框中,我有一个公共IP地址的静态路由,以便它进入NAT盒。它按指定的方式工作并继续正常工作,除了最近路由将停止进入NAT盒并开始通过默认网关(IP可通过两者到达)。

路由表没有改变,它仍然反映静态路由,但是在查看缓存条目时,它显示默认路由,因为它是“下一跳”。运行#ip route flush cache会清除缓存并开始正确路由。最终缓存将开始引用默认网关,我需要再次刷新。

关于为什么会发生这种情况的任何想法?我认为NAT盒在某些时候变得不可接触,然后默认路由成为更好的选择,因此它开始使用它。但是,当盒子变得不可联系(没有接口问题)并且它们是同一子网的一部分时,我认为没有意义。如果提供的信息不足,很乐意提供进一步的信息或输出。

1 个答案:

答案 0 :(得分:0)

我们在工作中遇到同样的问题,并且很想知道您是否找到了这个PIMA的解决方案。

我们无法路由到一个子网上的某些主机,所以我们做了:

IP route delete 192.0.0.0/22 via 172.1.1.1

然后a:

Ip route add 192.0.0.0/22 via 172.1.1.1

我们还发现只需删除旧路由就可以解决问题。所以看起来路由表的任何更新都会刷新或更新表。

我不相信这是一个很好的解决方案或者应该长期使用的解决方案,但它可以在紧要关头工作。有没有人见过更好的方法或长期修复?