我写信给你是因为我的DNS基础设施存在概念问题.DNS。我的基础设施由DNS机器(递归或转发)和另一个根据客户端来源说明视图的授权组成(我们可以将其同化为绑定,即使不是这种情况)。这种Auhoritative机器不应该直接查询,但必须通过另一台机器。这里总结一下基础设施:
> Client Location 1 Client Location 2 Client Location 3
> \ | /
> DNS Recursive ou Forwarding
> |
> DNS Authoratitve with 3 « views ».
我想到了解决这些问题的不同解决方案:
我想知道你是否有其他解决方案,如果不是最好的解决方案。 提前谢谢!
答案 0 :(得分:0)
第一种解决方案似乎并不可行,因为几乎无法从各种终端客户端操作系统中的默认DNS端口进行更改。您需要在单独的IP地址上使用单独的递归名称服务器,并且每个客户端都配置了需要使用的特定名称服务器。
第二种解决方案可以工作,它是ECS" EDNS客户端子网"功能,在RFC7871中描述,并在各种名称服务器中得到支持。例如,参见Bind:https://www.isc.org/wp-content/uploads/2017/04/ecs.pages.pdf
现在您确定需要此设置,或者这是实现目标的唯一方法吗?如你从解决方案中描述的那样提出其他想法是很困难的,但最初并不是你的问题,也不是你的约束。
例如,在某些情况下可以通过仅使用不同的域搜索列表配置每个客户端来解决。 client1
后缀为client1.example.com
,client2
将为client2.example.com
,依此类推。现在,只有一个标准的递归名称服务器和一个example.com
的权威名称服务器,没有任何类型的扩展或复杂的设置,当client1
尝试解析www
时,它会(可能)得到不同的回复由于搜索列表不同,最后两个完全限定的域名确实不同(client2
vs www
),因此www.client1.example.com
也试图解析www.client2.example.com
。这当然在很大程度上取决于每个客户端上运行的应用程序类型。
使用更简单的名称服务器(例如dnsmasq
)也可能有所帮助,但您的空间问题再次定义不足以确定建议的内容。