DNS 05-rndc介绍及使用
Posted 广州富哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DNS 05-rndc介绍及使用相关的知识,希望对你有一定的参考价值。
rndc简介
- rndc -- Remote Name Domain Controllerr
- 一个远程管理bind的工具。
- 通过这个工具可以在本地或者远程了解当前服务器的运行状况。
- 可以对服务器进行关闭、重载、刷新缓存、增加删除zone等操作。
rndc原理
- 使用rndc可以在不停止DNS服务器工作的情况进行数据的更新,使修改后的配置文件生效。
- 在实际情况下,DNS服务器是非常繁忙的,任何短时间的停顿都会给用户的使用带来影响。因此,使用rndc工具可以使DNS服务器更好地为用户提供服务。
- 在使用rndc管理bind前需要使用rndc生成一对密钥文件,一半保存于rndc的配置文件中,另一半保存于bind主配置文件中。
- rndc的配置文件为/etc/rndc.conf,在CentOS或者RHEL中,rndc的密钥保存在/etc/rndc.key文件中。
- rndc默认监听在953号端口(TCP),其实在bind9中rndc默认就是可以使用,不需要配置密钥文件。
- rndc与DNS服务器实行连接时,需要通过数字证书进行认证,而不是传统的用户名/密码方式。
- 在当前版本下,rndc和named都只支持HMAC-MD5认证算法,在通信两端使用预共享密钥。 在当前版本的rndc和named中,唯一支持的认证算法是HMAC-MD5,在连接的两端使用共享密钥。
- 它为命令请求和名字服务器的响应提供 TSIG类型的认证。所有经由通道发送的命令都必须被一个服务器所知道的 key_id 签名。
- 为了生成双方都认可的密钥,可以使用rndc-confgen命令产生密钥和相应的配置,再把这些配置分别放入named.conf和rndc的配置文件rndc.conf中。
rndc常用命令
查看帮助
rndc -h
显示bind服务器的工作状态
rndc status
重新加载配置文件和区域文件
rndc reload
重新加载指定区域
rndc reload zone_name
重读配置文件并加载新增的区域
rndc reconfig
关闭或开启查询日志
rndc querylog
将高速缓存转储到转储文件 (named_dump.db)
rndc dumpdb
- 需要设置cache文档输入目录,在named.conf里面设置dump-file "/var/named/data/cache_dump.db"即为dns cache输入文档。
- 注意了这些设置,运行rndc -dumpdb命令后就会在/var/named/data/目录下导出DNS cache内容,用more cache_dump.db进行查看。
暂停更新所有动态zone
rndc freeze
暂停更新一个动态zone
rndc freeze zone [class [view]]
刷新服务器的所有高速缓存
rndc flush [view]
为某一视图刷新服务器的高速缓存
rndc flushname name
将服务器统计信息写入统计文件中
rndc stats
将暂挂更新保存到主文件并停止服务器
rndc stop
停止服务器,但不保存暂挂更新
rndc halt
打开debug, debug有级别的概念,每执行一次提升一次级别
rndc trace
指定 debug 的级别, trace 0 表示关闭debug
- 调试:显示程序运行中的详细信息(会产生I/O,正常情况下建议关闭)
- 调试级别:0,1,2,3...
- 提升调试级别:
rndc trace rndc trace LEVEL
打开查询日志:记录查询动作(会增加磁盘I/O)
rndc querylog
将调试级别设置为 0
rndc notrace
重新启动服务器(尚未实现)
rndc restart
增加一个zone
rndc addzone zone [class [view]] { zone-options }
删除一个zone
rndc delzone zone [class [view]]
删除一个TSIG key
rndc tsig-delete keyname [view]
询当前有效的TSIG列表
rndc tsig-list
开启/关闭dnssec
rndc validation newstate [view]
rndc远程连接
- 命令后面可以跟"-s"和"-p"选项连接到远程DNS服务器,以便对远程DNS服务器进行管理
- 但此时双方的密钥要一致才能正常连接。
- 在设置rndc.conf时一定要注意key的名称和预共享密钥一定要和named.conf相同,否则rndc工具无法正常工作。
rndc -c /etc/rndc.conf -s 127.0.0.1 -p 953 status
rndc实例
1、查看DNS状态
[[email protected] log]# rndc status WARNING: key file (/etc/rndc.key) exists, but using default configuration file (/etc/rndc.conf) version: 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.5 CPUs found: 8 worker threads: 8 number of zones: 2 debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is ON recursive clients: 0/0/1000 tcp clients: 0/100 server is up and running [[email protected] log]#
2、使用rndc动态添加一个zone,并在主配置文件named.conf全局配置options下添加 allow-new-zones yes;
# 创建zone文件 vi /var/named/zone/abc.com.zone # 添加zone rndc addzone abc.com ‘{ type master; file "zone/abc.com.zone";};‘ # 可以使用如下指定view: addzone abc.com IN view_name ‘{type master; file "zone/abc.com.zone";keys{key;};};‘ # 检查dig @192.168.36.54 www.abc.com A
以上是关于DNS 05-rndc介绍及使用的主要内容,如果未能解决你的问题,请参考以下文章