首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将绑定配置为不执行内部递归?

问如何将绑定配置为不执行内部递归?
EN

Server Fault用户
提问于 2021-01-29 11:07:29
回答 1查看 313关注 0票数 1

在为"host1.cool.com“的"A”记录查询权威名称服务器(在VM中使用bind本地实现)时,它在内部使用递归(可能)解析查询,并返回实际的"A“记录。我需要名称服务器用一个CNAME记录回答每个查询,递归解析器可以发出多个dns查询来解析名称。但是,我无法将“递归不;”设置为"named.conf.options“。

我的查询(来自另一台计算机):

代码语言:javascript
复制
dig A @192.168.0.115 host1.cool.com

答复是整个CNAME链,最后的答案是:

代码语言:javascript
复制
;; ANSWER SECTION:
host1.cool.com.     5   IN  CNAME   host2.cool.com.
host2.cool.com.     5   IN  CNAME   host3.cool.com.
host3.cool.com.     5   IN  CNAME   host4.cool.com.
host4.cool.com.     5   IN  CNAME   host5.cool.com.
host5.cool.com.     5   IN  CNAME   host6.cool.com.
host6.cool.com.     5   IN  CNAME   host7.cool.com.
host7.cool.com.     5   IN  A   22.33.44.55

我希望名称服务器只响应一条CNAME记录,即使是"A“查询也是如此。也许是这样的:

代码语言:javascript
复制
host1.cool.com CNAME host2.cool.com

我的named.conf.local文件

代码语言:javascript
复制
zone "cool.com" IN {
  type master;
  file "/etc/bind/db.cool.com";
  allow-transfer { none; };
};

和named.conf.options文件

代码语言:javascript
复制
options {
  directory "/var/cache/bind";
  auth-nxdomain no;
  allow-query { any; };
  allow-transfer { none; };
  recursion no;
};

db.cool.com文件

代码语言:javascript
复制
@TTL 5S

@  IN  SOA  @ hostmaster.cool.com. (
  0, 3H, 1H, 1W, 3H )

@  IN  NS  ns1.cool.com.
@  IN  NS  ns2.cool.com.
@  IN  A   98.87.76.65

ns1  IN  A  10.20.30.40
ns2  IN  A  10.20.30.41

host1.cool.com.  IN  CNAME  host2.cool.com.
host2.cool.com.  IN  CNAME  host3.cool.com.
host3.cool.com.  IN  CNAME  host4.cool.com.
host4.cool.com.  IN  A      22.33.44.55

如何将绑定配置为内部不使用递归来解析查询?

EN

回答 1

Server Fault用户

发布于 2021-01-29 12:40:43

这种行为会破坏CNAME。如果您不想获取IP地址,则不应该查询A/AAAA资源记录,而是向服务器显式地请求CNAME。

引用RFC 1034:

CNAME RRs导致DNS软件中的特殊操作。当名称服务器无法在与域名关联的资源集中找到所需的RR时,它会检查资源集是否由具有匹配类的CNAME记录组成。如果是,则名称服务器在响应中包含CNAME记录,并在CNAME记录的数据字段中指定的域名上重新启动查询。这个规则的一个例外是匹配CNAME类型的查询不会重新启动。例如,假设一个名称服务器正在为USC-ISIC.ARPA处理一个查询,请求A类型信息,并且拥有以下资源记录:USC-ISIC.ARPA在CNAME C.ISI.EDU C.ISI.EDU中的一个10.0.0.52,这两个RRs将在对A类型查询的响应中返回,而一个类型CNAME或*查询应该只返回CNAME。

在DNS语言中,递归是指DNS服务器解析从根区域开始的名称,递归下降区域,直到到达终端标签,查询所需的RR。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1051653

复制
相关文章

相似问题

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