Linux/bsd 上的网关状态检查方法

Linux/bsd 上的网关状态检查方法

我想知道是否有任何可靠的工具可以使用(与我的网络配置集成)来监视网关的状态并在检测到主网关已死时切换默认网关?

基于 ping 的检查有多可靠?还有其他方法可以达到相同的结果吗?如果有的话,您使用什么方法?

这基本上是为了实现“高可用性”互联网共享 - 办公室网关同时连接到两个 ISP,当另一个 ISP 出现故障时自动切换为活动 ISP。

编辑:

我正在寻找一个可靠的、可能不基于 ping 的解决方案软件。

答案1

好的方法是在网络端执行此操作,两个路由器使用 HSRP 共享相同的 IP。这样,如果一个路由器或一个链接发生故障,第二个路由器将采用第一个路由器的 IP(这是基本解释)。这样,您就可以确保您的计算机的默认网关可以正常工作。现在,如果您真的想要一个服务器端的解决方案,我想我会在互联网上 ping 一些东西(如 Dave Cheney 所说的 IPS dns 服务器,但也可能是像 google 和 yahoo 这样的知名网站),并且还会使用 tcpdump/ethereal 检查我是否从互联网收到数据包。因为出于某种原因,ICMP 无法回复,但链接可能处于良好状态,因此您可能会在服务器以太网卡上看到传入数据(来自互联网)。

编辑:正如您所添加的“我正在寻找一种可靠的、可能不基于 ping 的解决方案软件。”。如果可能的话,我建议使用 SNMP 监控两个路由器。如果您告诉我们使用的是哪种路由器、您是否可以访问它们等等,这将很有帮助。

答案2

据我所知,HSRP 不是一个选项,因为这必须在两个 ISP 之间进行配置。由于他们不会这样做,我认为您必须使用检测故障路由的脚本进行“自动故障转移”。例如freebsddiary 成功故事

为什么 ping 不能满足您的要求?在我看来,这是基于 IP 的最低级的连接测试工具。

答案3

您可以尝试 ping 上行路由,或者 ISP 的名称服务器。

这不是万无一失的,链路上的高争用可能会触发故障转移。如果您的路由器可以直接支持 ADSL 接口,那么最好的方法是将其与链路级故障转移相结合。

相关内容