部署DNS服务四: DNS集群与DNS更新
一、DNS集群(辅助DNS)
作用:
为了缓解主DNS服务器的压力,从而配置多个辅助DNS服务器,这些DNS服务器就组成了一个DNS集群。
DNS集群的配置过程:
主机名为dns的主机为主dns服务器
主机名为node2的主机为辅助dns服务器
辅助dns:
查看ip
编辑dns客户机配置文件
安装named服务
编写主配置文件(这里不再赘述描述)
vim /etc/named.rfc1912.zones
关闭火墙(此步骤不要忘记)
systemctl stop firewalld
重启named服务(启不了时可以在虚拟中敲击键盘解决)
此时/var/named/slaves下就自动生成刚在指定的文件westos.org.zone
主dns:
vim /etc/named.rfc1912.zones
重启named服务
测试:
vim westos.org.zone
修改前内容如下:
修改后内容如下:同时修改了serial前面的值
在辅助dns端测试解析文件同步成功
注意:
在修改主dns服务器的域名和ip时,必须要修改“serial”的值,因为在两台服务器同步数据时,系统不是读取整个文件的内容,而是比较“serial” 的值是否有变化(节约时间),该数字最长为10位
所以只有主dns服务器的“serial”值,有改变,辅助dns才会认为主dns的域名解析文件有所变化
二、DNS的远程更新
将中的westos.org.zone删掉,重启辅助dns的named
手动更新
[[email protected] slaves]# rm -fr westos.org.zone
[[email protected] slaves]# systemctl restart named
[[email protected] slaves]# dig www.westos.org
; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> www.westos.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45491
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 2
;; ANSWER SECTION:
www.westos.org. 86400 IN CNAME bbs.westos.org.
bbs.westos.org. 86400 IN A 172.25.254.211
bbs.westos.org. 86400 IN A 172.25.254.222
;; AUTHORITY SECTION:
westos.org. 86400 IN NS dns.westos.org.
;; ADDITIONAL SECTION:
dns.westos.org. 86400 INA 172.25.254.121
;; Query time: 0 msec
;; SERVER: 172.25.254.221#53(172.25.254.221)
;; WHEN: Sat Nov 23 04:08:46 EST 2019
;; MSG SIZE rcvd: 127
######################################
这时发现辅助DNS更新了数据
注意
#########################################
[[email protected] named]# vim /etc/named.rfc1912.zones
zone "westos.org" IN {
type master;
file "westos.org.zone";
allow-update { none; };
also-notify { 172.25.254.221; };
};
[[email protected] named]# vim westos.org.zone
dns A 172.25.254.121
www CNAME bbs.westos.org.
bbs A 172.25.254.211
bbs A 172.25.254.202
[[email protected] named]# systemctl restart named
##server2
[[email protected] slaves]# dig www.westos.org
; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> www.westos.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46142
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 2
;; ANSWER SECTION:
www.westos.org. 86400 IN CNAME bbs.westos.org.
bbs.westos.org. 86400 IN A 172.25.254.211
bbs.westos.org. 86400 IN A 172.25.254.222
##########################
发现server2没有同步desktop的数据
[[email protected] named]# vim westos.org.zone
$TTL 1D
@ IN SOA dns.westos.org. lee.westos.org. (
2019112301 ; serial
[[email protected] named]# systemctl restart named
#server2
[[email protected] slaves]# dig www.westos.org
; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> www.westos.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52718
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 2
;; ANSWER SECTION:
www.westos.org. 86400 IN CNAME bbs.westos.org.
bbs.westos.org. 86400 IN A 172.25.254.211
bbs.westos.org. 86400 IN A 172.25.254.202
######################
发现server2更新成功
[[email protected] named]# vim westos.org.zone
$TTL 1D
@ IN SOA dns.westos.org. lee.westos.org. (
2019112301 ; serial
1D ; refresh
dns A 172.25.254.121
www CNAME bbs.westos.org.
bbs A 172.25.254.111
bbs A 172.25.254.102
westos.org. MX 1 172.25.254.121.
[[email protected] named]# systemctl restart named
如果将虚拟机关机后
虚拟机的(虚拟机已经将服务设置为开机自启)
重新打开虚拟机做实验时,解析会自己开机清除
所以得重新添加解析文件 /etc/resolv.conf
nameserver 172.25.254.121
[[email protected] ~]# dig www.westos.org
; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> www.westos.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49467
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 2
;; ANSWER SECTION:
www.westos.org. 86400 IN CNAME bbs.westos.org.
bbs.westos.org. 86400 IN A 172.25.254.111
bbs.westos.org. 86400 IN A 172.25.254.102
;; AUTHORITY SECTION:
westos.org. 86400 IN NS dns.westos.org.
;; ADDITIONAL SECTION:
dns.westos.org. 86400 IN A 172.25.254.121
;; Query time: 1 msec
;; SERVER: 172.25.254.121#53(172.25.254.121)
;; WHEN: Sat Nov 23 07:33:00 EST 2019
;; MSG SIZE rcvd: 127
#############################################
#因为这里是第二次更新(同步)主dns的数据
所以将westos.org.zone 中的serial的值手动 增加
[[email protected] named]# vim westos.org.zone
$TTL 1D
@ IN SOA dns.westos.org. lee.westos.org. (
2019112302 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 172.25.254.121
www CNAME bbs.westos.org.
bbs A 172.25.254.111
bbs A 172.25.254.102
westos.org. MX 1 172.25.254.121.
[[email protected] named]# vim /etc/named.rfc1912.zones
zone "localhost" IN {
type master;
file "named.localhost";
allow-update { none; };
};
zone "westos.org" IN {
type master;
file "westos.org.zone";
allow-update { 172.25.254.221; };
also-notify { 172.25.254.221; };
};
[[email protected] named]# systemctl restart named
做这个实验之前最好将westos.org.zone备份
[[email protected] named]# cp westos.org.zone /mnt/ -p
[[email protected] named]# cd /mnt/
[[email protected] mnt]# ls
westos.org.zone
[[email protected] named]# ls -ld /var/named/
drwxr-x---. 5 root named 4096 Nov 23 07:58 /var/named/
[[email protected] named]# chmod g+w /var/named/
[[email protected] named]# ls -ld /var/named/
drwxrwx---. 5 root named 4096 Nov 23 07:58 /var/named/
[[email protected] ~]# nsupdate
> server 172.25.254.121
> update add hello.westos.org 86400 A 172.25.254.111
> send
>
[[email protected] named]# ls
172.25.254.ptr named.ca named.loopback westos.org.zone
data named.empty slaves westos.org.zone.jnl
dynamic named.localhost westos.org.local.zone
#serial的值变为03 表示第三次同步,删除了后dns这边找不到 hello.westos.org的解析
但是westos.org.zone文件里的值没有改变
[[email protected] named]# systemctl restart named
[[email protected] named]# systemctl restart named
$ORIGIN westos.org.
bbs A 172.25.254.111
A 172.25.254.102
dns A 172.25.254.121
www CNAME bbs
##重启主DNS端的named服务,然后再看域文件发现数据同步了(而且文件的格式都变了所以要恢复实验环境就要)
基于key的dns更新
生成key
查看key已经生成
将key模版复制到自己的key文件中
编辑key文件
vim /etc/named.conf
重启dns端服务
将**和公钥都传到进行辅dns主机
测试
在辅dns端,/mnt可以看到key已经接受到
开始远程更新,更新成功
[[email protected] mnt]# vim /etc/named.rfc1912.zones ##只改allow-update { key westos; };
[[email protected] mnt]# cd /var/named/
[[email protected] named]# ls
172.25.254.ptr dynamic named.empty named.loopback westos.org.local.zone westos.org.zone.jnl
data named.ca named.localhost slaves westos.org.zone
[[email protected] named]# rm -fr westos.org.zone*
[[email protected] named]# ls
172.25.254.ptr dynamic named.empty named.loopback westos.org.local.zone
data named.ca named.localhost slaves
[[email protected] named]# cp -p /mnt/westos.org.zone .
[[email protected] named]# systemctl restart named
开始远程更新,更新成功
使用key的DNS更新命令 ns:dns update:更新
> server 172.25.254.121
> update add hello.westos.org 86400 A 172.25.254.111
> send
> quit
[[email protected] named]# dig hello.westos.org
同步了hello.westos.org的解析