我正在开展一个项目,在子网为 255.255.252.0 的网络上设置 Bind9 DNS 服务器。
目前,它的设置方式使得无法在网关为 192.168.1.1/22 的 192.168.0.0/22 网络上从 192.168.1.101/22 到 ns1 @ 192.168.1.61/22 运行 nslookup。不要问我为什么从 192.168.1.1 而不是 192.168.0.1 开始寻址。我就是这么做的。连续输入两个 1 更容易,但需要额外的地址空间。我将我的 dhcp wifi 客户端放在 .2.1-255 范围内,并在 .3.1-255 范围内运行 vms。关键是 Bind 似乎认为所有地址 @ 192.168.1.0-255 都来自单独的 /24 区域。
这值得质疑,0.168.192. 反向区域在 Bind 中默认看起来像 /24 子网吗?168.192. 反向区域呢?它们都是 Bind 的 /16 区域吗?
这又让我回到最初的问题。
尽管我的 Bind 配置中存在所有错误,但如果我知道应该怎么做才能具体修复它们,那我就很有必要了,但我该如何实现我想要做的事情呢?
如何对 Bind 进行编程以托管 /22、/21 或任何非标准比特区域?
这是我的原始反向区域文件。
$ttl 38400
0/22.0.168.192.in-addr.arpa. IN SOA ns.fqdn.com. user.emai.com. (
1489024990
10800
3600
604800
38400 )
61.1.168.192.in-addr.arpa. IN NS ns.fqdn.com.
61.1.168.192.in-addr.arpa. IN PTR ns.fqdn.com.
1.1.168.192.in-addr.arpa. IN PTR fw.fqdn.com.
62.1.168.192.in-addr.arpa. IN PTR ws.fqdn.com.
63.1.168.192.in-addr.arpa. IN PTR multi.fqdn.com.
25.1.168.192.in-addr.arpa. IN PTR fs.fqdn.com.
110.1.168.192.in-addr.arpa. IN PTR thncl.fqdn.com.
在 BIND 配置文件 /etc/bind/named.conf 或引用的区域文件中发现以下错误。
zone fqdn.com/IN: NS 'fqdn.com' has no address records (A or AAAA)
zone fqdn.com/IN: not loaded due to errors.
_default/fqdn.com/IN: bad zone
/var/lib/bind/192.168.0.rev:2: SOA record not at top of zone (0/22.0.168.192.in-addr.arpa)
/var/lib/bind/192.168.0.rev:9: ignoring out-of-zone data (61.1.168.192.in-addr.arpa)
/var/lib/bind/192.168.0.rev:10: ignoring out-of-zone data (1.1.168.192.in-addr.arpa)
/var/lib/bind/192.168.0.rev:11: ignoring out-of-zone data (62.168.192.in-addr.arpa)
/var/lib/bind/192.168.0.rev:12: ignoring out-of-zone data (63.1.168.192.in-addr.arpa)
/var/lib/bind/192.168.0.rev:13: ignoring out-of-zone data (25.1.168.192.in-addr.arpa)
/var/lib/bind/192.168.0.rev:14: ignoring out-of-zone data (110.1.168.192.in-addr.arpa)
zone 0.168.192.in-addr.arpa/IN: loading from master file /var/lib/bind/192.168.0.rev failed: not at top of zone
zone 0.168.192.in-addr.arpa/IN: not loaded due to errors.
_default/0.168.192.in-addr.arpa/IN: not at top of zone
话虽如此,我唯一能想到的就是将区域扩展为 168.192。区域并放置一个限制查找到 /22 子网的 ACL,同时使区域文件保持扩展和打开。
非常感谢任何帮助,服务器伙伴们!
答案1
使用将 IPv4 地址映射到反向 DNS 名称的方案(RFC 1035§3.5),不可能进行不在/8,/16或者/24边界。
对于大于的网络/24,您只需委派最接近的较小尺寸的多个区域。
所以你的/22网络将连续四个/24区域:
0.168.192.in-addr.arpa
1.168.192.in-addr.arpa
2.168.192.in-addr.arpa
3.168.192.in-addr.arpa
对于小于/24网络,有点聪明的黑客定义在RFC 2317被使用,其中在父区域CNAME
记录中添加属于较小网络的每个单独 IP 地址的名称,将所有这些名称指向新的命名空间,然后委托该命名空间。