Linux机箱WAN故障安全configuration

好的,我有一个有线广域网和GPRS调制解调器的Linux机箱(或者说,另一个广域网连接通常是closures的)。

是否有任何选项可以使第二个链接(GMPR /以太网/其他)作为仅在主链路工作不正常时才使用的备份连接?

我可以简单地通过在互联网上ping指定的服务器来检测主链接的状态(重要的是它不能成为网关,因为有时网关是可达的,但其余的互联网不是…)。

进一步的 – 我可以在一些bash脚本中编写这个testing来定期testing连接,并在主连接断开时切换到备份链接。 但是,当更改 – 默认路由更改为第二个连接,我不能检查后台,如果主链路仍然closures…

所以 – 有没有解决scheme为所有的应用程序设置默认路由备份链接,仍然能够通过主链路路由ping? 是什么让它更复杂我不能把静态路由testing服务器总是通过主链接,因为那些“应用程序”在服务器上运行也试图连接到这台服务器,我希望他们使用备份链接时,主要是closures…

在Linksys RV042双WAN路由器上看到类似的东西。 它可以监视主要连接(当二级停机时),当主机closures时 – 它使用二级链路,但是当主机重新启动时,二级被禁用,所有的stream量都通过主链路重新引导。

我有一个与我们的有线电视提供商类似的问题 – 网关可能是可达的,但其余的互联网不是。 我使用traceroute在提供商networking的边缘find一个pingable主机作为ping的testing主机。 您也可以通过查找主机作为pingtesting目标/静态路由候选。

使用策略路由,您可以使用不同的路由表,这取决于iptables中设置的标记[fwmark]。 你可以为相同的主机设置不同的标记,但不同的端口号[也许你可以在目标服务器上的不同端口上运行几个testing服务] …

或者你可以设置静态路由到你的目标服务器的几个邻居IP地址?

看看lartc的更多信息。

select一些你从来不需要通过备份链接访问的服务器。 它可能是网关之后跟踪路由中的下一跳(无论如何你都不曾经跟路由器通信)。 或者只是一个你从来没有使用的GPRS服务(例如stream媒体video)。 通过第一个链接创build到该服务器的静态路由。

如果您对用于防火墙/路由的软件具有灵活性,则可以尝试使用Shorewall设置,例如: http : //www.shorewall.net/MultiISP.html

我举个例子,因为这是我个人使用的,所以检查你的首选netfilterconfiguration工具,或其他防火墙/路由应用程序是否支持MultiISPfunction。

使用列出的LSM软件包,您可以定义对链路up / down事件采取的操作。 所以当你的主链路断开的时候,你可以执行一系列的命令,在stream量被路由到它之前,把你的第二个链路连接起来。

至于在上面的设置中正确的ping数据包路由到您的testing服务器,请参阅#Applications定位点处的应用程序部分。 (我会直接链接,但我只限于一个url)

由于Shorewall是较低级别工具的前端,因此,如果这更符合您的需求,您应该能够直接实现所做的任何操作。 除了默认路由表之外,您还可以基于子表进行路由,并且可以使用fwmarks将数据包定向到这些子表。

例如,在我的'ip route ls'中我有:

10000: from all fwmark 0x100 lookup DSL 10001: from all fwmark 0x200 lookup WifiNet 

这实际上很简单。

假设ISP1是主要的,ISP2是备份。

1.1.1.1是ISP1网关的IP地址。

2.2.2.2是ISP2网关的IP地址。

9.9.9.9是ISP1可达的IP地址,用来检测ISP1是否掉线。

首先,除了主表以外,还需要另一个路由表。 我们使用表10。

将ISP1网关IP地址的默认网关添加到表10中,如下所示:

 # ip route add default via 1.1.1.1 table 10 

并在路由策略数据库(RPDB)中添加一条规则:

 # ip rule add to 9.9.9.9 table 10 

您可以validation:

 # ip route list table 10 # ip rule list 

现在,您可以编写一个脚本来检测ping到9.9.9.9是否失败,并相应地更改默认网关。 当ping到9.9.9.9失败时,您的脚本应该更改默认网关,以便将stream量路由到备份链接。 但是,由于我们刚添加的规则和表格,到9.9.9.9的ping(或任何stream量)仍将通过主链路进行路由。

您可以通过更改默认网关(通过使用route del default && route add default gw 2.2.2.2 )和tracroute来testing到9.9.9.9