我使用 Linkproof 设备进行传入负载平衡,其基础是基于 dns。例如,我的 linkprrof 有 3 个 isp 链接....它还充当我的站点的 dns 服务器...因此,当有人使用我的 dns 名称连接我时,我的 linkprrof 会为他们提供来自 3 个 isp 的 IP,无论哪个响应速度快。
那么,是否存在任何同类的基于 DNS 的传入负载平衡的开源解决方案???
萨希尔
答案1
Bind 可以自行执行简单的循环负载平衡,但不会检查服务器的响应时间。要做到这一点,您必须选择某种性能测量(例如延迟),然后重写区域文件或使用命令rrset-order
告诉它以何种顺序传递记录。
无论如何,DNS 负载平衡远非完美解决方案,尤其是对于高 TTL 的情况。通常发生的情况是,大型 ISP 的 DNS 服务器缓存您的回复,然后该 ISP 的大多数客户端都会访问该回复中的第一个 IP。为了避免这种情况,您可以设置 TTL 0 以禁用缓存,但您的 DNS 服务器将受到重击...
有关使用 bind 进行 DNS 负载平衡的更多信息,请查看http://www.zytrax.com/books/dns/ch9/rr.html(它不是最新的,是为 9.3.0 编写的,bind 现在为 9.7.0,但应该可以让您了解如何使用 bind 来执行此操作)
答案2
我以前使用 LinkProof,现在我使用多个 ttl=0 的 dns(带复制的 Mydns)和一个脚本来检查每个网络链接。当主链接断开时,脚本会更新 dns 记录(入站流量)并更改防火墙规则(出站流量)。