具有不可靠连接的stream量路由

我有一组办公室,都通过远端的DSL链路连接到总部,以节省成本。 (我们是一个非营利组织,不要问)

在处理我们的远程站点的ISP和处理我们OpenVPN运行的T1线路的ISP之间的链接上,我们历史上存在着明显的问题,所以这些链接经常停下来。

我们的邮件服务器的公共接口是在第一个提供商的networking上,所以它工作得很好,但速度要慢得多,因为它也是DSL。

为解决上游networking不可靠性问题,我编写了一个脚本,只需修改远程站点上的DNSlogging,使其指向内部IP(如果隧道已启动)或公用IP(如果到主站点的VPN隧道已closures)。

我怎样才能以更优雅的方式做到这一点,而不是我的cron驱动的脚本,对用户是透明的?

编辑:远程办公室:Ubuntu 9.10 LTSP服务器运行各种供应商提供的Actiontecs和摩托罗拉和less数与Netgears和Linksys防火墙。 总部:几乎100%的Linux(在这种情况下是CentOS),带有多个Netgear FVS318 / 338系列防火墙,在我们的/ 27上为每个IP使用单独的防火墙。 (另一个不问,那是我来之前)

OpenVPN应该能够在创build和终止隧道时执行命令。 而不是让这个工作在一个cron中运行,你可以让这些事件触发DNSlogging混洗。 然后,您只需要监视不可靠链接上的某些内容即可知道何时重新启动VPN通道。

这取决于你的预算。 思科(和其他人)的IP SLA就是这样做的。 这是一个很好的起点

你也许可以把这个关掉。 我假设你的用户DNS指向你的远程站点的路由器。 在您的远程站点的路由器,您可以添加您的第一提供商的主DNS和第二提供商的第二DNS。 现在大多数路由器都足够聪明,一旦主服务器出现故障,就无法通过辅助服务器。

编辑:要公平取决于你的DSL你可以find一个二十美元的使用思科路由器。 由于IP SLA自12.3(14)T起支持