如果访问dns的流量太大,可能dns直接瘫痪。所以我们想再配一个相同配置的dns,两个人一起提供服务,但是资源都是虚拟机b的。
为了不影响效果,把上一个实验虚拟机b做的两个网段的dns注释掉,恢复为原来的一个。虚拟机a的ip恢复为254网段(172.25.254.200),resolv.conf
文件也改为254网段。
原来的虚拟机b就设定为主dns,新来的虚拟机a设定为辅助dns。首先配置辅助dns:dnf install bind -y
安装dns,开启dns,firewall-cmd --add-service=dns
火墙允许dns,重启火墙。打开/etc/named.conf
主配置文件,修改下图参数,和之前一样。
然后编辑/etc/named.rfc1912.zones
文件,先写入原来的域名,第一句设定该主机为辅助dns,第二句设定该主机的主dns是172.25.254.99
,第三句设定辅助dns同步数据文件。
配置完成后,重启dns服务,dig www.westos.org
查看解析内容,成功。
然后配置主dns:编辑/etc/named.rfc1912.zones
文件,添加最后一句,意思是主动通知辅助dns主机的开关打开
假如主dns的解析数据更新了,辅助dns需要重启使数据一致,一台两台辅助dns还能手动重启,现实中成百上千的辅助dns都手动重启是不现实的,那么我们能不能设定主dns一更改,就直接告诉辅助dns自己更改呢?有的。我们查看/var/named/westos.org.zone
文件,其中serial参数,这个值只能增不能减,这个值增加了意味着主dns修改过A记录文件,为了查看效果现在我把解析从原来的111,222换为了1,2。重启dns服务
现在主dns测试dig www.westos.org
查看解析内容,更改了。
那辅助dns更改了吗?是的,改过来了。并且副dns这里不用重启,自动同步,很舒服
如果dns的解析数据变动,怎么办呢?
(1)dns基于ip地址的更新
编辑/etc/named.rfc1912.zones
文件,允许ip地址方式更新,允许指定客户端更新westos域。
测试时,使用nsupdate
命令,如下图,可以添加解析数据。添加成功后,会出现这个/var/named/westos.org.zone.jnl
文件,作为westos.org.zone
的辅助文件,读取时dns会把二者整合。
也可以删除解析数据。
(2)dns基于key的更新
首先生成dns的密钥,如下图
生成密钥文件,修改/etc/westos.key
编辑/etc/named.rfc1912.zones
文件,允许key的方式更新,密钥名称为westoskey
编辑/etc/named.conf
主配置文件,dns使用/etc/westos.key
密钥。
配置完成后,重启dns服务,测试时,使用nsupdate -k Kwestoskey.+163+04211.private
命令,如下图,可以添加解析数据,也可以删除。
实际使用中,有些ip是dhcp服务器分配的,这个ip会动态的分配,那如何能保证dns一直可以解析出来呢?最好的办法就是dhcp一分配就告诉dns虚拟机a的ip是多少,供其解析,无需修改数据目录文件。
虚拟机b安装dhcp服务,现在dns和dhcp是同一个主机。配置dhcp的配置文件/etc/dhcp/dhcpd.conf
,如下图,最重要的是打开动态dns的开关,其他的配置和平常的dhcp一样。ip池是70到80
还需要在dhcp配置文件中,告诉dhcp使用创建的密钥,给westos.org这个域进行通知。重启dhcp服务
测试时,把虚拟机a的ip获取方式变为dhcp的,重启网络,获得ip是70。
dig nodea.westos.org
可以成功解析出70。
把虚拟机b的dhcp服务的ip池改一下(改为71-80),a更新nmcli connection up ens3
重新给a一个ip,在a端dig nodea.westos.org
直接会看到ip变化成71了。成功获得动态解析