内部 DNS 服务器覆盖某些查找

内部 DNS 服务器覆盖某些查找

我家里有几台不同的服务器。有些暴露在外面,我为家里的东西设置了一个域名。假设这是myhome.mydomain.com。我还设置了一个通配符 DNS *.myhome.mydomain.com,指向同一台服务器(两者都是指向我路由器内置 DDNS 功能的 CNAME 记录)。

从外部看,这运行正常。但从内部看,有些东西出了问题。我猜这与从内到外再到内的路由有关...所以在我看来,我的选择是要么找出路由中断的原因,要么设置一个内部 DNS 服务器以指向myhome.mydomain.com此服务器的内部 IP,然后将其余部分转发到我的 ISP 的 DNS 或 Google 或 OpenDNS 等。

如何设置此内部 DNS 服务器?我还希望它响应通配符,因为我的计划是在所有我希望最终向外部公开的服务前面设置一个 nginx 代理。

答案1

外部部分已经好了。以下步骤是启用内部DNS服务器。

在本地 Linux 机器上设置 dnsmasq。

将其设置为监听连接到您的 LAN 的接口。

设置一些外部 DNS /etc/resolv.conf(或配置自定义解析文件并在其中添加 DNS 服务器)。这些 DNS 服务器将用于解析 dnsmasq 无法使用其配置文件或 /etc/hosts 内容解析的任何内容。

然后:

  • 如果您希望 *.myhome.mydomain.com 解析为单个内部 IP,请添加:

    address=/.myhome.mydomain.com/YOUR.IP.ADD.RESS
    

    在 dnsmasq 的配置文件中(通常/etc/dnsmasq.conf

  • /etc/hosts使用以下格式添加您希望通过 dnsmasq 解析的其他主机:

    192.168.1.x name1.myhome.mydomain.com
    192.168.1.y name2.myhome.mydomain.com
    192.168.1.z name3.otherdomain.com 
    

将您的盒子 IP 地址设置为本地网络的 DNS。

相关内容