我有一个域名并通过提供商托管 Web 内容,因此在云中托管了 server.example.com。该提供商还管理我的 DNS。
现在我想在我的家庭服务器上运行 nextcloud(并将其公开到互联网),并且可以称为 cloud.example.com
我可以从家庭网络外部连接到 cloud.example.com,因为我设置了一个 DNS 条目来指向我的 ADSL IP 地址(静态)
我遇到的问题是在我的家庭 wifi 上,我需要连接到我的专用网络 (192.168.1.2) 上的 cloud.example.com,当我在这个 cloud.example.com 外部时,它指向我的公共 IP 。
是否可以在我的家庭网络上设置一个bind9服务器,以便我有一个cloud.example.com条目指向192.168.1.2,而所有其他条目(www.example.com和server.example.com)转发DNS请求到我的托管 NS。
答案1
由于您是域的所有者,最简单的解决方案是在 BIND 中设置域的所有记录并替换该 IP 地址,除非涉及动态 DNS。
但对于较大的组织,您通常不托管外部服务器,而是托管自己的 DNS 服务器,并且还设置两个供外部使用,一个或多个供内部使用,或者使用 BIND 视图设置多个。
另一个更复杂的设置是在 Linux 路由器中使用 iptables 设置 DNS 拦截,并将网络 DNS 请求提供给 dnsmask,将该名称/IP 添加到 /etc/hosts 并告诉 dnsmask 首先从主机文件中获取。
不过,我建议将 BIND 与您的区域副本一起使用,这样设置和调试会更容易。