DNS主从模式加keepalived

架构介绍:

DNS主从模式:保障DNS主从服务器DNS数据一致

Keepalived:保障DNS服务高可用,防止单点故障

环境:

DNS主服务器:192.168.223.143  (master)

DNS从服务器:192.168.223.142  (backup)

虚拟IP(VIP):192.168.223.150  (漂移IP)

实施过程:

关闭防火墙

systemctl stop firewalld.service

关闭安全机制

setenforce 0

1. 主从两台服务器都安装DNS相关安装包

yum -y install bind* 

2. 主从两台服务器修改/etc/named.conf配置文件

只修改

listen-on port 53 { any; };    

allow-query     { any; };

vim /etc/named.conf

options {
        listen-on port 53 { any; };    #定义监听端口及IP
        listen-on-v6 port 53 { ::1; };  #定义监听IPV6的地址
        directory       "/var/named";   #全局目录
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };        #允许查询的IP地址
        recursion yes;                    #允许递归查询


3. 在主DNS服务器配置文件/etc/named.rfc1912.zones添加解析配置

vim /etc/named.rfc1912.zones

#正向解析
zone "dnstest.com.cn" IN {
        type master;      #DNS 主
        file "dnstest.com.cn.zone";   #使用那个区域解析文件
        allow-update { 192.168.223.142; }; #允许更新区域信息的主机地址
        also-notify { 192.168.223.142; };  #主动通知从DNS进行更新
        check-names ignore;  #域节点名检测比较严苛,例如带下划线的会检测不过,这时候就需要配置此参数
};


#反向解析
zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "1.168.192.zone";
        allow-update { 192.168.223.142; };
        also-notify { 192.168.223.142; };
        check-names ignore;

#DNS转发
zone "baidu.com" IN {
        type forward;
        forward only;
        forwarders { 8.8.8.8; };

4. 编写正向解析配置文件dnstest.com.cn.zone

vim /var/named/dnstest.com.cn.zone

$TTL 1D                                            #定义宏,通用变量,单位为秒(S)、小时(H),天数(D)
@       IN SOA  ns1.dnstest.com.cn. root.dnstest.com.cn. (               #此处一般是写NS域名,邮件域名,或root.
                        2017071111           #序列号。这个参数很重要,要特别注意!!当主DNS修改解析文件时,必须要修改这个序列号,然后重启named服务后,从DNS才能正常同步过去!!
                         2H                           #刷新时间
                         10M                          #失败重试时间
                         7D                           #过期时间
                         1D )                         #否定答案时间
@                           IN      NS      ns1.dnstest.com.cn.          
@                           IN      NS      ns2.dnstest.com.cn.             #注意域名后面的.不能忘掉!    
ns1                         IN      A       192.168.223.1          
ns2                         IN      A       192.168.223.2            
www                         IN      A       192.168.223.3             #由于已经定义了根域名是wangshibo.cn,所以这里可以直接写域名前面的名称,也可以全部写出来。比如www或者写成www.wangshibo.cn.
nginx-web01                 IN      A       192.168.223.4             #如果写域名前的名称,就不需要带.符号,但如果是写域名全称,则需要带.符号,如nginx-web01.dnstest.com.cn.
nginx-web02                 IN      A       192.168.223.5
athena-web02                IN      A       192.168.233.6


5. 编写反向解析/var/named/1.168.192.zone

$TTL 1D
@ IN SOA ns1.dnstest.com.cn. root.dnstest.com.cn. (
                                 0 ; serial
                                 1D ; refresh
                                 1H ; retry
                                 1W ; expire
                                 3H ) ; minimum
              NS   ns1.dnstest.com.cn.
2            PTR   ns2 .dnstest.com.cn.
3            PTR   www .dnstest.com.cn.

~    

6. 检查zone配置文件

named-checkzone ns1 /var/named/dnstest.com.cn.zone

7. 重启主DNS服务

systemctl restart named

8. 从dns服务器添加数据配置文件

vi /etc/named.rfc1912.zones

#正向解析
zone "dnstest.com.cn" IN {
        type slave;      
        file "slaves/dnstest.com.cn.zone";   
        allow-update { 192.168.223.143; };
        also-notify { 192.168.223.143; }; 
        check-names ignore; 
};


#反向解析
zone "1.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/1.168.192.zone";
        allow-update { 192.168.223.143; };
        also-notify { 192.168.223.143; };
        check-names ignore;

#DNS转发
zone "baidu.com" IN {
        type forward;
        forward only;
        forwarders { 8.8.8.8; };

9. 重启从DNS服务

systemctl restart named

10. 配置keepalived

两台主机同时安装keepalived

yum -y install keepalived

11. 节点1(master)配置

#备份配置文件
cp /etc/keepalived/keepalived.conf /mnt/

#编辑配置文件:
vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {                 #全局配置
   router_id lb01             #路由id号,不能重复
}
vrrp_instance VI_1 {           #定义一个实例
    state MASTER            #态参数 master/backup 只是说明,具体根据优先级
    interface ens33           #虚IP地址放置的网卡位置
    virtual_router_id 51       #同一个集群id一致
    priority 100              #优先级决定是主还是备 越大越优先
    advert_int 1              #主备通讯时间间隔
    authentication {         
        auth_type PASS        #认证方式,集群中要一致
        auth_pass y6@1wLy 
    }
    virtual_ipaddress {
        192.168.223.150       #使用的虚拟ip,要和网段内ip不冲突
    }
}

 12. 节点2 (backup)配置

#备份配置文件
cp /etc/keepalived/keepalived.conf /mnt/

#编辑配置文件
vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {                  
   router_id lb02               #更改
}
vrrp_instance VI_1 {        
    state BACKUP               #作为备份
    interface ens33         
    virtual_router_id 51    
    priority 50                 #优先级调小
    advert_int 1                
    authentication {         
        auth_type PASS          #认证方式,集群中要一致
        auth_pass y6@1wLy 
    }
    virtual_ipaddress {
        192.168.223.150         #使用的虚拟ip,要和网段内ip不冲突
    }
}

13. 启动keepalive

systemctl start keepalived.service

14.验证

把本地winds的DNS改为192.168.223.150
cmd 进入命令控制台

nslookup ns1.dnstest.com.cn

返回结果为:192.168.223.1

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微风◝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值