![BIND 子网语法](https://linux22.com/image/154588/BIND%20%E5%AD%90%E7%BD%91%E8%AF%AD%E6%B3%95.png)
我正在尝试将整个子网添加到 BIND,而不是单个 IP 地址。例如,不要这样做:
example1.test.com 在 192.168.5.43
example2.test.com 在 192.168.6.74
我只想拥有:
*.test.com IN A 192.168.0.0/19
有什么方法可以做到这一点,而不是单独添加所有 IP?我需要添加的 IP 太多,但我只需要添加此子网中的 IP。
答案1
如果您关心与特定 IP 地址关联的特定名称,那么有两种选择:手动执行,或者如果您使用 DHCP 分配 IP 地址,配置动态 DNS 更新,并让客户端自己,或者也许更安全的是,DHCP 服务器会在客户端续订 DHCP 租约时自动更新 DNS 信息。
但如果您只需要确保每个 IP 地址都与Aname,您可以使用$GENERATE
DNS 区域文件中的语法自动生成一组系统名称。像这样:
$GENERATE 0-255 example000dot${0,3}.test.com. A 192.168.0.$
$GENERATE 0-255 example001dot${0,3}.test.com. A 192.168.1.$
$GENERATE 0-255 example002dot${0,3}.test.com. A 192.168.2.$
...
……依此类推,总共 31 行。您应该得到一系列带有exampleXdotY.test.com
每个 IP 地址形式的名称192.168.X.Y
。
要生成相应的反向记录,您可以使用:
$GENERATE 0-255 $.0 PTR example000dot${0,3}.test.com.
$GENERATE 0-255 $.1 PTR example001dot${0,3}.test.com.
$GENERATE 0-255 $.2 PTR example002dot${0,3}.test.com.
... 等等。