我已经建立了对等私有网络并在它们之间建立了工作路由,但没有我所知道的或可以轻松配置的 DNS 转发。我需要一台本地 Linux 机器来解析来自其他域的 FQDN。例如
- 域 A——myprivate.local,名称服务器 10.1.1.1
- 域 B——myother.com,名称服务器 100.1.1.1
我自动生成的resolv.conf文件如下:
nameserver 10.1.1.1
nameserver 100.1.1.1
.. 但这不能解决 host1.myother.com,即
nslookup host1.myother.com
我的 resolv.conf 应该是什么样子?提前感谢您的帮助
答案1
你的做法是错误的。名称服务器(解析器)应该能够解析所有查询。目前,你的所有查询都已解析,10.1.1.1
并且它给出了有效的响应(DNS 不存在)
要执行您的建议,您需要第三个 DNS 服务器(我假设在 127.0.0.1 上运行)。第三个 DNS 服务器还可能forward
myprivate.local
将其他请求转发到其他地方10.1.1.1
forward
myother.com
100.1.1.1
注意.local
是为自分配和多播地址保留的域,我认为它是 RFC8244,我认为它与 169.254 IP 地址是相同的 RFC,真的不应该通过传统的 DNS 服务器来解析
- - 编辑 - -
如果你看一下https://unix.stackexchange.com/questions/589349/dnsmasq-config-forwarding-queries-for-domain-net-but-keeping-local-domain-net-qu您将看到其他人如何使用 dnsmasq(在大多数 Linux 发行版中非常常见)以我上面描述的方式转发请求。如果您希望特定域转到一个 DNS 服务器,而其他所有域转到另一个 DNS 服务器,那么您只需要一个覆盖。希望这有助于为您提供一个可行的示例