DNS服务之用rndc远程管理服务器 rndc简介 rndc,英文全称为Remote Name Domain Controllor,是一个远程管理bind的工具,通过这个工具可以在本地或者远程了解当前DNS 因此,使用rndc工具可以使DNS服务器更好地为用户提供服务。在使用rndc管理bind前需要使用rndc生成一对密钥文件,一半保存于rndc的配置文件中,另一半保存于bind主配置文件中。 rndc的配置文件为/etc/rndc.conf,在CentOS或者RHEL中,rndc的密钥保存在/etc/rndc.key文件中。 -y rndc的配置 执行命令rndc-confgen,生成rndc的key,内容如下: [root@k8s-dns ~]# rndc-confgen -r /dev/urandom # Start 953; }; 再然后新建rndc.key配置文件,将rndc-confgen生成的如下部分复制到rndc.key文件中 [root@k8s-dns ~]# cat /etc/rndc.key key
> rndc.conf cat rndc.conf > rndc.key chmod 777 /usr/local/named/zones/ tail -10 rndc.conf status WARNING: key file (/usr/local/named/etc/rndc.key) exists, but using default configuration file (/usr/local/named/etc/rndc.conf) version: BIND 9.12.2-P1 <id:8914b83> running on dnsball ln -s /usr/local/named/etc/named.conf /etc/named.conf cat /usr/local/named/etc/named.conf #rndc 控制密钥 key "rndc-key" { algorithm hmac-sha256; secret "c6iamWqbzArFvUn7BUt27c8MNUU+
\下生成rndc.key。 此命令将在\dns\etc文件夹下生成 rndc.key 文件 b、执行rndc-confgen > rndc.conf 命令。 此命令将在\dns\bin目录下生成rndc.conf文件 附:rndc是远程DNS服务器进程控制的英文简写,rndc的工作机制使用了/etc/rndc.key和/etc/rndc.conf两个配置文件 ,rndc.key文件为锁头,尽管它的名字为key; rndc.conf则是打开rndc.key锁头的对应钥匙;这两个文件可以使用rndc-confgen命令来生成,该命令采用的是对称加密算法;http ,加上这段,好用rndc控制dns进程 include "C:\WINDOWS\system32\dns\etc\rndc.key"; controls { inet 127.0.0.1 port 953
监控原理描述 监控BIND主要通过rndc这个工具来监控,不同版本的BIND,使用rndc显示的信息会有所不同。 [root@www ~]# whereis rndc rndc: /usr/sbin/rndc /etc/rndc.conf /etc/rndc.key /usr/share/man/man8/rndc .8.gz [root@www ~]# whatis rndc rndc (8) - name server control utility rndc-confgen (8) - rndc key generation tool rndc.conf [rndc] (5) - rndc configuration file CentOS5 Kernel \r on an \m [root@www ~]# named -v BIND 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 [root@www ~]# rndc
管理工具 编译安装bind时,将同时安装rndc,但是rndc的运行依赖于key身份认证机制,如果直接运行将收到如下提示,因此我们需要生成key来运行rndc [root@Centos6 man]# rndc status rndc: neither /etc/bind/rndc.conf nor /etc/bind/rndc.key was found 根据提示,需要rndc.conf或rndc.key文件 [root@Centos6 bind]# cat rndc.conf # Start of rndc.conf key "rndc-key" { algorithm hmac-md5; "; }; }; 现在我们使用rndc status会提示连接被拒绝,我们需要重新运行named及rndc [root@Centos6 bind]# named -u named -d 3 -f -g 你可以参考rndc --help及man rndc来获得更多rndc的帮助信息。
配置 bind(DNS 服务器) 1、生成 RNDC 文件: rndc-confgen -a -k designate -c /etc/rndc.key -r /dev/urandom cat <<EOF }}; default-port 953; }; EOF 2、将下列配置添加到 named.conf: include "/etc/rndc.key"; controls { inet {{ chown named:named /etc/rndc.conf chmod 600 /etc/rndc.key chown -v root:named /etc/named.conf chmod g +w /var/named # systemctl restart named # setsebool named_write_master_zones 1 3、把 rndc.key 和 rndc.conf : {{ DNS_SERVER_IP }} rndc_port: 953 rndc_key_file: /etc/rndc.key rndc_config_file
centos7 1708 IP: 192.168.12.74 ns1.example.com 192.168.12.75 ns2.example.com DNS的远程控制可以通过rndc 来实现,现在就上手试一试吧: 使用命令生成配置文件: rndc-confgen > /etc/rndc.conf image.png image.png image.png image.png 简单命令使用: rndc -c /etc/rndc.conf flush (-c 可以省略) rndc -c /etc/rndc.conf stop
.* TO 'designate'@'%' \ IDENTIFIED BY 'rhlab123'; 注意:要使Remote Name Daemon Control (RNDC)正常工作,必须将Bind 配置bind(DNS 服务器) 第一步:创建RNDC文件: rndc-confgen -a -k designate -c /etc/rndc.key -r /dev/urandom cat << chown named:named /etc/rndc.conf chmod 600 /etc/rndc.key chown -v root:named /etc/named.conf 和rndc.conf放入OpenStack控制器中: # scp -r /etc/rndc* {{ CONTROLLER_SERVER_IP }}:/etc/ 创建OpenStack Designate : {{ DNS_SERVER_IP }} rndc_port: 953 rndc_key_file: /etc/rndc.key rndc_config_file
.\* TO 'designate'@'%' IDENTIFIED BY '000000'; 安装 BIND 包 yum install bind bind-utils 创建一个 RNDC 密钥 rndc-confgen -a -k designate -c /etc/designate/rndc.key -r /dev/urandom 在文件/etc/named.conf中添加以下选项 vim /etc/named.conf include "/etc/designate/rndc.key"; options { ... For BIND there will be one # entry for each BIND server, as we have to run rndc command on each serve \_host: 127.0.0.1 rndc\_port: 953 rndc\_key\_file: /etc/designate/rndc.key 更新池: # su
1.在启动DNS时出现Generating /etc/rndc.key:卡在这里了 [root@RedHat named]# /etc/init.d/named restart Stopping named : [ OK ] Generating /etc/rndc.key: ^C [root@redhat named ]# 解决方法: [root@redhat named]# rndc-confgen -r /dev/urandom -a wrote key file "/etc/rndc.key" [root@redhat
IN { type hint; file "named.ca"; }; include "/etc/named/named.rfc1912.zones"; 2,rndc配置 rndc是一个管理程序 ,可以用它来刷新配置,停止服务,强制同步等 rndc-confgen > /etc/named/rndc.conf 打开rndc.conf文件,找到# Use with the following in /var/named/100.168.192.loopback #启动named服务 named -u named -c /etc/named/named.conf #修改zone文件重载配置生效 rndc 解析测试 8.1,正向解析测试 dig kylin.zabbix.com 8.2,反向解析测试 dig -x 192.168.100.161 +short kylin.zabbix.com. 9,使用rndc 命令管理bind rndc使用的是953/tcp端口 rndc参数: reload: 重新加载配置文件和所有zone reload zonename: 重新加载单个zone retransfer zonename
"/var/named"; //区域文件存放位置 dump-file "/var/named/data/cache_dump.db"; //当执行rndc 管理BIND9 rndc可以对bind9进行热更新,可以对某个域的解析单独进行重载。 使用方法如下 [root@localhost ~]# rndc-confgen # Start of rndc.conf key "rndc-key" { algorithm hmac-md5 953; }; [root@localhost ~]# rm -rf /etc/rndc.key //默认系统里会自带一个rndc的key删除即可 [root@localhost ~]# root@localhost ~]# rndc thaw host.com //启用动态域 The zone reload and thaw was successful.
named/localhost.zone 检测反解析: named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local 如果都“OK”那就可以了 rndc-confgen -r /dev/urandom -a // 这一步是生成 rndc.key, 如果没有这个key namd 是启动不了的 chown named:named /etc/rndc.key /etc/init.d 从上生成rndc.key: rndc-confgen -r /dev/urandom -a chown named:named /etc/rndc.key 从上启动named: /etc/init.d
bind-utils -y image.png BIND配置文件: /etc/named.conf BIND进程的工作属性 区域的定义 /etc/rndc.key rndc: Remote Name Domain Controller(远程控制) 密钥文件 配置信息:/etc/rndc.conf /var
2.4 rndc命令 rndc客户端是通过建立套接字连接服务端,监听在TCP的953端口,来对服务端的named进行修改操作,但由于安全考虑,所以rndc的客户端和服务端安装在同一台主机之上。 -s server server:是与rndc的配置文件中server语句匹配的服务器的名字或地址、如果命令行没有提供服务器,会使用rndc配置文件中options语句中的default-server 、为rndc的秘钥共享文件,提供认证用的 rndc是什么? reload等的时候,会提示我们没有配置文件 # 想让rndc可用,使用rndc-confgen来生成配置文件 # 如果使用rndc-confgen发生堵塞,可以使用rndc-confgen -r / named/named.conf中 ---- [root@localhost ~]# rndc-confgen # Start of rndc.conf key "rndc-key" { algorithm
bind:包里主要包含: named DNS服务 named-chkconfig(named.conf文件检查工具) named-checkzone(zone文件检车工具) rndc # bind主配置文件 /etc/named.rfc1912.zones # 定义zone的文件 /etc/rc.d/init.d/named # bind脚本文件 /etc/rndc.conf # rndc配置文件 /usr/sbin/named-checkconf # 检测/etc/named.conf文件语法 /usr/sbin/named-checkzone # 检测zone和对应zone文件的语法 /usr/sbin/rndc # 远程dns管理工具 /usr/sbin/rndc-confgen # 生成rndc 一般是在/var/named下写,文件名格式一般写为ZONE_NAME.zone named.conf配置文件所有的配置语句 含义 acl 定义一个主机匹配列表,用户访问控制权限 controls 定义rndc
检查区域文件后重载 [root@master named]# named-checkzone "itab.com" itab.com.zone [root@master named]# rndc reload #添加子域后和未添加状态信息对比 [root@master named]# rndc status <--重载前 .... number of zones: 104 (97 automatic) . [root@master named]# rndc status<--重载后,区域并未增加 .... number of zones: 104 (97 automatic) 配置子域解析 #1. 区域解析数量对比 [root@slave ~]# rndc status <--未重载前的区域数量 number of zones: 103 (97 automatic) [root@slave ~]# rndc status <--重载后的区域数量,数量在原来的基础上+1 number of zones: 104 (97 automatic) #4.
local.yaok.com" IN { type master; file "local.yaok.com.zone"; }; 重读配置文件 [root@local ~]#rndc reload 查看DNS状态 [root@local ~]#rndc status ? local.yaok.com.zone 文件权限为640 [root@local named]# chmod 640 local.yaok.com.zone 重读配置文件 [root@local ~]#rndc
host –t soa magedu.com host –t mx magedu.com host –t axfr magedu.com host 1.2.3.4 二、rndc 命令 rndc实际上是通过资深的 953tcp端口连接本机寄信管理的。 rndc: 格式:rndc COMMAND COMMAND: reload: 重载主配置文件和区域解析库文件 reload zonename: 重载区域解析库文件 retransfer
xiaos.com.zone # # image.png 检测语法 named-checkconf # named-checkzone xiaos.com xiaos.com.zone # image.png 重启服务 rndc 开启服务 测试同步数据库 现在主从数据库文件信息是一致的 更改主服务数据库文件信息,看看能不能同步到从服务器 vim xiaos.com.zone # image.png 主服务器重读配置文件并重启服务 rndc