linux_DNS服务器(正解/反解)的简单建立

什么是DNS?
数据库

    DNS(Domain Name System) 域名系统。它是现在互联网上可以相互通讯的服务之一,对于如今的互联网特别特别重要的,由于在这我的们不能很好记忆数字IP地址的问题上,输入IP地址来访问其余的主机是很困难的,和不现实的,若是数字IP地址用咱们所熟悉的各类名称(字符,例如:baidu taobao 等)就很好记忆啦。DNS就是来完成这个解析的功能的。
缓存


DNS工做的原理服务器

    首先,咱们先了解一个内容,例如www.baidu.com,ide

    www.baidu.com 在DNS中是有阶层的  .com                 中国工具

                                        .baidu.com              中国河南测试

                                              www.baidu.com            中国河南XX市spa


    那么咱们说说DNS服务的工做机制以下图:
3d




wKioL1PgxgHiZBkIAABwaT0RUEg565.png

咱们对上图进行下说明:blog

    首先,客户端想要访问 www.baidu.com这个服务器递归

        1,把请求发送给DNS服务器,DNS服务器收到请求后,发送给 .(根)服务器,

        2,根服务器发现.com这个域是本身管辖的,就返回给DNS服务器,.com的地址,而后DNS服务器就去访问com这个服务器

        3,.com这个服务器收到DNS的请求后,就发现.baidu.com就在本身的域内,因而就把.baidu.com返回给DNS,让它去找.baidu.com

        4, .baidu.com收到DNS的请求后,发现对方要找的是本身域下的www,就告诉DNS你找对人啦,我就是你要找的,我这就把个人IP地址发给你,因而DNS请求到了目标IP地址。

        5,DNS服务器把请求到的目标IP返回给PC机,PC机根据获得的www.baidu.com的IP地址,就找www.baidu.com这个服务器通讯去啦,至此域名解析完成。


既然DNS这么重要,那么咱们怎么样要配置一个DNS服务器呢?

第一步,  咱们要知道,建立一个DNS服务器就比如一个市要开发一个新区同样,必需要给上级申请,上级比准后才能建设是否是,这里也是同样,咱们必须向咱们上层的域管理者申请备案,而后才能得到认同,别的主机访问咱们,上级才知道咱们是哪一个部分的,不然,上级都不知道咱们的存在,别的主机怎么能访问咱们呢?

第二步,才是开始建设配置DNS服务器啦,下边就详细说 下

    在一台主机上建立一个DNS服务器,要准备一些环境。要能启动该服务,咱们就须要bind这个工具,bind是DNS服务工具。

    与DNS服务相关的几个配置文件,先给大家说下

    /etc/hosts   它是最先记录IP与主机名的档案(那时的互联网无法和如今比,因此一个文档就能够记录了)

    wKioL1Pgz2-QCCDxAAAdqY4tu3Q897.png

    /etc/resolv.conf      它是DNS客户端的配置文件,记录DNS服务器IP的,这里DNS指向以下图:

wKioL1Pg0BXTAlSfAAAT3cRne0g049.png


    /etc/named.conf     它是bind这个工具的主配置文件,它里面定义了:

                        options {

                            director   “工做目录(默认/var/named)”

                            recursion   yes    //是否接受递归查询

                        };


                        zone "." IN {

                            type hint;      //zone是定义区域的关键字,此处

                            file "named.ca"  // 指定该区域的数据库文件默认在/var/named/

                        };

    好啦,配置文件介绍完了,下面开始简单配置吧,

咱们主配置文件以下(只含有主要内容,其余我都注释掉了):

wKioL1Ph_lzTFNdWAABYqFwO9iw654.png下一步咱们去 /etc/named.rfc1912.zones 这个文件内写上要定义的域mage.com


wKioL1PiADzhHvDuAAA8rcvUNoM363.png


看到file "mage.com.zone" 那行没,那个文件名就是咱们要配置的正向解析库文件,它在/var/named/mage.com.zone ,下面咱们来看看里面的东西;

wKiom1PiBHiiGDHbAABJMb45ME8494.png 这个文件的属组要改成named,权限改成640  

 下面我来给你解释解释上面的具体内容:

    @ (本地域名)    SOA(起始区域受权记录)  ns.magecom(就是DNS服务器的名字)

