我对 DNS 不太熟悉,我有一个 DNS 服务器,它处理我们所有的内部 DNS 条目,并且一切正常。但是,我们现在有一个软件包,它指向一个“公开”存在的主机,但是我们应该使用不同的 IP 来访问此服务器。我可以将条目放入本地计算机的主机文件中,软件就可以运行,但这种情况在很多系统上都会发生,我不希望到处都有过时的主机文件。
如果我在我们的 DNS 上创建一个新区域来处理此域,我可以通过输入记录来使软件工作,但是由于我没有它们的记录,因此该域上的所有其他主机都会中断。(例如,www 条目不存在,因此访问公共网站会导致找不到主机)。
因此,我想在我们的 DNS 中为我无法控制/授权的区域添加一两个条目,并让其在内部为这些条目提供服务,但将其他所有内容转发出去。
答案1
您可以执行以下操作。设置一个在 127.0.0.1:5353 上运行的 DNS 服务器,解析您想要的条目。在此之前,您可以使用 DNS 缓存 fe dnsmasq。在 dnsmasq 中您可以执行以下操作:
server=/domain.tld/203.0.113.1
server=/host1.domain.tld/127.0.0.1#5353
server=/host2.domain.tld/127.0.0.1#5353
这应该将对 host1 和 host2 的查询定向到本地实例,并将对同一域的所有其他查询定向到 203.0.113.1(代表您的提供商的 DNS 解析器),所有其他查询都将转发到 /etc/resolv.conf 中配置的服务器。
韋斯
答案2
您可以为 FQDN 添加一个区域(例如 host1.donain.tld),这样对 *.host1.domain.tld 以外的任何内容的查询都将转到原始权威 DNS 服务器。虽然不完美,但可以正常工作。