如何在 Bind 中创建 /22 反向区域?(255.255.252.0))

如何在 Bind 中创建 /22 反向区域?(255.255.252.0))

我正在开展一个项目,在子网为 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 地址的名称,将所有这些名称指向新的命名空间,然后委托该命名空间。

相关内容