1、DNS辅助集群
- DNS辅助服务器是一种容错设计,考虑的是一旦DNS主服务器出现故障或因负载太重无法及时响应客户机请求,辅助服务器将挺身而出为主服务器排忧解难。辅助服务器的区域数据都是从主服务器复制而来
- DNS服务器一般在用的时候,为了缓解服务器的压力,多使用一个主DNS服务器,多个副DNS服务器,这些DNS服务器就组成了一个 DNS集群 。
- 实验使用一个主dns以及一个副dns进行实验说明,一般需要多个副dns服务器
-
主dns配置
- 切换路径查看 有哪些文件
[root@server ~]# cd /var/named/
[root@server named]# ls
192.168.100.ptr dynamic named.empty named.loopback westos.com.zone
data named.ca named.localhost slaves
- 编辑named的主配置文件
[root@server named]# vim /etc/named.conf
[root@server named]# systemctl restart named 重启服务
- vim /etc/named.rfc1912.zones 设置关于DNS服务机的信息
- vim /var/named/westos.com.zone 真正的域名解析文件
$TTL 1D
@ IN SOA dns.westos.com. ren.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 192.168.100.200
www A 192.168.100.150
bbs CNAME node1.a.westos.com.
node1.a A 192.168.100.111
node1.a A 192.168.100.222
westos.com. MX 1 192.168.100.188.
systemctl restart named.service #重新启动服务
systemctl stop firewalld.service #关闭防火墙
设置dns相关的环境配置
yum install bind -y 下载DNS
systemctl start named.service #启动服务
systemctl enable named.service #设置服务开机自动启动
systemctl stop firewalld.service #关闭防火墙
编辑dns的主配置文件
vim /etc/named.conf bind的配置文件
listen-on port 53 { any; }; #控制服务倾听的ipv4地址
allow-query { any; }; #允许哪些客户端可以向DNS服务器询问信
dnssec-validation no; 不检查更新设置,若为YES会阻止同步
systemctl restart named 重启服务
编辑副配置文件
vim /etc/named.rfc1912.zones
-
systemctl restart named 重启服务
-
测试:
更改域名的指向
[root@clients ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.100.200
dig www.westos.com检验,为的是与后边的实验做对比
-
当主dns的数据发生改变的时候,会自动同步数据到副dns,但是在改变主dns的解析数据的时候,需要同时改变/var/named/toto.com.zone 文件中serial 的值,只有当serial的值发生改变,数据才会同步到副dns。
-
修改主DNS解析数据的值,改变值以后在查看
-
vim /var/named/westos.com.zone
测试端 dig www.westos.com 进行查看
1、DNS远程更新
服务端
编辑副配置文件
vim /etc/named.rfc1912.zones
客户机
编辑更新
[root@clients ~]# nsupdate
> server 192.168.100.200
> update add bbo.westos.com 86400 A 192.168.100.123
> send
> quit
客户端测试可以更新
在主服务端 测试
- 因为是没有检测到,所以是不能提供更新的,只能是询问114 网络
3、DNS远程加密更新
- 使用指定ip更新的方式,虽然可以对dns解析数据进行跟新,但是由于别的主机也可以将其ip设置成允许更新的ip,导致数据不安全,可以采用加密的方式进行远程更新。
dns服务器设置:
[root@server ~]# cd /mnt
[root@server mnt]# ls
[root@server mnt]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST bbo
Kbbo.+157+12510
[root@server mnt]# ls
Kbbo.+157+12510.key Kbbo.+157+12510.private
[root@server mnt]# cp -p /etc/rndc.key /etc/bbo.key 复制模板,制作新的加密文件
查看密钥
[root@server mnt]# cat Kbbo.+157+12510.key
bbo. IN KEY 512 3 157 zJvuGgP9RM62EOQt4USsOw==
生成新的加密文件
[root@server named]# vim /etc/bbo.key
[root@server named]# cat /etc/bbo.key
key "bbo" {
algorithm hmac-md5;
secret "zJvuGgP9RM62EOQt4USsOw=="; 和之前的密钥文件字符相统一
};
[root@server named]#
编辑DNS主配置文件
[root@server named]# vim /etc/named.conf
编辑DNS副配置文件
[root@server named]# vim /etc/named.rfc1912.zones
将密钥传输给测试端,因为测试端是没有密钥的,所以时需要服务端需要给的
[root@server mnt]# scp Kbbo.+157+12510.* [email protected]:/mnt/
[email protected]'s password:
Kbbo.+157+12510.key 100% 47 53.3KB/s 00:00
Kbbo.+157+12510.private 100% 165 160.5KB/s 00:00
测试端:
[root@clients ~]# cd /mnt
[root@clients mnt]# ls
Kbbo.+157+12510.key Kbbo.+157+12510.private
[root@clients mnt]# nsupdate -k Kbbo.+157+12510.private
> server 192.168.100.200
> update add jjo.westos.com 86400 A 192.168.100.77
> send
> quit 拥有bbo密钥的才可以同步更新
[root@clients mnt]#
-
如果是需要测试的话,可以给服务端新建立一个正象解析的域名,然后用客户端dig 域名 查看更新没有。
-
当远程主机中不存在加密文件的时候b不可以对该dns数据进行更新。