• 如何搭建DNS服务(转)


    继NTP时间服务器后,继续搭建DNS服务,鉴于昨晚撰写时间超过预期,这次改变策略,先把自己需要用到的部分写出来(主要是基于RAC的搭建,只涉及正向和反向DNS解析),后面再添加必要的说明和阐述。

    试验环境:

          1. Red Hat 6.3

          2. IP 192.168.1.128

          3. 欲搭建的域名 being.com

    一、安装DNS软件

         [root@hello ~]# yum install bind* -y

    查询相关软件包:
    [root@localhost ~]# yum search bind
    Loaded plugins: product-id, refresh-packagekit, subscription-manager
    Updating Red Hat repositories.
    ====================================================================================== N/S Matched: bind ======================================================================================
    PackageKit-device-rebind.i686 : Device rebind functionality for PackageKit
    bind.i686 : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
    bind-chroot.i686 : A chroot runtime environment for the ISC BIND DNS server, named(8)
    bind-utils.i686 : Utilities for querying DNS name servers
    其中各软件包的作用如下:
    bind: 提供域名服务的主要程序及相关文件。
    bind-chroot:为bind提供一个伪装的根目录以增强安全性。
    bind-utils:提供对DNS服务器测试的工具程序(如nslookup、dig等)。

    安装BIND软件包#yum install *bind*

    http://zhidao.baidu.com/link?url=GKW3_J4Dnygm2WMk71aftHPkiy9_7Av-DjvblzKVvm-vKmdwMOnWrv6QQryT5OFs0xPjDFq1FyGhLOpv8hc22jaTcysNcMNamp3npw7X0LS

    二、修改配置文件

         [root@hello ~]# vim /etc/named.conf             

    复制代码
    options {
            listen-on port 53 { 127.0.0.1; };  -->>将127.0.0.1改为any,代表所有主机可以对本机的DNS服务进行查询
            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";
            allow-query     { localhost; };   -->>将localhost改为any,指定谁可以对我的DNS服务进行查询
            recursion yes;
    
            dnssec-enable yes;
            dnssec-validation yes;
            dnssec-lookaside auto;
    
            /* Path to ISC DLV key */
            bindkeys-file "/etc/named.iscdlv.key";
    
            managed-keys-directory "/var/named/dynamic";
    };
    include "/etc/named.rfc1912.zones";  -->>include代表该文件是子配置文件
    include "/etc/named.root.key";
    复制代码

    三、将需要添加的域的信息写在子配置文件里  -->>记录域和域相对应的数据文件在哪里

         [root@hello ~]# vim /etc/named.rfc1912.zones  -->>添加到最后    

    zone "being.com" IN {
            type master;
            file "data/master.being.com.zone";
    };

    四、建立数据文件  -->>记录域名与IP的对应

         [root@hello ~]# vim /var/named/data/master.being.com.zone  -->>注意,这个文件名必须和上面子配置文件中的信息相同     

    复制代码
    $TTL 3600
    @     IN    SOA   dns1    victor.mail (
                      20140324
                      30
                      60
                      90
                      3600 )
    @      IN    NS    192.168.1.128.  -->>注意这里有个点
    node1  IN    A     1.1.1.1
    node2  IN    A     2.2.2.2
    复制代码

     在这里,因为不是做主从DNS,SOA后面的七个参数可以随便写,具体解释见下文。

     其中:NS代表Name Server,A(即Address)代表后面的IP是IPv4

              node1指的是主机名,倘若后面加上域名,则后面必须加个点,即node1.being.com. IN A 1.1.1.1

    五、重启服务,进行测试

         [root@hello ~]# /etc/init.d/named restart

         [root@hello ~]# nslookup node1.being.com

         Server: 192.168.1.128
         Address: 192.168.1.128#53

         Name: node1.being.com
         Address: 2.2.2.2

         正向DNS解析OK!

    现在开始搭建反向DNS解析

    一、在子配置文件中添加反向解析数据文件的信息

         [root@hello ~]# vim /etc/named.rfc1912.zones 

    zone "1.168.192.in-addr.arpa" IN {
            type master;
            file "data/master.1.168.192.in-addr.arpa.zone";
    };

    二、 建立数据文件

          [root@hello ~]# vim /var/named/data/master.1.168.192.in-addr.arpa.zone

    复制代码
    $TTL 86400
    @    IN    SOA    hello   world (
                             20140312
                             30
                             40
                             50
                             86400 )
           IN    NS     192.168.1.128.
    11   IN    PTR    hello.world.com.
    复制代码

    三、重启服务,进行测试

         [root@hello ~]# /etc/init.d/named restart

         [root@hello ~]# nslookup 192.168.1.11

         Server: 192.168.1.128
         Address: 192.168.1.128#53

         11.1.168.192.in-addr.arpa name = hello.world.com.

         至此,反向解析OK!

     正向解析和反向解析基本OK,后面的主要是DNS其它应用的补充及相关参数的说明。

    复制代码
    $TTL 3600
    @     IN    SOA   dns1    victor.mail (
                             20140324
                             30
                             60
                             90
                             3600 )
    @         IN    NS    192.168.1.128.
    node1  IN    A      1.1.1.1
    node2  IN    A      2.2.2.2
    hello.being.com. IN CNAME node3.being.com.
    node3.being.com. IN A 3.3.3.3
    复制代码

       1. 所有设定数据一定要从行首开始,前面不可有空格符。若有空格符,代表延续前一个domain的意思

       2. @代表zone的意思,在本例中,即代表being.com

       3. "hello.being.com."后面的点代表一个完整主机名,即hostname.domain。如果没有这个点,则仅代表hostname

       4. CNAME代表别名

       5. TTL是time to live的缩写,即当这笔记录被其它DNS服务器查询到后,保存在这些服务器中的时间,单位秒

       6.  SOA是Start Of Authority(开始验证)的意思,与域有关,后面共会接7个参数,这7个参数的意义依次是:

            1> Master DNS 服务器主机名,即在这个域中哪个DNS作为主服务器,在本例中,即dns1.being.com

            2> 管理员的Email。即出现问题可给管理员发邮件。在本例中,是victor@mail.being.com

            3> 序号。这个序号代表这个数据库档案的陈旧,序号越大,代表越新。当slave要判断是否主动下载新的数据库时,就以序号是否比slave上的还有新来判断

            4> 更新频率(Refresh)。即slave向master要求数据更新的频率  

            5> 失败重新尝试时间(Retry)。如果因为某些因素,导致slave无法对master达成联机,那么在多久的时间内,slave会尝试重新联机到master

            6> 失效时间(Expire)。如果一直失败尝试时间,持续联机到达这个设定值时限,那么slave将不再继续尝试联机

            7> 快取时间(Minimum TTL)。如果在这个数据库zone file中,每笔记录都没有显性设定TTL快取时间的话,那么就以这个值为主

    http://www.cnblogs.com/ivictor/p/3623096.html

  • 相关阅读:
    python学习---字符编码
    python学习--变量
    python学习--pycharm编辑器及优化设置
    python学习--第一个python程序helloworld
    python安装
    python学习---python2与python3的区别
    win7下weblogic安装与部署项目调试记录
    ubuntu获得root用户权限,使用xshell连接!
    linux命令
    nginx + tomcat 集群记录
  • 原文地址:https://www.cnblogs.com/softidea/p/5447559.html
Copyright © 2020-2023  润新知