DNS服务器之配置

一、安装DNS服务器

    DNS服务的安装包为bind,使用yum直接安装即可:

1.png

    安装完成后,查看DNS服务相关的文件:

2.png

二、配置正向区域

    1、在配置正向区域之前,先来看下主配置文件中的内容:

    全局配置段

1.png

    其中:

        listen-on port 53:监听端口,默认是本机,即只允许本机进行DNS查询,可以使用any开放给所有用启。

        direcoryt:指明正、反向解析区域的配置文件的存放路径。

        dump-file、statistics-file、memstatistics-file:这三个文件为统计信息文件,可以不设置。

        allow-query:定义哪些客户端可发送DNS查询请求。

        recursion:开启递归查询。

2.png

        logging表示定义的日志的相关信息。

        zone表示区域设置,主配置文件中默认定义了根域。

        include表示后面的文件是此配置文件的组成部分。

        打开/etc/named.rfc1912.zone2文件,里面已经定义了许多默认的zone。

4.png

    说明:我们手动添加正、反向区域时,可以直接在主配置文件(/etc/named.conf)中定义,也可以在/etc/named.rfc1912.conf文件中定义。

    2、配置正向区域

        1)修改主配置文件

1.png

        2)添加区域记录

2.png

        3)创建区域文件

3.png

            格式说明: Name   [TTL]   IN     RRType    VALUE

                Name:资源记录的名称。

                TTL:缓存时间,可以在文件开头统一定义。

                IN:固定格式。

                RRType:资源记录的类型。

                VALUE:资源记录所对应的值。

            针对不同的资源记录,格式中各字段的内容也不尽相同:

                (1)SOA

                    任何解析库文件的第一个库文件必须是SOA。

                    Name:当前区域名称,通常可以简写为@。

                    VALUE:通常是主DNS服务器的FQDN,也可以是当前区域的区域名称。

                    以上图为例,说明SOA各字段的含义:

                    @     IN     SOA    ns.test.com.    admin.test.com. (

                                    serial number       ;解析库的版本号,最长不超过10位;

                                    refresh time        ;周期性同步时长;

                                    expire time         ;过期时长;从服务器放弃解析之前所用的时长;

                                    negative answer ttl ;否定答案的统一缓存时长,对于没有解析到的记录的缓存时间;

                            )

                    注意:admin.test.com.是邮件地址,由于此文件中@已有特定的含义,所以使用.来代替@。

                (2)NS:Name Server

                    Name:区域名称。

                    VALUE:DNS服务器的FQDN。

                    注意:

                        1、如果有多台NS服务器,每一台都必须有对应的NS记录;

                        2、对于正向解析文件来讲,每一个NS的FQDN都有一个A记录。

                (3)MX:Mail Exchanger

                    Name:区域名称。

                    VALUE:邮件服务器的FQDN。

                    注意:

                        1、如果有多台MX服务器,每一台都必须有对应的MX记录;

                        2、对于正向解析文件来讲,每一MX的FQDN都有一个A记录。

                (4)A:Address

                    Name:FQDN。

                    VALUE:IP。

                (5)CNAME

                    Name:别名,新FQDN。

                    VALUE:原FQDN。

                (6)PTR

                    Name:逆向的主机IP地址(不包含网络地址)加后缀.in-addr.arpa。

                        例如:172.16.100.7/16其name为7.100.in-addr.arpa

                    VALUE:FQDN。

    3、启动服务

5.png

    4、测试DNS服务器

        下面分别使用三个工具来测试DNS服务器。

        1)host

            命令格式:host -t [A|NS|SOA|MX|PRT] NAME DNS服务器

4.png

        2)nslookup

            命令格式:

                server [DNS服务器]

                set type=[A|NS|SOA|MX]

                <Name>

5.png

        3)dig

            命令格式:dig -t [A|NS|SOA|MX|AXFR] @DNS服务器

                其它常用选项:

                    +trace:启动跟踪;

                    +notrace:关闭跟踪;

                    +recurse:启动递归;

                    +norecurse:关闭递归;

                    -x PTR:测试反向记录。

1.png

三.配置反向区域

    1)添加反向区域记录

1.png

    2、创建反向区域文件

2.png

    3、重新加载DNS服务

3.png

    4、测试DNS服务器

4.png

四、主从复制

    1、网络拓扑

        blob.png

    2、配置主、从DNS服务器

        1)在主DNS服务器的配置文件中添加NS记录    

1.png

4.png        2)在从DNS服务器上安装bind。(略)

        3)修改从DNS服务器的区域定义配置文件。

3.png

        4)重新启动服务

5.png6.png

        5)验证

        由于CentOS不允许查看从服务器的区域配置文件,所以只能通过日志来了解同步情况。

2.png

        上图为从服务器的日志信息,其信息表明区域传送成功。

3.png

        在DNS主目录中已经可以看到自动同步过来的区域文件,此时就可以使用从DNS服务器进行域名解析了。

3.png

五、子域授权

    1、网络拓扑

        blob.png

    2、修改主配置文件/etc/named.conf

1.png

    3、在父DNS服务器的区域中添加子服务顺的信息

1.png

    4、配置子域的区域定义文件

2.png

    5、创建区域配置文件

3.png

    6、重新加载服务

        两台DNS服务器都要重新加载服务配置。

4.png

    7、测试

        使用父域的DNS服务器可以解析到子域的域名记录。

4.png

