【工作】Linux 用于内网主机名和IP解析的DNS主从集群服务部署

热门标签

, , , , , , ,

一一网络

做互联网综合资源分享云平台!。

立即加入一一网络

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

写在前面:

之前研发代码程序中调用的服务器地址都是写的主机名,通过配置/etc/hosts来做解析,但是每次新增机器都需要在每台机器中添加主机名和IP的解析,不但效率很低,忘记添加或者写错解析,还会造成一些意想不到的问题。

准备工作:

1.运行环境:

OS: CentOS release 6.5
主DNS:192.168.162.43
从DNS:192.168.162.44

2.临时关闭selinux

# setenforce 0

3.添加防火墙规则

# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT
# service iptables restart

一.主从Server部署DNS服务

# yum install bind -y

二.配置主DNS

1.主配置文件

# 修改之前先备份一遍
# cp /etc/named.conf /etc/named.conf.bak
# vim /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
 
options {
  #监听在主机的53端口上。any代表监听所有的主机
    listen-on port 53 { any; };   
    listen-on-v6 port 53 { ::1; };
    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";
  #谁可以对我的DNS服务器提出查询请求。any代表任何人
    allow-query     { any; }; 
    recursion yes;
    dnssec-enable yes;
    dnssec-validation yes;
 
    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";
 
    managed-keys-directory "/var/named/dynamic";
};
 
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
 
zone "." IN {
    type hint;
    file "named.ca";
};
 
zone "100credit.cn" IN {
    #设置为主DNS服务器模式
      type master;
    #该域名的配置文件位置
      file "/var/named/100credit.cn.zone";
    #从DNS服务器访问权限
      allow-transfer { 192.168.162.44; };
    #谁可以对这个域名提出查询请求
      allow-query { any; };
    #允许自动更新
      allow-update { none; };
};
 
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

2.域名的配置文件

# vim /var/named/100credit.cn.zone
$TTL 600
@       IN SOA          100credit.cn. root (
                                        1       ; serial
                                        2M      ; refresh
                                        2M      ; retry
                                        1D      ; expire
                                        1D )     ; minimum 
 
@         IN  NS  dns.100credit.cn.
dns        IN  A   192.168.162.43
m162p43    IN  A   192.168.162.43
m162p44    IN  A   192.168.162.44
分析:
$TTL:  指正向解析的结果在缓存保存的周期(服务器决定客户端得到的解析结束在缓存保存的周期)
@:代表当前区域(100credit.cn)
SOA:  初始的设置记录
100credit.cn.:  代表DNS服务器的完整域名;
Root:  这里可写管理员的邮箱
Serial:  序列号,这个值是为了主辅区域文件同步的一个比较值,当主的serial值大于辅的时候这时就要进行主辅间的同步了。
refresh:  刷新;主服务器告诉辅服务器每2分钟来找我同步数据。
Retry:  当上面的serial refresh同步方法都无效的时候辅助服务器会每隔2分钟向主发出同步请求;
Expiry:  期限;(连续每隔15分钟发送请求如果一天后没有响应则不在请求,)
Minimum:  TTL值;
NS:  域名服务器记录又称为NS记录,在区域文件中用于设置当前域的DNS服务器名称
A:  地址记录又称为A记录,用于设置主机名到IP地址的对应记录;

3.启动主DNS并加入自启动

# /etc/init.d/named start
# chkconfig named on

三.配置从DNS:

1.主配置文件

# vim /etc/named.conf
基本上同主服务器的named.conf,不同的配置如下:
zone "100credit.cn" IN {
    #设置为从DNS服务器模式
      type slave;
    #不需要创建,直接是从主DNS服务器上同步过来
      file "slaves/100credit.cn.zone";
    #指定主DNS服务器
      masters { 192.168.162.43; };
      allow-query { any; };
      allow-update { none; };
};

2.启动从DNS并加入自启动

# /etc/init.d/named start
# chkconfig named on

三、客户端配置验证

# cat /etc/resolv.conf
domain 100credit.cn
search 100credit.cn
nameserver 192.168.162.43
nameserver 192.168.162.44 
# ping m162p44
PING m162p44.100credit.cn (192.168.162.44) 56(84) bytes of data.
64 bytes from 192.168.162.44 (192.168.162.44): icmp_seq=1 ttl=64 time=0.695 ms
64 bytes from 192.168.162.44 (192.168.162.44): icmp_seq=2 ttl=64 time=0.724 ms
64 bytes from 192.168.162.44 (192.168.162.44): icmp_seq=3 ttl=64 time=0.726 ms

四、添加新的主机名解析:

主DNS上操作如下:
# vim /var/named/100credit.cn.zone
$TTL 600
@       IN SOA          100credit.cn. root (
                                        2       ; serial
                                        2M      ; refresh
                                        2M      ; retry
                                        1D      ; expire
                                        1D )     ; minimum 
 
@         IN  NS  dns.100credit.cn.
dns        IN  A   192.168.162.43
m162p43    IN  A   192.168.162.43
m162p44    IN  A   192.168.162.44
m162p45    IN  A   192.168.162.45
重点:主要是更改serial的值,每次添加新的解析都需要更改此值,务必确保此值比从DNS上的值大,这样从DNS才会自动更新文件,同时refresh表示从DNS多长时间更新,此处我设置的是2分钟后自动同步。
 
# service named reload
如上操作后,从DNS两分钟后会自动从主DNS上同步新的正反向解析文件,同时无论主从DNS哪个宕机都不会影响客户端正常解析,此处不再贴代码,自己搭建验证即可。

未经允许不得转载:作者:admin, 转载或复制请以 超链接形式 并注明出处 一一网络
原文地址:《【工作】Linux 用于内网主机名和IP解析的DNS主从集群服务部署》 发布于2019-06-17

分享到:
赞(1)

评论 抢沙发

评论前必须登录!

  注册



【工作】Linux 用于内网主机名和IP解析的DNS主从集群服务部署

长按图片转发给朋友

一一网络
一一网络是一个做互联网的综合资源分享平台,邹洪博客,Emblog,Blog,免费,技术教程,破解源码,资源分享,永久免费,资源分享平台,免费破解,资源分享云平台,永久免费,技术教程分享网站,免费技术学习平台,一一网络是一个专注于网络资源开发和共享加建站教程、源码下载、WordPress主题、网站开发交流、程序软件下载、建站资源、多媒体交流、电影资源、Android软件分享为一体的多互动交流平台。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录