分类: LINUX
2008-03-03 20:51:29
1、control 不使用 allow 子句可以吗?
[答案] :
不可以。会出现如下错误并导致 named 退出
Feb 8
16:09:22 dns named[30296]: /etc/named.conf:28: expected 'allow' near 'keys'
Feb 8
16:09:22 dns named[30296]: loading configuration: unexpected token
Feb 8
16:09:22 dns named[30296]: exiting (due to fatal error)
=========================================================================================
2、如果受控方的 controls 语句的 allow 子句和 keys 子句的配置不一样,那以那个为准 ?
[答案] :
两者必须一致,否则不能连接。
==========================================================================================
3、如果本地的 named 停止,而对方的 named 还正常,那么还能在本地执行 rndc -s 命令控制对方吗?
[答案] :
可以。
==========================================================================================
4、受控方的 controls 语句的 inet 子句的地址可以为 * 吗?
[答案] :
可以。
==========================================================================================
5、去掉受控方的 controls 语句的 keys 子句会怎样?
[答案] :
错误如下 :
Feb 8
16:19:25 dns named[30468]: /etc/rndc.key:6: 'key' redefined near 'key'
Feb 8 16:19:25 dns named[30468]: /etc/named.conf:28: couldn't install
keys for command channel 0.0.0.0#953: already exists
Feb 8 16:19:25 dns named[30468]: /etc/named.conf:28: couldn't add command
channel 0.0.0.0#953: already exists
==========================================================================================
6、使用 rndc 的 -s 选项控制
dns.movie.bob.com
[答案] :
[root@dns.bob.com =>etc]#rndc -s
192.253.254.66 status
number of zones: 6
debug level: 5
xfers running: 0
xfers deferred: 0
soa queries in progress: 1
query logging is ON
server is up and running
[root@dns.bob.com =>etc]#
==========================================================================================
7、修改 dns.movie.bob.com 上的 rndc 监听端口为 954 :
[答案] :
下面是受控方的 controls 语句
controls {
inet 0.0.0.0 port 954 allow {127.0.0.1;192.253.254.2;} keys { rndckey;
bob.com.key; };
};
[root@dns.bob.com
=>etc]#rndc -s 192.253.254.66 stats
rndc: connect
failed: connection refused
[root@dns.bob.com
=>etc]#rndc -s 192.253.254.66 -p 954 status
==========================================================================================
8、reconfig 命令的作用 :
[答案] :
下面是 dns.bob.com 的修改 :
//zone
"254.253.192.in-addr.arpa" IN {
// type master;
// file "master/db.192.253.254";
//};
zone "foo.bob.com." IN {
type master;
file
"master/foo.bob.com.zone";
};
[root@dns.bob.com =>etc]#rndc
reconfig
Feb 08 17:21:56.093 general: debug 1:
received control channel command 'reconfig'
Feb 08 17:21:56.093 general: info:
loading configuration from '/etc/named.conf'
Feb 08 17:21:56.097 general: debug 1:
now using logging configuration from config file
Feb 08 17:21:56.098 general: debug 1:
load_configuration: success
Feb 08 17:21:56.098 general: debug 1:
zone foo.bob.com/IN: starting load
Feb 08 17:21:56.098 general: error:
zone foo.bob.com/IN: loading master file aster/foo.bob.com.zone: file not found
注意!虽然此时只显示新增的 zone foo.bob.com 的消息,但实际上
254.253.192.in-addr.arpa 已经从内存中删除了
[root@dns.bob.com
=>general]#nslookup 192.253.254.1
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
;; connection timed out; no servers could be reached
[root@dns.bob.com =>general]#
只要把原来的注释去掉再执行 rndc reconfig
,就又可以解释反向区了。
[root@dns.bob.com =>general]#nslookup
192.253.254.1
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
Server: 127.0.0.1
Address: 127.0.0.1#53
1.254.253.192.in-addr.arpa
name = gateway1.bob.com.
[root@dns.bob.com =>general]#
所以 reconfig 命令只处理那些有变更的 zone ,例如 zone 的新增或删除。
==========================================================================================9、reload、refresh、reconfig 命令的比较 :
[答案] :
Ø
reload 默认是对所有的 zone 都重新加载
Ø
refresh 只能对 type 为 slave 的有效
Ø
reconfig 则只对 named.conf 中新增/删除的
zone 才会有效
Ø
所以一般推荐使用 rndc reconfig
==========================================================================================
10、管理多个 nameservers 的rndc 设置 :
[答案] :
受控方的设置 :分别修改 named.conf 的
controls 语句和 /etc/rndc.key 文件,加入新 key :
Ø
修改 named.conf 中的 controls 语句,三个子句的内容都要改 :
n
inet { 127.0.0.1; } è inet { 0.0.0.0; };
n
allow { localhost; }; è allow { localhost;192.253.254.2;};
n
keys { rndckey; }; è keys { rndckey; bob.com.key; };
Ø
修改 /etc/rndc.key 文件,加入 bob.com.key 的定义
主控方设置 :分别修改 /etc/rndc.conf 和 rndc.key 文件 :用 server 分配 key 和新增 key
Ø
在 /etc/rndc.conf 中用 server 192.253.254.66 指定受控方的 key 为 bob.com.key
Ø
在 /etc/rndc.key 中添加 bob.com.key 的定义
=================================================================
12、在 dns.bob.com 的 /etc/rndc.conf 中用 server 分配的 key 能自动应用于后续的通信中吗?
[答案] :
named.conf 的 server 语句和
/etc/rndc.conf 的 server 语句是不同的。
Ø
named.conf 使用 keys {key1;key2;}; 子句
Ø
/etc/rndc.conf 使用 key “
具体可见 “安全方面—TSIG”的第5问
=================================================================
13、rndc 命令的执行权限
[答案] :
[bob@dns bob]$ cd /usr/sbin/
[bob@dns sbin]$ ll rndc
-rwxr-xr-x 1
root root
17980 Jan 26 2003 rndc
[bob@dns sbin]$ ./rndc stop
rndc: error: none:0: open: /etc/rndc.conf: permission denied
rndc: could not load rndc configuration
[bob@dns sbin]$ ll /etc/rndc.conf
-rw-r----- 1 root
named 1101 Jan 26 2003
/etc/rndc.conf
[bob@dns sbin]$
[bob@dns sbin]$ groups named
named : named
[bob@dns sbin]$
=================================================================
14、使用 controls {} 能否禁用 rndc
[答案] :
可以!!!
[root@dns.bob.com
=>etc]#grep controls named.conf
controls
{};
[root@dns.bob.com
=>etc]#rndc status
rndc:
connect failed: connection refused
[root@dns.bob.com
=>etc]#
=================================================================
15、rndc 所属的 RPM 包
[答案] :
属于 BIND-9.2.1
RPM 包的一部分
[root@dns root]# rpm -qif `which rndc`
Name : bind
Relocations: (not relocateable)
Version :
9.2.1
Vendor: Red Hat, Inc.
Release :
16
Build Date: 2003年01月26日 星期日 08时45分14秒
Install Date: 2005年07月12日 星期二 23时53分54秒 Build Host: daffy.perf.redhat.com
Group : 系统环境/守护进程
Source RPM: bind-9.2.1-16.src.rpm
Size :
4105107
License: BSD-like
Signature : DSA/SHA1, 2003年02月24日 星期一 13时54分37秒, Key ID 219180cddb42a60e
Packager : Red Hat, Inc. <>
URL :
Summary : DNS (域名系统) 服务器。
Description :
BIND (伯克利互联网域名) 是 DNS (域名系统)协议的一种实现。
BIND 包括一个把主机名解析为 IP 地址的 DNS 服务器(named);
一个解析器库(在与 DNS 接口时应用程序所使用的例程);以及校
验 DNS 服务器是否被正确操作的工具。
[root@dns root]#
=================================================================
16、rndc 一般在什么端口上监听
[答案] :
在 tcp 的 53 端口上监听
=================================================================
17、如果不小心删除了从服务器上的 zone data 文件,用rndc reload 命令能否实现 zone transfer ?
[答案] :
不能。因为 BIND 在内存中保存有一份数据,即使磁盘上的文件被删除也无所谓,除非重启 BIND 。
除非先增加主服务器上的序列号并
reload 就可以。
=================================================================
18、如何使用 rndc 重新加载某个view 的某个 zone ?
[答案] :
格式如下 :
[root@dns.bob.com =>master]#rndc reload 254.253.192.in-addr.arpa IN external_view
注 : IN 必不可少
=================================================================