我想我想知道类似的事情我可以为某些主机创建 DNS 记录,将同一域中的其他查询委托给另一个 DNS 服务器吗?,但我希望通过 BIND 获得不同的答案。
基本上,我已经有home.mydomain.tld
一个公共 A 记录,它是动态更新的。我想知道是否有某种方法可以在不覆盖它的情况下在我的家庭网络内简单地为该域提供本地服务。真的,只是本地 AAAA 记录。A 记录希望来自我的路由器的 DNS/DHCP 服务器;它还不够智能,无法了解 IPv6。
如果没有的话,我想我可以偶尔半自动地填充 A 记录,但如果可以避免这样做,我愿意尝试一下。
答案1
听起来您有一个公共区域,home.mydomain.tld
并且想要为、、等创建内部PC.home.mydomain.tld
记录?TV.home.mydomain.tld
refrigerator.home.mydomain.tld
我能想到的唯一不侵犯home.mydomain.tld
域名的简单方法就是创建x.home.mydomain.tld
并将所有内容放在该区域下,该区域由您的本地名称服务器提供服务。
你可以为上述每台 PC、电视、冰箱等创建一个单独的区域,并让您的本地名称服务器仅对这些单独的位具有权威性,但这意味着大量的单入口区域文件(YUCK!)。
还要注意,你创建的任何本地区域都会覆盖并覆盖任何外部 DNS 服务器的区域:不可能有pc.home.mydomain.tld
来自一个 NS 的 A 记录和来自另一个 NS 的 AAAA 记录:DNS 通过以下方式委托和声明权限:区域名称,并且该权力是全部该区域内的记录类型。
如果名称服务器被告知它对某项内容具有权威性但找不到记录,它不会将查询转发到 DNS 树,而只会返回NXDOMAIN
。
答案2
当然可以。区域顶点以下的命名空间中的任何节点都可以作为委托点。
澄清你的问题:对于互联网的其他部分,例如:
;; pioto.org. zone
@ IN A 66.39.110.116
newpair IN A 66.39.110.116
creandus IN A 66.39.110.116
但是在您的 LAN 上,由于您对所有这些 20 世纪 90 年代的创新感到非常兴奋,并希望开始尝试它们,因此您希望拥有:
;; pioto.org. zone
@ IN A 192.168.100.1
@ IN AAAA FEC0:0100::1
newpair IN A 192.168.100.2
newpair IN AAAA FEC0:0100::2
_http._tcp IN SRV 10 10 80 @
_http._tcp.newpair IN SRV 10 10 80 newpair
这是一个简单的练习水平分割DNS 服务。使用第二组数据配置内部内容 DNS 服务器,并使用具有适当分离的服务器或视图的存根区域,以适当的方式执行修剪和嫁接操作。
让外部 DNS 数据库的部分内容在内部可见(通过适当分离的内容和代理服务器),这是在内容服务器上进行委派的简单练习:
;; pioto.org. zone, continued
creandus IN NS NS1.PAIRNIC.COM.
creandus IN NS NS2.PAIRNIC.COM.
如果您的路由器上有一个组合的 DHCP 加内容 DNS 服务,该服务知道租用的 IP 地址和主机名,或者如果您的 Windows Server 计算机上有 Microsoft 的 DNS 和 DHCP 服务器,那么从组合服务器获取 IP 地址也是委派的一种练习:
;; pioto.org. zone, modified
newpair IN NS a.ns.newpair ;; replaces the A and AAAA records
a.ns.newpair IN A 192.168.1.1 ;; IP address of the DHCP+DNS server
您唯一不能做的事情是……
- … 使用外部数据
pioto.org.
。区域顶点不能被委托。 - …从不同的内容 DNS 服务器检索
A
和资源记录。AAAA
进一步阅读
- 乔纳森·德·博因·波拉德(2002、2003)。提供“水平分割”DNS服务。. 常见问题答案。
- 乔纳森·德·博因·波拉德(2000,2004,2007)。 “内容”和“代理”DNS 服务器. 常见问题答案。
- 乔纳森·德·博因·波拉德(2003年)。您忘记用数据填充“内部”DNS数据库。. 常见问题答案。