六、转发器

    在上面的实例中,可以能过父域解析到子域的记录,那么通过子域能否解析到父域上的记录?如下图所示:

1.png

    结果是解析不到的,不过我们可以通过配置转发器把test.com域的请求发送到父域DNS服务器上。

    转发器的配置有两种方式:

        1)配置转发区域,指明将哪个区域的请求转发到指定的服务器进行解析,如下图所示:

2.png

         2)在/etc/named.conf的全局配置中指定转发,这样会把所有本地无法解析的请求都发送给指定服务器,如下图所示:

1.png

        解释:

            forward {only|first}

                only:表示只要对指定的服务器发起递归查询,如果依然查询不到就认为请求资源无效。

                first:对指定服务发起查询无果后,会继续从根服务进行的迭代查询。          

七、DNS视图

    1、网络拓扑

       blob.png

    2、定义视图并创建区域文件

4.png5.png

    上图中共定义了三个视图,分别为inter、outer、other。每个视图都为特定的客户端提供解析服务,inter专门为192.168.253.0/24网络内的主机提供解析;outer专门为192.168.2.0/24网络内的主机提供解析;其它的主机全部由other视图提供服务。

    每个视图中定义的相同的正向区域test.com,但是它们的区域配置文件又各不相同,如下图所示:

6.png7.png8.png

    这些不同的配置文件保证同样的域名能够解析出不同的IP地址。

    3、重新启动服务

    4、验证

        分别使用3台客户端解析www.test.com,得到了不同的IP地址,如下图所示:

9.png10.png 

11.png

    使用view的注意事项:

1、  通常只为内网客户端提供递归功能,提供根区域等,将所有的zone全都放到view中。

2、  通常只为外网客户端提供本机所负责的区域,在view中只定义本地的zone。 

八、DNS访问控制和ACL

    1、访问控制

        allow-tranfer {}:允许向哪些服务器进行区域传送。

        allow-query {}:接受哪些客户端发起的查询请求。

        allow-update {}:是否允许动态更新A记录和PTR记录。

       allow-recursion {}:允许哪些客户端进行递归查询。

        recursion yes|no;:是否允许递归查询。

    2、ACL

        1)CentOS内置了一些ACL范围:

            none:没有任何对象。

            any:所有对象。

            localhost:本机。

            localnet:本机所在网络。

         2)自定义acl

                格式:

                   acl ACL_NAME

                            ip;

                            network;

                   };

                例如:

                   acl test {

                            192.168.253.0/24;

                            10.0.0.0/16;

                   };

                   allow-recursion { test; }  允许ACL中定义的主机可以递归。

                注意:acl通常定义在主配置文件中的option的前面。

原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/3788

(0)
petmasterpetmaster
上一篇 2015-05-02 19:19
下一篇 2015-05-04 14:45

相关推荐

  • 第二周练习作业

    第二周作业 1、2、4、5 题博客中已经总结 3、请使用命令行展开功能来完成以下练习: (1)、创建/tmp目录下的:ac, ad, bc, bd (2)、创建/tmp/mylinux目录下的: mylinux/     ├── bin     ├── boo…

    Linux干货 2016-11-06
  • 安装CentOS 6.9

    安装完VMvare,VMware可以运行虚拟机,虚拟机就相当于一台电脑,然后我们在这台电脑上安装Linux系统,我们这次介绍安装CentOS 6.9的过程 1.打开VMware,依照下图步骤安装     首先我们需要创建新的虚拟机,然后配置出适合自己物理机的虚拟机 2.点击典型类型安装     这里推荐使用典…

    2017-07-12
  • Linux三剑客之sed

    sed 简介 sed 工作原理 命令格式 常用选项: 地址定界: 编辑命令: 替换标记: sed元字符集(正则表达式) 高级编辑命令: sed用法实例 作业: 选定行的范围:,(逗号) 删除操作:d命令 显示模式空间内容 追加(行下):a\命令 插入(行上):i\命令 退出:q命令 多点编辑:e命令 从文件读入:r命令 写入文件:w命令 替换操作:s命令 替…

    Linux干货 2016-08-11
  • 实战演练su命令与sudo服务

    su和su- 切换方式 实例: sudo 提权 sudo的特色功能 sudo命令的常用参数 注意 案例1——允许zhanghe用户执行所有命令: 案例2——仅允许linuxprobe用户以root用户身份执行cat命令。 案例3——允许linuxprobe用户以任意身份执行命令,且每次都不需要密码验证。 su命令与sudo服务 在工作生产环境中不要去使用ro…

    Linux干货 2016-09-05
  • 初识Linux-即使是997也不能停止学习

    1.计算机的组成及其功能:    从1946年第一台通用计算机ENIAC诞生至今,几乎所有的计算机系统都是建立在冯诺依曼体系结构上的。那么何为冯诺依曼体系结构? 冯诺依曼体系结构:        控制器:是整个计算机的中枢,负责计算机的整体调度工作,将指令从存储器中取出,并对指令进行解释执行。 &n…

    Linux干货 2016-10-29
  • Linux用户和组管理

    Linux用户和组管理 Username / UID 管理员:root,0 普通用户 : 1–65535 系统用户 :系统已经已经存在专门用来对系统服务或者系统资源进行管理的 1–499(CentOS 6.X) 1–999 (CentOS 7.X) 登录用户:平时专门做系统管理的用户 500+ (CentOS 6.X) 1000+ (CeentOS 7.X)…

    Linux干货 2017-04-01