经过上节DNS缓存服务器的搭建之后这里我们来详细说一下DNS服务器的详细配置

        经过一个简单的DNS缓存服务的搭建之后,我们大概知道DNS的几个知识点:

        (1)DNS服务器的架设需要上层DNS的授权才可以成为合法的DNS服务器;

         (2)如果用rpm格式的bind的组件包安装的话默认配置文件为/etc/named.conf,运行程序为named;

           (3)  每个正、反解区域都需要一个数据库文件,而文件名则是由/etc/named.conf设置;

         (4)当DNS查询时,若本身没有数据文件,则前往root(.)或forwarders服务器查询;

            其中第一点是很重要的,由于这里没有申请合法的DNS域名,所以用一个test.com的本地域来进行说明


1.正解文件资源的记录格式

          1.1.记录类型:A,AAAA,PTR,SOA,NS,CNAME,MX

                     SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅有一个SOA记录,而必须为解析库的第一条记录;

                     A:internet Address,作用,FQDN-->IPv4

                     AAAA:FQDN-->IPv6

                     PTR:PoinTeR,IP-->FQDN

                     NS:Name Server,专用于标明当前区域的DNS服务器

                     CANME:Canonical Name,别名记录

                     MX:MAIl eXchanger,邮件交换器

 

             1.2.资源源记录定义的格式:

                       语法:name [TTL] IN  rr_type   value

                    

                       注意:(1)TTL可从全局继承;记录缓存时间 

                                  (2)@可用于应用当前区域的名字;

                                  (3)同一个名字可以通过多条记录定义多个不同的值;(此时DNS服务器会以轮询方式响应);

                                  (4)同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表示通过多个不同的名字可以找到同一个主机而已;


2.RR格式的具体详解

            2.1.SOA:查询管理域名的服务器管理信息

                    SOA:

                              name:当前区域的名字,例如“test.com.”;

                              value:有三部分组成

                                       (1)当前区域的主DNS服务器的FQDN,也可以是当前区域的名字:

                                       (2)当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如linuxedu.test.com;

                                       (3)(主从服务协调属性的定义以及否定的答案的同一的TTL)

                              例如:

                                        test.com.  86400  IN  SOA  ns.test.com.   nsadmin.test.com.  (

                                                                  2015042201  ;序列号

                                                                   2H                 ;刷新时间

                                                                   10M               ;重试时间

                                                                    1W                ;过期时间

                                                                    1D                ;否定答案的TTL值

                                                                                                                                                                    )

                2.2.NS:查询管理区域名(Zone)的服务器主机名

                         NS:

                                name:当区域的名字

                                 value:当前区域的某DNS服务器的名字,例如ns.test.com.;

                                            注意:一个区域可以有多个NS记录

                                例如:

                                           test.com.            IN        NS     ns1.test.com.

                                           test.com.            IN        NS     ns2.test.com

                    

                                注意:

                                    (1)相邻的两个资源记录的name相同时,后续的可省略;

                                    (2)对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A的记录;

                2.3.MX:查询某域名的邮件服务器的主机名

                       MX:

                                name:当前区域的名字

                                value:当前区域的某邮件服务器(smtp服务器)的主机名;

                                            一个区域内,MX记录可有多个;但每个记录value之前应该有一个数字(99),表示此服务器的优先级;数字越小优先级越高;

                        

                                例如:

                                           test.com.    IN  MX  10  mx1.test.com.

                                                                    IN  MX  20  mx2.test.com

                                注意:

                                        (1)对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录;

                2.4.A,AAAA:查询IP的记录

                          A,AAAA:

                                 name:某主机的FQDN,例如www.magedu.com.

                                 value:主机名对应的IP地址;    

            

                                 例如:

                                          www.test.com.    IN   A   1.1.1.1

                                          www.text.com.    IN   A   1.1.1.2

                                          mx1.test.com.      IN   A   1.1.1.3

                                          mx2.test.com       IN   A   1.1.1.3

                                  注意:

                                        *.test.com.             IN    A    1.1.1.4

                                           test.com.             IN    A     1.1.1.4

                2.5.cname:设置某主机名的别名(alias)

                            CNAME:

                                   name:别名的FQDN

                                   value:正工名字的FQDN;

                                   例如:

                                        web.test.com.       IN    CNAME    www.test.com.

3.反解文件记录的RR数据

                        PTR就是反解,即是查询IP所对应的主机名

                        PTR:

                                name:IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1:而有特定后缀:in-addr.arpa.,所以完整写法为:4.3.2.1.in-addra.arpa.

                                value:FQDN

                                

                                例如:

                                        4.3.2.1.in-addr.arpa.   IN  PTR    www.test.com

                                 简写成:

                                        4   IN   PTR     www.test.com.

                                 注意:网络地址及后缀可省略;注意地址依然需要反着写;

知识点补充:/etc/nsswitch.conf:z这个文件是来决定先使用/etc/hosts还是/etc/resolv.conf的设置

          hosts:    files dns

         上面那个files就是使用/etc/hosts,而最后的dns则是使用/etc/resolv.conf的dns服务器来搜寻我们的主机使用DHCP取得IP,隔不了多久文件会回复成原来的样子,系统会主动使用DHCP服务器传来的数据进行系统配置文件的修订,因此,不要使用DHCP传来的服务器设置值。在/etc/sysconfig/network-scripts/ifcfg-eth0等相关文件中增加一行“PEERDNS=no” 然后重启网络即可。此外建议关掉centos 6.x系列的NetworkManger守护进程。