![BIND9 DNS 与内部视图中的外部视图](https://linux22.com/image/632035/BIND9%20DNS%20%E4%B8%8E%E5%86%85%E9%83%A8%E8%A7%86%E5%9B%BE%E4%B8%AD%E7%9A%84%E5%A4%96%E9%83%A8%E8%A7%86%E5%9B%BE.png)
我正在规划一种具有特殊视图的新 BIND9 DNS 服务器。
我们有很多外部区域和公共 IPv4 地址。为了简单起见,我们在外部域中设置了一个子区域,仅用于内部范围;例如:local.example.com
我们的目标是使事情保持简单,并且不要为内部和外部视图中的不同的 example.com 区域而烦恼。
为此,我必须将内部客户端限制为仅 local.example.com 区域。但内部客户端应该将外部地址解析为,因为我们有具有公共 IPv4 地址的内部客户端。
将内部区域视为维恩图中的一组。外部集位于内部集内,因此所有区域也应在内部范围内且未经修改。
主要问题可以概括如下:我可以在内部和外部视图中指向相同的数据库区域文件吗?
答案1
只需使用 acl 将查询限制到您的内部区域。
acl internal-networks {
10.0.0.0/8;
172.16.0.0/12;
192.168.0.0/16;
};
zone "internal.example.com" {
type master;
file "internal.example.com";
allow-query { internal-networks; };
};
您可以将其他 IP 地址添加到内部网络 ACL。无论它们是否可公开路由,您添加的任何内容都可以查询区域。