情况如下。我正在与之合作的这家小公司希望拥有冗余的互联网接入。他们从办公室运行大量服务 - 一个网站,POP + SMTP服务器,并使用VPN从家里访问网络共享。他们有2个独立的互联网连接来自2个ISP(一个是本地有线电视提供商,另一个是DSL)。如果他们的默认连接断开,他们会切换到备份。
不幸的是,他们现在已经设置好了,每次发生这种情况时都必须更改DNS记录,这意味着每次切换都会导致最多几个小时的停机时间。他们希望完全冗余,并且能够在没有停机的情况下在网络之间切换。怎么能实现呢?
是否可以在远程数据中心设置服务器,将DNS指向它并让网络流量转发到正确的IP?
如果这只是一个Web应用程序,我会设置一个基本服务器并使用301重定向或类似的东西。我真的不在乎每次是否必须手动切换,因为他们有一两个专门的IT人员可以做到这一点。但他们也需要以这种方式重定向他们的POP,SMTP和VPN流量。
所以它几乎就像负载平衡,但不是真的。是否存在可提供此功能的现有解决方案?你会如何提供这样的ISP冗余?
答案 0 :(得分:3)
上次我这样做时,我有自己的ASN,并向两个ISP发出BGP 宣布我自己的/ 24(你可以从任何ISP获得,或者也许 ARIN)。你可以沿着这条路走下去,但它有一点点设置。还有一个 随机有线/ DSL ISP可能不会与你一起设置。这样做 消除所有故障点并完全切换 透明的。
您还可以将DNS记录中的TTL降低到5分钟左右。这个 不会立即切换,但5分钟可能足够快。
否则,您当然可以在colo中使用远程服务器,但随后 当然,这成为单一的失败点。你有两个 选择如何重定向流量:
答案 1 :(得分:2)
我认为DynDns“自定义DNS”服务可能会对您的情况有所帮助 - 您的域名背后的IP可能会动态更新(许多路由器都内置支持它)。
更新: 为了减少停机时间,您可以创建一个简单的脚本,一次ping主ISP,如果失败,则将DynDNS更新为次要的(以相同的方式返回)。
答案 2 :(得分:2)
这有点晚了,但答案是循环DNS。使用两个IP地址1.1.1.1和2.2.2.2设置您的网络服务器(www.example.com)。当人们尝试访问www.example.com时,浏览器会自动随机尝试一个,如果第一个没有应答则切换到另一个,然后缓存结果直到浏览器关闭或连接再次失败。如果首先选择错误的IP地址,则不需要停机时间,并且只在第一次连接时出现短暂的昙花一现。
实际上,您甚至可以同时在两个IP地址上运行Web服务器;这被称为“超简单负载平衡”。
答案 3 :(得分:0)
您可以使用default-nexthop设置路线图。
这将处理传出流量而不是传入冗余,这将需要AS编号和至少为/ 24的块的BGP通知,因为ISP不会发布小于/ 24块的任何内容。