使用 LVS(Linux 虚拟服务器)实现 DNS HA

使用 LVS(Linux 虚拟服务器)实现 DNS HA

我一直在尝试使用 CentOS 6.x 创建 LVS DNS HA:

  • Piranha GUI 用于配置 DNS
  • Pulse 是 CentOS LB 的高可用性核心
  • IPTables 用于在数据包上配置标记,因为 DNS 使用 TCP 和 UDP 53

几天后,我发现我无法弄清楚如何让它工作 - 我希望有人有可用的 lvs.cf 文件以及所有必要的 iptables 规则。或者有人已经使用了一些其他允许执行 DNS LB 的开源和免费软件(不是循环 DNS A 记录 - 这不是本练习的目的)。

如果有人已成功在 LVS 下使用池中两个或更多真实服务器创建命名 DNS,并且能够正常工作,我将非常感激能够发布配置:

  • lvs.cf
  • 放置 iptables 规则

我主要寻找的是直接服务器返回或 NAT - 两种解决方案对我来说都可以。

先感谢您。

吉姆。

答案1

您应该能够使用 DR 模式下的 LVS 轻松配置 DNS 负载平衡。我个人会使用董事而不是食人鱼(很旧而且有缺陷),但两者都应该可以工作。

就像您说的,您需要为正确的 TCP 和 UDP 端口配置防火墙标记,然后对所有标记到后端服务器的数据包进行负载平衡。我假设您不需要 DNS 持久性(无论如何对 UDP 不起作用)。

我认为你可能遗漏的步骤是允许后端服务器响应你发送的流量 - 通常称为 ARP 问题。如果你有 Windows 服务器,那么使用此方法。或者对于 Linux,最简单的方法是使用 iptables 重定向:

iptables -t nat -A PREROUTING -p tcp -d <VIP> -j REDIRECT

更详细的解释在第 21 页http://loadbalancer.org快速入门指南。

如果您需要任何帮助,请发布您的配置,我会查看。

相关内容