需要您的经验建议,我们有一个 BIND9 DNS 服务器,它既可以私下运行,也可以公开运行域 xyz.com。我将私有 DNS 用于我们本地网络上的某些安全节点。我希望所有 VPN 用户都能够使用我们本地 DNS 来解析这些安全节点,该 DNS 运行正常。但是,当 VPN 用户查询公共的 A 记录时,就会出现问题。例如,如果“secure.xyz.com”在区域文件中有一个本地条目,它会按预期工作。但是,当该条目不存在时,我希望 BIND 有条件地将查询转发到远程 DNS 服务器并为 VPN 客户端解析它。不幸的是,这并没有发生。BIND 仅搜索本地区域文件中可用的条目,然后超时。这是我的配置文件。
选项文件
options {
directory "/var/cache/bind";
recursion yes;
allow-recursion { localhost; };
allow-transfer { none; };
allow-query { any; };
forwarders {
8.8.8.8;
};
dnssec-validation auto;
listen-on-v6 { any; };
};
名称.配置.本地
zone "xyz.com" {
type master;
file "/etc/bind/db.xyz.com";
forwarders {
8.8.8.8;
8.8.4.4;
};
};
db.xyz.com
$TTL 86400
@ IN SOA localhost. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
;
IN A x.x.x.x
@ IN NS localhost.
ftp IN A x.x.x.x
www IN A x.x.x.x
new IN A x.x.x.x
4k IN A x.x.x.x
jpdate IN A x.x.x.x
record1 IN A x.x.x.x
record2 IN A x.x.x.x
record2 IN A x.x.x.x
答案1
您配置的不是条件转发。条件转发是指您指定一个域,然后指定其 DNS 服务器,如下所示
zone "windows.net" {
type forward;
forwarders { 168.63.129.16; };
};