DNS基础架构概念问题

时间:2018-04-25 06:45:37

标签: dns bind powerdns

我写信给你是因为我的DNS基础设施存在概念问题.DNS。我的基础设施由DNS机器(递归或转发)和另一个根据客户端来源说明视图的授权组成(我们可以将其同化为绑定,即使不是这种情况)。这种Auhoritative机器不应该直接查询,但必须通过另一台机器。这里总结一下基础设施:

> Client Location 1     Client Location 2   Client Location 3
>               \           |           /
>               DNS Recursive ou Forwarding
>                           |           
>               DNS Authoratitve with 3 « views ».

我想到了解决这些问题的不同解决方案:

  • 在DNS递归(或转发)上创建不同的端口,每个端口包含一个DNS,该DNS对应于将查询授权DNS(从而识别源)的视图。但我发现这个解决方案相当丑陋,如果观看次数增加,这种解决方案会迅速增加。
  • 使用DNS扩展:EDNS转发客户端网络(但这似乎相当复杂)。

我想知道你是否有其他解决方案,如果不是最好的解决方案。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

第一种解决方案似乎并不可行,因为几乎无法从各种终端客户端操作系统中的默认DNS端口进行更改。您需要在单独的IP地址上使用单独的递归名称服务器,并且每个客户端都配置了需要使用的特定名称服务器。

第二种解决方案可以工作,它是ECS" EDNS客户端子网"功能,在RFC7871中描述,并在各种名称服务器中得到支持。例如,参见Bind:https://www.isc.org/wp-content/uploads/2017/04/ecs.pages.pdf

现在您确定需要此设置,或者这是实现目标的唯一方法吗?如你从解决方案中描述的那样提出其他想法是很困难的,但最初并不是你的问题,也不是你的约束。

例如,在某些情况下可以通过仅使用不同的域搜索列表配置每个客户端来解决。 client1后缀为client1.example.comclient2将为client2.example.com,依此类推。现在,只有一个标准的递归名称服务器和一个example.com的权威名称服务器,没有任何类型的扩展或复杂的设置,当client1尝试解析www时,它会(可能)得到不同的回复由于搜索列表不同,最后两个完全限定的域名确实不同(client2 vs www),因此www.client1.example.com也试图解析www.client2.example.com。这当然在很大程度上取决于每个客户端上运行的应用程序类型。

使用更简单的名称服务器(例如dnsmasq)也可能有所帮助,但您的空间问题再次定义不足以确定建议的内容。