我已经在另一台装有 BIND 8.4.7 的主机上进行了类似的配置
我正在迁移到新的名称服务器,因此决定将 BIND 升级到 9.7.3
配置与这个类似,但我添加了一些宽松的(可能是多余的)限制,试图使其发挥作用。
//named.conf
options {
listen-on-v6 { any; };
listen-on { any; };
};
acl "lan" { 127.0.0.1; 192.168.x.0/24; };
view "internal" {
match-clients { "lan"; };
match-destinations { any; };
zone "foo.com" IN {
type master;
allow-query { any; };
allow-recursion { any; };
file "foo.com.internal.hosts";
};
};
view "external" {
match-clients { any; };
match-destinations { any; };
zone "foo.com" IN {
type master;
allow-query { any; };
allow-recursion { any; };
file "foo.com.hosts";
};
};
在本地主机上进行了一些测试。
//nslookup from localhost
> server 127.0.0.1
Default server: 127.0.0.1
Address: 127.0.0.1#53
> bar
Server: 127.0.0.1
Address: 127.0.0.1#53
** server can't find bar: NXDOMAIN
在同一网络上测试。
//nslookup from "lan"
> server 192.168.x.y
Default server: 192.168.x.y
Address: 192.168.x.y#53
> bar
Server: 192.168.x.y
Address: 192.168.x.y#53
** server can't find bar: NXDOMAIN
从另一个网络测试失败。
//nslookup from outside "lan", 192.168.x.y NAT'd to 192.168.z.y
> server 192.168.z.y
Default server: 192.168.z.y
Address: 192.168.z.y#53
> bar
Server: 192.168.z.y
Address: 192.168.z.y#53
** server can't find bar: REFUSED
所以,我的问题是,为什么这种配置在较新的 BIND 上不起作用?
答案1
必须指定精确的远程网络规范,这就是我发现的,“任何”都不能按预期工作,既不能定义比实际查询名称服务器更广泛的网络,例如,如果外部网络是 10.2.11.0/24,则使用定义为 10.2.0.0/23 的 ACL 将不匹配,这是我的问题。