第一行的意思:区域受权的第一条记录,因此任务该文件的第一行必须是SOA类型的,

                域mage.com 受权 ns.mage.com这个DNS服务器管理下面的服务器

                admin.mage.com 这个名称是DNS服务器管理员的邮箱地址,

    201401 表明的是此文件序列版本号,若是此文件内容有更新则必须修改此序列号,不然在主从服务器模式上,从服务器将不会从主服务器上跟新数据的。


    3D 表明的是从服务器多久从主服务器上同步数据的刷新时间为3天

    1H 表明的重试间隔时间为1小时,即从服务器联系不到主服务器,须要重试连接的时间间隔

    1W 表明的过时时间1周,便是,从服务器多久后就再也不工做的时间

    3H 记录在缓存中的存留时间

    每个服务器的名称都应该对应一个存在的IP地址,且必须有一条A记录也就是主机记录,

    为何xxx.mage.com对应的不是IP地址呢?由于这是我给www.mage.com起的一个别名,至关于人的小名都表明同一个服务器。

    至此,咱们就配置成功了,下面咱们要启动这个DNS服务器。

service  named  start 

/etc/rc.d/init.d/named start

   

wKiom1PiBgTxNHrhAAAKPK1oc-E015.png用命令 ss -unl (看53号端口是否处于监听状态,若是有证实启动成功)

wKioL1PiBquxJc52AAAlza0mcl0501.png

既然启动成功了,那咱们测试下DNS服务器可否解析域名成功呢?

有如下几种命令:

nslookup 这个能够直接用 nslookup ns.mage.com查询

wKioL1PiJ1-juQyMAAAMCeCCNrM910.png

还能够直接使用 nslookup,会出现一个交互界面:

wKiom1PiJmmhusJgAAAWr85TPZg074.png

显示的都能解析出域名对应的IP,是否是。


另一种测试的命令是host命令如: host www.mage.com

wKiom1PiJvPiyaZKAAAHUWdzPcA965.png

而host -a www.mage.com则要显示更为详细的内容

wKioL1PiKIOAlJuJAAAxVesHXlo855.png


还有一个很是强大的命令就是dig,是如今很是流行的DNS测试工具之一,用法以下:

dig: 查询选项

+trace    跟踪查询

+notrace    不跟踪查询

+recurse    递归查询

+norecurse    不递归查询


dig trace www.mage.com 正向跟踪查询

wKioL1PiKtPj0DsZAABGH6Ka-Jk619.png

dig -x www.mage.com 则就是反向查询了

对于反向查询,首先咱们定义有反向区域,在反向区域内建立反向解析库文件以下:

咱们在/etc/named.rfc1912.zones中,定义反向区域

wKiom1PiMCPh0GgQAAAHubgiEyM672.png

编辑反向解析库文件 172.16.249.zone

wKioL1PiMVujLfbaAAAS-rY9T3Q255.png

并修改该文件的权限为640,且属组为named组,

来用host测试下看看:wKiom1PiNbLB6qCQAAAgBkRYBMM951.png

看吧,成功解析出mail.mage.com这个域名,这就是反解的通常步骤。

上面就是主DNS服务器的配置,可是只有一个主DNS服务器,那若是DNS服务器当机了怎么办呢?全部要有一个辅助的DNS主机也叫“从DNS服务器”

从DNS服务器的建立:

    因为从DNS的服务器中的解析库数据是从主DNS服务器同步过来的,因此不须要手工创建数据库文件。因此,咱们只需编辑从DNS服务器的配置文件就行,编辑以下:且要指定主DNS服务器的IP。

wKiom1PiQiug5Cs_AAAJUI2eFV0551.png

mkdir /var/named/slaves  还要在/var/named/建立目录slaves,这是配置从DNS服务器的要求

同时还需在主DNS服务器里面添加从DNS的SOA记录与A记录,

wKiom1PjZkmyVK7AAAAi8qhZYTY951.png

    而后从新启动从DNS服务器, service named start 

    你就会发如今slaves这个目录下已经有同步的文件了 

wKiom1PjZ1XSwEcpAAALscw8SB4806.png

    如今你就可使用从DNS服务器来完成主DNS服务器须要解析的域名啦,来看看吧:

wKiom1PjZz2gQ2TRAAAa8Lvg5Ig333.png


我是经过从DNS来解析www.mage.com这个域名的,得出的和主DNS解析的同样,是否是很简单(⊙o⊙)?

相关文章
相关标签/搜索