![内部网络和互联网的本地 DNS 服务器](https://linux22.com/image/1479680/%E5%86%85%E9%83%A8%E7%BD%91%E7%BB%9C%E5%92%8C%E4%BA%92%E8%81%94%E7%BD%91%E7%9A%84%E6%9C%AC%E5%9C%B0%20DNS%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我在工作时使用 OSX,连接到内部网络 (en0) 和互联网 (en2)。我编写了一个脚本来更改路由表,以便只有某些子网上的流量路由到 en0,其余流量路由到 en2。问题是我必须将内部网络的 DNS 服务器设置为主 DNS 服务器才能解析内部主机名。
我的目标是配置一个本地 DNS 服务器,该服务器主要向我的 ISP 的 DNS 服务器递归询问,如果无法解析,则向内部网络的 DNS 服务器询问。
你能推荐一款简约的软件吗?谢谢
答案1
我安装了 dnsmasq 并对其进行了如下配置:
listen-address=127.0.0.1
bind-interfaces
cache-size=10000
no-poll
domain=<domain-of-local-network>
expand-hosts
server=/<domain-of-local-network>/<local-network-dns-server>
server=/<subnet1-from-local-network>.in-addr.arpa/<local-network-dns-server>
server=/<subnet2-from-local-network>.in-addr.arpa/<local-network-dns-server>
..
..
server=/<subnetN-from-local-network>.in-addr.arpa/<local-network-dns-server>
server=<dns-to-resolve-internet-dns-names>
我更改了这个问题的标题,因为递归 DNS 服务器不是必需的。