Chinaunix首页 | 论坛 | 博客
  • 博客访问: 565990
  • 博文数量: 375
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 15
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-20 10:21
文章分类

全部博文(375)

文章存档

2015年(1)

2014年(374)

分类: LINUX

2014-08-18 13:39:50

原文地址:rndc 命令的使用 作者:ailms

1control 不使用 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

==========================================================================================

8reconfig 命令的作用  

[答案]  

下面是 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 的新增或删除。

==========================================================================================9reloadrefreshreconfig 命令的比较

 [答案]  

Ø       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 {key1key2;}; 子句

Ø         /etc/rndc.conf 使用 key “ ”; 子句

具体可见 “安全方面—TSIG”的第5

=================================================================

13rndc 命令的执行权限

[答案]

[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]#

=================================================================

15rndc 所属的 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
0126 星期日 084514
Install Date: 2005
0712 星期二 235354      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
0224 星期一 135437, Key ID 219180cddb42a60e
Packager    : Red Hat, Inc. <
>
URL         :

Summary     : DNS (域名系统) 服务器。
Description :
BIND (
伯克利互联网域名) DNS (域名系统)协议的一种实现。
BIND
包括一个把主机名解析为 IP 地址的 DNS 服务器(named)
一个解析器库(在与 DNS 接口时应用程序所使用的例程);以及校
DNS 服务器是否被正确操作的工具。
[root@dns root]#

=================================================================

16rndc 一般在什么端口上监听

[答案]

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 必不可少

=================================================================

 

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