Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1770951
  • 博文数量: 184
  • 博客积分: 10122
  • 博客等级: 上将
  • 技术积分: 5566
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-08 12:32
文章存档

2011年(1)

2008年(183)

我的朋友

分类: LINUX

2008-03-03 20:39:14

10.10. A Nonrecursive Name Server

1默认 Resolver 发出的是递归查询,而且默认 BIND name server 也处理所有的递归请求。

2、但某些情况下,服务器应该被配置为不接受递归请求,例如根域服务器。根域服务器不接受递归请求的原因

Ø         因为根域服务器太忙了,它们没有精力来回答递归查询。

Ø         接受递归请求将会建立缓存,如此根域服务器的缓存将会变得十分巨大

3、关于递归/非递归方面的配置语句有 recursion allow-recursion 语句。两者都只能放在 options 或者 view 语句中,不能用于 zone 语句,也就是说你不能设置 BIND 不接受对某个 zone 的递归请求。

4recursion allow-recursion 的区别

Ø         recursion 语句用于控制全局或者某个 view启用/关闭递归功能,对任何地址都一样;

Ø         allow-recursion 带一个 address match list 对该匹配该列表的地址允许接受递归请求,其余的一律当成 iterative 请求来看待 :也就是如果知道答案就返回具体的答案;如果不知道答案就返回一个 Referral 消息

Ø         recursion no 只对外部域名有效,如果查询的是本地zone域名(仅限于该 name server 上所定义的 zone,不包括下级子域)则可以回答。因为解析外部域名需要查询外部 name server ,这才是 recursion no 控制和关心的部分,如果查询的是本地 zone 的数据,当然不需要担心本地 name server 被诱导,可以直接返回答案。

5、配置一台非递归服务器要注意的地方

Ø         保证该非递归服务器不出现在客户机的 /etc/resolv.conf nameserver 指令中

Ø         保证该非递归服务器不被其他 name server 当成转发器 forwarder

Ø         推荐使用 allow-recursion 而不是 recursion

Ø         该非递归服务器可以出现在 zone data file NS 记录中。它可以正常的接收其他 name server 发来的查询

n         外部 name server 是通过上级域的 Referral 消息找到该非递归服务器的

n         外部 name server 在得到上级域的 Referral 消息后,向该非递归服务器发送的查询是 iterative query ,而不是 recusive query ,所以该非递归服务器仍然可以回答那些它所权威的 zone 的查询。但不能用于查询外部域名了。

阅读(1147) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~