我在 DNS 托管服务上为公司域(example.org
例如)提供了公共 DNS。我在办公室中拥有本地 DNS 服务器 (BIND),用于转发公共 DNS。在办公室中,我拥有在公共域中提供服务(Web、邮件等)的服务器,并且这些服务器还拥有本地 IP 地址。
我想通过服务器的本地 IP 地址从办公室访问公共域。
例如。在公共 DNS 中,我有 A 记录mail.example.org -> 110.28.34.48
,该记录应在本地 DNS 中转换为mail.example.org -> 192.168.15.2
。即,当办公室的客户端请求 的 IP 时mail.example.org
,本地 DNS 服务器 (BIND) 将从公共 DNS 请求此 IP,如果此 IP 在特殊列表(具有本地 IP 的服务器公共 IP 列表)中,则在答案中替换 IP。
有没有办法用 BIND 服务器中的多个 IP 来替换 DNS 应答中的 IP?
最好的方法是准确替换答案中的 IP,而不是在本地 DNS 上为本地 IP 生成公共区域。
答案1
您需要运行一个仅限内部的 DNS 服务器或类似服务器,您可以使用“views”设置绑定,如果请求来自某个 IP,则返回一组结果,但进行双 DNS 设置通常更简单,但如果外部 IP 发生变化,则需要维护两个区域
PFsense 防火墙具有出色的 DNS 转发功能,可让您根据需要仅覆盖单个 DNS A 记录,而不需要内部 DNS 服务器上存在完整的 DNS 区域
答案2
如果您使用 bind,它实际上有一个名为“视图”的功能,允许根据某些 ACL 分离信息。此链接提供详细信息: http://www.bind9.net/manual/bind/9.3.2/Bv9ARM.ch06.html#id2562349