我想使用bind9劫持一个区域,例如"qq.com",我的区域配置是
zone "qq.com" IN {
type master;
file "db.qq.com";
forwarders { 119.29.29.29; 8.8.8.8; };
};我的db文件是
[root@cenotstest named]# cat db.qq.com
$TTL 1800
@ IN SOA ns1.qq.com. my.example.com. (
20210409 ;
3H ;
15M ;
1W ;
1D ) ;
IN NS ns1.qq.com.
ns1 IN A 183.36.112.46
a IN A 1.1.1.1解析a.qq.com时,我可以得到正确的答案如下所示
[root@cenotstest named]# nslookup a.qq.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: a.qq.com
Address: 1.1.1.1但是对于其他域,如"mail.qq.com“或”www.qq.com“(可能还有很多其他域我不知道),.I只是想将这些域转发给在8.8.8.8这样的转发器中配置的服务器。
但是现在,区域"qq.com“中的转发器不能工作,bind9支持它吗?
发布于 2021-08-31 13:07:15
如果域与我的配置中的任何记录不匹配,dnsmasq可以将/etc/surv.conf中的名称服务器读取为默认转发器来解析域。所以我想bind9也可以支持这个特性。
这是AFAIK实际上是德斯马斯克独特的特性。
正常的DNS服务器,如ISC Bind,要么是递归的,要么是权威的。当它们对(子)域具有权威性时,它们持有该(子)域的完整真相,并且其区域数据包含该域存在的所有资源记录(尽管NS记录可用于将子域委托给其他名称服务器)。当一个权威的名称服务器被询问一个它不知道并且没有被委派的记录时,那么就它而言,该记录就不存在了。故事结束了。
您可以尝试通过创建一个区域文件来委派所有不存在的记录(使用DNS通配符):
db.qq.com
$TTL 1800
@ IN SOA ns1.qq.com. my.example.com. (
20210409 ;
3H ;
15M ;
1W ;
1D ) ;
IN NS ns1.qq.com.
ns1 IN A 183.36.112.46
a IN A 1.1.1.1
the.original.authoritative.nameserver.for.qq.com. IN A 10.9.8.7
* IN NS the.original.authoritative.nameserver.for.qq.com.https://serverfault.com/questions/1076126
复制相似问题