DNS工具和rndc远程管理DNS实战
DNS管理工具
安装
1
|
# yum install bind-utils -y
|
工具一:nslookup
Windows操作系统也有的一个常用工具
交互式
1
|
#nslookup
|
非交互式
1
|
#nslookup www.baidu.com
|
工具二:host
简单粗暴的小工具
1
|
#host -t A www.baidu.com
|
工具三:dig
功能强大的DNS工具,重点掌握
1
|
#dig -t A www.baidu.com @localhost
|
常用参数:
- +[no]addition
- +short
工具四:nsupdate
不常用,需要在zone配置文件里声明allow-update { acl; };
调整zone配置文件
/etc/named.rfc1912.zones
1
|
zone "bkjf-inc.com" IN {
|
重启named服务
1
|
# systemctl restart named
|
新增一条记录
1
|
#nsupdate
|
检查:
1
|
#nslookup update.bkjf-inc.com
|
查看区域数据库文件
/var/named/
1
|
-rw-r--r-- 1 root root 335 Feb 28 10:57 bkjf-inc.com.zone
|
产生了一个jnl的数据文件,不能使用文本编辑器打开
jnl文件(journal文件)是BIND9动态更新的时候记录更新内容所生成的日志文件。
删除一条记录
1
|
#nsupdate
|
检查
1
|
#nslookup update.bkjf-inc.com
|
更新一条记录
不支持直接更新,需要先执行删除,再新增
nsupdate使用小结:
- 优点
- 命令简单,便于记忆
- 不用手动变更SOA的serial序列号,自动滚动
- 不需要重启/重载BIND9服务/配置,生效快
- 可以通过配置acl实现远程管理
- 缺点
- jnl文件无法使用文本文件的方式打开
- 只能依赖完全区域传送查看所有区域的记录
- 更新操作复杂,先删再增
- 远程管理有安全隐患,需要加强审计
- 动态域在rndc管理上多一步
rndc远程管理DNS
生成rndc-key
1
|
#rndc-confgen -r /dev/urandom
|
把rndc-key和controls配置到bind的主配置文件的options段里
/etc/named.conf
1
|
key "rndc-key" {
|
注意:这里要配置一下controls段的acl,限定好哪些主机可以使用rndc管理DNS服务
重启bind9服务
1
|
# systemctl restart named
|
rndc的服务端监听在953端口,检查一下端口是否起来
1
|
# netstat -luntp|grep 953
|
在远程管理主机上安装bind
rndc命令在bind包里,所以远程管理主机需要安装bind(不需要启动named)
在远程管理主机上做rndc.conf
使用rndc进行远程管理的主机上,都需要配置rndc.conf,且rndc-key要和DNS服务器上的key一致
/etc/rndc.conf
1
|
key "rndc-key" {
|
使用rndc命令远程管理DNS
查询DNS服务状态(可以取值做监控)
1
|
#rndc status
|
管理静态域(allow-update { none; };)
静态域zone文件
1
|
zone "od.com" IN {
|
增、删、改一条记录后
1
|
# rndc reload od.com
|
管理动态域(allow-update { 10.4.7.11; };)
动态域zone文件
1
|
zone "host.com" IN {
|
增、删、改一条记录后
1
|
#rndc reload host.com
|
直接reload会报错,需要先freeze再thaw才行
1
|
#rndc freeze host.com
|

浙公网安备 33010602011771号