企业内部DNS从服务器架构的步骤

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业内部DNS从服务器架构的步骤相关的知识,希望对你有一定的参考价值。

从DNS服务器的架设

之前文章有说“主DNS服务器”的架构过程,现在来说从服务器的架构步骤,主从DNS服务器的IP地址和服务器名称均不变。


基本上来说从服务器的设置比较简单,因为主服务器的数据都已经做完了,从服务器只需要做好链接,然后验证是否能从主服务器上读取到数据即可。


主服务器的IP:172.16.100.1,名称叫dns;从服务器的IP:172.16.100.2,名称叫ns2。


登陆从DNS服务器,#yum install bind -y,获取bind,然后vim /etc/named.conf,这个conf也是要具备“链接全球13个根节点+本地正向解析+本地反向解析”的功能。


然后#scp 172.16.100.1:/var/named/{name.ca,localhost.zone,named.local},从主服务器上复制到这三个基本的dns解析文件。同样把这三个文件放入/car/named这个文件夹内。


然后弄rndc,#rndc-confgen > /var/rndc.conf。将rndc.conf里后几行的内容复制粘贴到named.conf里,同时#chmod :named /var/named/#chmod :named /etc/named.conf


现在这个时候可以检查一下语法,并且尝试#dig -t A localhost看一下输出的结果是不是127.0.0.1。如果成功的话,那么说明整个named.conf这个文件是OK的。


既然named.conf这个文件OK,但是里面还没有具体的slave设定,所以目前这台DNS服务器仅仅是一个缓存服务器而已,还算不上是DNS从服务器,于是要往里面添加具体的内容,在named.conf里添加:

zone "lnsjb.com" IN {

            type slave;    #指定本服务器的性质是 从服务器;

            masters { 172.16.100.1; };    #他的主子是172.16.100.1

            file "/var/named/slave/lnsjb.com.zone";    #从主子那里获取的相关文件保存在这个路径里

};


如果要添加一个反向的解析,比如172.16网段的方向解析:

zone "16.172.in-addr.arpa" IN {

            type slave;

            masters { 172.16.100.1; };

            file "/var/named/slave/172.16.zone";

};


先加入这两段一正一反的信息,保存退出之后,#setforce 0#rndc reconfig,看一下lnsjb.com.zone和172.16.zone 是否被同步了过来。


架设之后

现在主从DNS服务器已经建立了关系,这时候手动在主DNS上的lnsjb.com.zone里添加一条新的记录,比如:games.lnsjb.com 对应的ip是 172.16.100.9。添加完毕之后,要切记把编号+1,然后:wq保存退出。


在主dns服务器上#rndc reload,然后到从服务器上#dig -t A games.lnsjb.com,会看到这条信息已经可以被解析了。可见编号发生了的改变,主DNS服务器就会自动通知从服务器来获得最新的数据。


但是这样的设定会带来巨大的隐患,其他人随便做一个dns服务器,写上我们的IP地址,就可以#dig -t axfr 域名 的方式获得我们服务器里目标域所有的IP信息,这肯定是不安全的。所以要在主服务器上做一个设定:仅仅准许从dns服务器的ip可以申请一次性获取大量数据,其余的ip地址一律屏蔽掉。


这个时候就要在主DNS服务器的named.conf里使用allow-transfer,在开头的options里加入allow-transfer的话,是全部域都可以传送到目标ip上,如果是在某个域内单独加上allow-transfer的话,是特意指明这个域的信息可以被传送到目标ip上,如:

options {

            directory "named文件夹的路径";

            allow-transfer { 203.56.100.4;176.24.99.6; };    #这样就指定下面所有的域信息可以被这两个IP获取,其余IP都不行

};


还有一个方法,比较一劳永逸,就是在主dns服务器上设定ACL(访问控制列表)。这个acl要在named.conf文件里的最上方进行设定,把具体的ip或者某个网络端添加到acl里,比如:

acl MYSLAVES {

           127.0.0,1;    

           203.56.100.1;

           176.24.99.1;    #将上面三个ip地址,归属于MYSLAVES这个acl里

};

acl MYCLIENTS {

           192.168.0.0/24;        #将整个192.168.0.1~192.168.0.254都加入到MYCLIENTS这个acl里

           127.0.0.1;        #别忘了本机也要递归的

};


options {

           directory "/var/named/";

           allow-transfer { MYSLAVES; };    #只有MYSLAVES组里的成员可以访问

           allow-recursion { MYCLIENTS; };    #只有MYCLIENTS组里的成员可以递归查询

};


acl有几个默认的名称,常用的有:none(一个都没有)、any(所有)、localnet(本地机处在的网络)


如果要检查是否可以递归的方式进行查询,那就#dig +recuse -t 目标网址 @指定的dns服务器(这个服务器要能上互联网)。


本文出自 “生活就是等待戈多” 博客,请务必保留此出处http://chenx1242.blog.51cto.com/10430133/1752963

以上是关于企业内部DNS从服务器架构的步骤的主要内容,如果未能解决你的问题,请参考以下文章

中小型企业内部网络架构

DNS主从服务器架构的步骤

架构师成长之路6.4 DNS服务器搭建(部署主从DNS)

企业级DNS服务集群架构设计及BIND部署配置实战

企业两台Centos8服务器配置DNS转发和主从架构

中小企业自建DNS服务器解决方案(待续)