首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将区域的某些子域转发给默认转发器

如何将区域的某些子域转发给默认转发器
EN

Server Fault用户
提问于 2021-08-31 09:10:26
回答 1查看 546关注 0票数 0

我想使用bind9劫持一个区域,例如"qq.com",我的区域配置是

代码语言:javascript
复制
zone "qq.com" IN {
  type master;
  file "db.qq.com";
  forwarders { 119.29.29.29; 8.8.8.8; };
};

我的db文件是

代码语言:javascript
复制
[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时,我可以得到正确的答案如下所示

代码语言:javascript
复制
[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支持它吗?

EN

回答 1

Server Fault用户

发布于 2021-08-31 13:07:15

如果域与我的配置中的任何记录不匹配,dnsmasq可以将/etc/surv.conf中的名称服务器读取为默认转发器来解析域。所以我想bind9也可以支持这个特性。

这是AFAIK实际上是德斯马斯克独特的特性。

正常的DNS服务器,如ISC Bind,要么是递归的,要么是权威的。当它们对(子)域具有权威性时,它们持有该(子)域的完整真相,并且其区域数据包含该域存在的所有资源记录(尽管NS记录可用于将子域委托给其他名称服务器)。当一个权威的名称服务器被询问一个它不知道并且没有被委派的记录时,那么就它而言,该记录就不存在了。故事结束了。

您可以尝试通过创建一个区域文件来委派所有不存在的记录(使用DNS通配符):

代码语言:javascript
复制
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.
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1076126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档