前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DNS主从部署配置(上)

DNS主从部署配置(上)

原创
作者头像
陈不成i
修改2021-07-06 11:03:57
1.4K0
修改2021-07-06 11:03:57
举报
文章被收录于专栏:ops技术分享

一.简介

1.背景介绍 实际环境中为了避免单点故障,DNS服务器是由一组服务器组成,每一个服务器上都有若干个区域,不同服务器上的相同区域分为主和从两种角色。由于正向和反向是不同的区域,所以多台服务器间的相同区域可以互为主从或者一主多从,下图为例进行演示。

2.DNS主从原理 下图所示为主辅DNS服务器数据同步的过程,首先master DNS服务器每次修改完成并重启服务后,将传送notify给所有的slave DNS服务器。slave DNS服务器将查询master服务器的SOA记录,master DNS服务器收到请求后将SOA记录发送给Slave DNS服务器,Slave DNS服务器收到后同时对比查询结果中的serial值,如果serial值不大于本机的话将结束数据同步过程;但是如果serial值大于本机的话,slave DNS将发送zone transfer请求要求(AXFR/IXFR)。Master响应zone transfer请求并传送结果,直到整个slave更新完成。

3.DNS误区 DNS主从之间只会进行解析记录的同步,当主DNS出现故障时,从DNS不会把ip切换为主DNS的ip。可以在客户端填写多个DNS地址,这样达到冗余的作用。

二.部署

1.主从都安装 yum -y install bind bind-chroot bind-utils

安装包作用 bind : 提供了域名服务的主要程序及相关文件 bind-utils : 提供了对DNS服务器的测试工具程序(如:nslookup、dig etc) bind-chroot : 为bind提供一个伪装的根目录以增强安全性;

2.修改主配置文件 vim /etc/named.conf

代码语言:javascript
复制
options {
    listen-on port 53 { any; }; 
    #listen-on-v6 port 53 { ::1; };  #注销或删除
    allow-query     { any; }; #允许所有ip访问
   forwarders { 219.141.136.10; }; #用于缓存转发,可不写
}

3.在文件行尾添加 cd /etc cp -p named.rfc1912.zones named.rfc1912.zones.bak vim named.rfc1912.zones

代码语言:javascript
复制
zone "rzsj.com" IN { #设置正向DNS区域名称
    type master;
    file "rzsj.com.zone"; /#设置对应的正向区域地址数据库文件
    allow-transfer {192.168.18.41;}; #允许哪些从dns下载数据
};

4.检测文档,没有消息就是好消息 named-checkconf

5.建立区域文件,正向解析配置文件: cd /var/named cp -p named.localhost rzsj.com.zone vim rzsj.com.zone

代码语言:javascript
复制
$TTL 1D
@       IN SOA  @ root (
                                        0       ; serial #每次同步要手动+1
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns1.rzsj.com. #一定带.
ns1     A       192.168.1.184
ns2     A       192.168.1.185

6.重新加载配置 systemctl restart named systemctl enable named`

7.进行测试dns是否运行 nslookup ns2.rzsj.com 192.168.1.184

8.修改从配置文件 vim /etc/named.conf

代码语言:javascript
复制
options {
    listen-on port 53 { any; };
    #listen-on-v6 port 53 { ::1; };  #注销或删除
    allow-query     { any; };
}

9.行尾添加

cd /etc

cp -p named.rfc1912.zones named.rfc1912.zones.bak

vim named.rfc1912.zones

代码语言:javascript
复制
zone "rzsj.com" IN {
        type slave; #设置为从
        masters { 192.168.1.184; }; #主dns地址
        file "slaves/rzsj.com.zone"; #放到slaves下
};

10.检测配置,没反应就正常 named-checkconf

11.重新加载配制,查看是否为空 ls /var/named/slaves/ systemctl restart named systemctl enable named

看是否有文件了 ls /var/named/slaves/

12.看是否同步了解析记录 nslookup ns1.rzsj.com 192.168.1.185

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.简介
  • 二.部署
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档