![有没有办法对范围大于 /24 的 rDNS 使用 Bind9 $GENERATE 指令?](https://linux22.com/image/633592/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%AF%B9%E8%8C%83%E5%9B%B4%E5%A4%A7%E4%BA%8E%20%2F24%20%E7%9A%84%20rDNS%20%E4%BD%BF%E7%94%A8%20Bind9%20%24GENERATE%20%E6%8C%87%E4%BB%A4%EF%BC%9F.png)
bind9 的 $GENERATE 指令可以自动生成一系列 IP 的反向映射,这对于 dhcp 范围的反向 DNS 非常有用。但似乎 $GENERATE 指令只能为 /24 子网生成反向 DNS。那么有没有一种简单的方法可以自动生成反向映射,例如 /18 子网的范围,而无需包含超过 16k 行的区域文件?
我们也欢迎使用其他 DNS 服务器或不使用 $GENERATE 的方法的解决方案。
暗示:整个反向区域是 /16 而不是 /18,但我只需要为 /18 范围生成 rDNS PTR RR。
答案1
我不相信可以嵌套$GENERATE
,如果这是你想要的。 $GENERATE
本身会为单个数字范围创建一个序列,在用于反向区域的情况下不一定是 /24,但不是同时为多个范围(尽管有可用的修饰符可以在某种程度上用于修改输出)。
但是,无论如何,您都不能将 /18 网络作为单个反向区域,而是 64 个 /24 区域。
这仅仅基于 IPv4 地址如何映射到名称(例如192.0.2.1
-> 1.2.0.192.in-addr.arpa
)。基于此映射,委托只能在八位字节边界上发生,这意味着只能为 /32、/24、/16 和 /8 创建区域。
(在rfc2317但这确实是处理小型网络的最后手段,否则处理起来会非常困难。
看到您已经添加的信息,它实际上是一个 /16 反向区域,您只想为网络的一部分添加记录,您可以添加 64 个 $GENERATE 指令。
类似 10.0.0.0/18 的示例:
$GENERATE 0-255 $.0 PTR $.foo.
$GENERATE 0-255 $.1 PTR $.bar.
...
$GENERATE 0-255 $.63 PTR $.baz.