企业DNS的实施/devise考虑事项?

我在一个大型组织中工作(数千台服务器,数百个物理位置,在不远的将来会有几十个数据中心进行整合),正在考虑重新审视networking基础架构和服务器托pipe环境的许多方面。

我被要求提供input的一个领域是DNS实现。 我拥有的最大的牛肉是我们不支持水平分割或分割视图DNS。 面向Internet的设备被命名为host.example.com,而Intranet设备和pipe理界面被标记为host.example.customtld。 这给实施面向互联网和内联网的服务的人们带来了很大的悲痛。

SF社区有什么可以提供更多DNS的build议吗? 任何恐怖故事要避免? 创新的想法,节省了大量的工作?

你有没有考虑过任播DNS? 除其他外, 这个问题提供了更多的信息。 Anycast允许您从networking中的多个位置通告相同的IP前缀,并将客户端系统路由到(最靠近)服务的实例。

一些好处:

  • 所有客户端都可以使用相同的parsing器IP地址,而不pipe其物理位置。 这大大简化了configurationpipe理。
  • 可以自动提供故障转移/恢复能力; 如果您在DNS服务器正常工作并接受查询的情况下使路由广告有条件,则每当服务器发生故障时,其路由将自动撤销。 然后,客户端将被路由到下一个“最接近的”服务实例,而不需要任何重新configuration​​。
  • 任播也可以让你很容易横向扩展; 因为所有的客户端都可以定位相同的IP地址而不pipe位置,所以把一个新的在线服务器变得微不足道。

实施分割视图的DNS将会节省很多的痛苦(对于实施面向互联网和内联网的服务的人),从而为你工作。 使用BIND,设置起来很简单。

当然,如果你不运行BIND,那么它可能会更多的工作。

而如果说“你不能使用分裂观点”的权力,那么你就搞砸了。

您可能知道,对于每个域(或局域网或组织单位,或其他)至less有两台DNS服务器是很好的做法(有时也是必需的)。 人们普遍认为这两台服务器之一必须是“主”,其他服务器必须是“奴隶”。 如果您有多个局域网(或子域),并且每个局域网都有自己的一对DNS服务器,那么您将会尝试pipe理分散在您组织中的所有主服务器。

所以下面是提示:这两个DNS服务器中的一个必须是主服务器。 真正的要求是两者都应该是权威的 。 那不一样。

两个权威的服务器都是奴隶没有任何问题。 事实上,我经常这样做,即使是小的领域。 拥有权威的奴隶服务器让我可以做一些有趣的事情。

比方说,我有两个现有的DNS服务器(A和B),并希望将A的数据迁移到新的服务器C并摆脱A.下面是步骤:

  1. 将C设置为A的奴隶。它复制所有区域文件。 (或者你可以手动复制它们,如果你想保持你很好的格式。)
  2. 更新DHCP,以便客户端查询B和C.现在,您有两个从属服务器(B和C)对您的域具有权威性。
  3. 重新configurationC作为主。
  4. 从C重新configurationB到从属
  5. 让事情安顿一天左右。
  6. 在A上禁用DNS

另一个诀窍是只使用你的奴隶作为权威的服务器。 主服务器不被客户端使用,并且仅存在用于保存主区域文件。 从服务器从主服务器获取区域文件,这些文件可能藏在防火墙后面,以防止被篡改。 你可以有一个单一的主人,所有的奴隶(整个你的整个组织)从中吸引,消除了pipe理多个主人的pipe理开销。