我想知道是否可以设置局域网域名,例如,如果我请求 local-server.org,dns 服务器会自动将我发送到 192.168.1.111(如果互联网上确实有一个 local-server.org,它将“接管”)。我想象我会通过 bind(确切地说是 bind9)来做到这一点,但不幸的是,我不知道如何去做
答案1
是的,这是可能的,而且人们/组织一直都在这样做。
在执行此操作时,您需要计划的是,将指向私有地址空间的答案提供给私有网络之外的人员是没有用的,因此您需要一种机制来防止这些答案被提供给进行查询的任何人。
BIND 9 有一种称为“视图”的机制,允许您使用一组答案来响应一组客户端的查询,并使用另一组答案来响应其他客户端的查询。它几乎就是为您想要做的事情而设计的。
大多数人在您的情况下会设置两个视图,即“内部”和“外部”,以及地址匹配列表以匹配相应的视图。然后,他们根据查询客户端匹配的地址匹配列表有选择地提供答案 - 在您的例子中,您可能会设置,以便来自 192.168.0.0/16 中的源地址的查询接收来自为“内部”视图配置的区域数据的答案,其他人接收“外部”视图。
有关视图声明语句和地址匹配列表语法的信息可以在 BIND 9 管理员参考手册中找到,该手册以电子形式随 BIND 源一起分发(也可以在线找到http://www.isc.org/software/bind/documentation)