• 安装DNS Server linux 【转载】


    引用原处:http://blog.csdn.net/tianlesoftware/article/details/6006247

    一. 安装DNS Server

    在安装Redhat 系统的时候,有提示安装DNS Server。 不过那时为了简单,就没有安装。 这里要用到DNS,就只能在安装一下。 安装需要的RPM包安装镜像里有。 找到一下包,并安装:

           bind-9.3.6-4.P1.el5.i386.rpm  --提供核心的二进制程序

           bind-chroot-9.3.6-4.P1.el5.i386.rpm  --提供安装性

           caching-nameserver-9.3.6-4.P1.el5.i386.rpm --提供模板文件

    [root@rac1 Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm

    [root@rac1 Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm

    [root@rac1 Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm

    DNS的守护进程

           /usr/sbin/named   

           /usr/sbin/rndc

    DNS的脚本

           /etc/init.d/named

    DNS的端口

           53        953(tcp udp)

    DNS的配置文件

           /var/named/chroot/etc/named.conf(主配置文件)  

           /var/named/chroot/*

    二. 配置DNS Server

    1. 复制named.conf 文件

           由于安装了chroot环境,所以DNS主配置文件应该在/var/named/chroot/etc目录下面。

    [root@rac1 etc]# cd /var/named/chroot/

    [root@rac1 chroot]# ls

    dev  etc  var

    [root@rac1 chroot]# cd etc/

    [root@rac1 etc]# ls

    localtime  named.caching-nameserver.conf  named.rfc1912.zones  rndc.key

    查看named.caching-nameserver.conf 文件:

    [root@rac1 etc]# cat named.caching-nameserver.conf

    //

    // named.caching-nameserver.conf

    //

    // Provided by Red Hat caching-nameserver package to configure the

    // ISC BIND named(8) DNS server as a caching only nameserver

    // (as a localhost DNS resolver only).

    //

    // See /usr/share/doc/bind*/sample/ for example named configuration files.

    //

    // DO NOT EDIT THIS FILE - use system-config-bind or an editor

    // to create named.conf - edits to this file will be lost on

    // caching-nameserver package upgrade.

    //

    ...

    这里提示不要直接的编辑该文件,去创建一个named.conf文件,然后编辑named.conf文件,当有了named.conf,将不在读取这个文件。

    现在开始复制:

    [root@rac1 etc]# cp -p named.caching-nameserver.conf named.conf   

           -P的参数,保留权限。否则启动服务的时候会报权限拒绝的。

    查看一下文件权限是否一致:

    [root@rac1 etc]# ls -lrt

    total 40

    -rw-r----- 1 root named  955 Jul 30  2009 named.rfc1912.zones

    -rw-r----- 1 root named 1230 Jul 30  2009 named.conf

    -rw-r----- 1 root named 1230 Jul 30  2009 named.caching-nameserver.conf

    -rw-r--r-- 1 root root   405 Nov  6 01:13 localtime

    -rw-r----- 1 root named  113 Nov 13 14:16 rndc.key

    2. 查看编辑named.conf 文件:

    [root@rac1 etc]# cat named.conf

    options {            ---代表全局配置

            listen-on port 53 { 127.0.0.1; };  -- DNS服务监听在所有接口

            listen-on-v6 port 53 { ::1; };   -- ipv6监听在本地回环接口

            directory       "/var/named"; 

                                       --zone文件的存放目录,指的是chroot环境下面的/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";

                                       --每一次访问耗费了多数内存的存放文件

            // Those options should be used carefully because they disable port

            // randomization

            // query-source    port 53;

            // query-source-v6 port 53;

            allow-query     { localhost; };

                                       --允许查询的客户端,本实验中需要修改成本地网段

            allow-query-cache { localhost; };

                                       --允许那些客户端来查询缓存,any表示允许任何人。

    };

    logging {

            channel default_debug {

                    file "data/named.run";

                    severity dynamic;

            };

    };

    --定义日志的存放位置在/var/named/chroot/var/named/data/目录下面

    view localhost_resolver {

            match-clients      { localhost; };

            match-destinations { localhost; };

            recursion yes;

            include "/etc/named.rfc1912.zones";

    };

    -- 定义视图的功能,

    --Match-clients     是指匹配的客户端

    --Match-destination 是指匹配的目标

    编辑named.conf文件,将

           listen-on port 53 { 127.0.0.1; };

           allow-query { localhost; };

           match-clients { localhost; };

           match-destinations { localhost; };  

           allow-query-cache { localhost; };

    中的内容修改成{ any; } 注意两边空格,然后保存退出

    3. 定义Zone 文件 (编辑named.rfc1912.zones文件)

    [root@rac1 etc]# cat named.rfc1912.zones

    zone "." IN {

            type hint;   -- 根区域的类型为hint

            file "named.ca";  -- 区域文件是named.ca,

                                              --在named.ca文件中就定义了全球的13台根服务器

    };

    --    Zone “.”     代表根区域

    --  IN     代表 Internet记录

    zone "localdomain" IN {

            type master;    -- 区域的类型为主要的

            file "localdomain.zone";

            allow-update { none; };  --默认情况下,是否允许客户端自动更新

    };

    zone "localhost" IN { 

            type master;

            file "localhost.zone";

            allow-update { none; };

    };

    -- zone "localhost" 定义正向解析的区域

    -- file "localhost.zone"; 指定正向解析的区域文件是localhost.zone

    - -在localhost.zone文件中就定义DNS的正向解析数据库

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

            type master;

            file "named.local";

            allow-update { none; };

    };

    -- zone "0.0.127.in-addr.arpa" :localhost定义反向解析的区域

    -- file "named.local"; 指定反向解析的区域文件是named.local

    -- 在named.local文件中就定义DNS反向解析的数据库

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

            type master;

            file "named.broadcast";

            allow-update { none; };

    };

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

            type master;

            file "named.zero";

            allow-update { none; };

    };

    我们配置zone的目的是为了解析SCAN IP。 所以我们在Zone 文件里添加一下内容:

    -- 配置正向解析Zone

    zone "tianlesoftware.com" IN {    -- 注意,这个域名要和后面配置的一致

            type master;

            file "rac.tianlesoftware.zone";

            allow-update { none; };

    };

    -- 配置反向解析Zone

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

            type master;

            file "rac.tianlesoftware.local";

            allow-update { none; };

    };

    这里需要注意的是,反向解析从左到右读取ip地址时是以相反的方向解释的,所以需要将ip地址反向排列。这里,192.168.6.*网段的反向解析域名为"6.168.192.in-addr.arpa”。

    4. 复制模板文件成数据库文件

    [root@rac1 etc]# cd /var/named/chroot/var/named

    [root@rac1 named]# ls

    data              localhost.zone   named.ca         named.local  slaves

    localdomain.zone  named.broadcast  named.ip6.local  named.zero

    可以看到,在chroot环境下面的/var/named/有很多模板文件。

       Named.ca就是根区域的数据库文件.

      将localhost.zone复制成rac.tianlesoftware.zone,这个是正向解析的数据库文件

      将named.local复制成rac.tianlesoftware.local,这个是反向解析的数据库文件

    这个名称一定要和/etc/named.rfc1912.zones这个文件里面,我们刚才添加的一致。

    [root@rac1 named]# cp -p localhost.zone rac.tianlesoftware.zone

    [root@rac1 named]# cp -p named.local rac.tianlesoftware.local

    [root@rac1 named]# ls

    data              localhost.zone   named.ca         named.local  rac.tianlesoftware.local  slaves

    localdomain.zone  named.broadcast  named.ip6.local  named.zero   rac.tianlesoftware.zone、

    至此,正向解析和反向解析的数据库文件就创建完成。

    5. 定义数据库文件

    (1)   定义正向解析数据库文件

    [root@rac1 named]# vim rac.tianlesoftware.zone

    $TTL    86400

    @               IN SOA  tianlesoftware.com    root.tianlesoftware.com (

                                            42              ; serial (d. adams)

                                            3H              ; refresh

                                            15M             ; retry

                                            1W              ; expiry

                                            1D )            ; minimum

                    IN NS          tianlesoftware.com

    rac-scan        IN A            192.168.6.100

    rac-scan        IN A            192.168.6.200

    说明,因为我的11gR2 测试是2个节点的RAC。 所以这里就添加了2个rac-scan。 如果节点比较多,可以多添加几个rac-scan。 rac-scan 至少要有一个。 并且这些IP 在RAC安装之前不能被使用。

    一些参数说明:

    $TTL    86400  :-- 最小的存活的时间是86400S(24H)

    @    IN SOA  tianlesoftware.com    root.tianlesoftware.com (

           --这是一笔SOA记录,只允许存在一个SOA记录

    @:代表要解析的这个域本身(tianlesoftware.com)

    IN:Internet记录。

    SOA: 是初始授权记录,指定网络中第一台DNS Server。

    localhost: DNS服务器的名字。

    root.localhost: 是指管理员的邮箱。

    42    ; serial (d. adams)

    3H                   ; refresh

    15M                ; retry

    1W                  ; expiry

    1D )                ; minimum

    这些部分主要是用来主DNS和辅助DNS做同步用的.

           42:   序列号,当主DNS数据改变时,这个序列号就要被增加1,而辅助DNS通过序列号来和主DNS同步。

           3H              刷新,主DNS和辅助DNS每隔三小时同步一次。

           15M           重试,3H之内,没有同步,每隔15M在尝试同步

           1W             过期,1W之内,还没有同步,就不同步了

           1D              生存期,没有这条记录,缓存的时间。

           @             IN NS           server1.example.com. :

                  这是一笔NS记录,指定nameserver为server1.example.com

    (2) 定义反向解析数据库

    [root@rac1 named]# vim rac.tianlesoftware.local

    $TTL    86400

    @       IN      SOA    tianlesoftware.com. root.tianlesoftware.com. (

                                          1997022700 ; Serial

                                          28800      ; Refresh

                                          14400      ; Retry

                                          3600000    ; Expire

                                          86400 )    ; Minimum

            IN      NS      tianlesoftware.com.

    100       IN      PTR     rac-scan.tianlesoftware.com.

    200       IN      PTR     rac-scan.tianlesoftware.com.

    这个文件和上面的那个差不多。 两点要注意的:

    (1) 数字写IP 地址的最后一个。 如192.168.6.100, 就写100

    (2) rac-scan. 后面有一个点

    6. 验证DNS 配置

    至此,DNS的基本配置就完成了,在来看看DNS是否能够正常工作。

    重启DNS服务:

    [root@rac1 named]# service named restart

    Stopping named: [  OK  ]

    Starting named: [  OK  ]

    DNS客户端配置

    主机默认通过本地解析域名,也就是读取/etc/hosts文件里的解析。对于配置DNS的网络环境,特别是RAC各节点如果使用SCAN特性的话,必须修改/etc/resolv.conf文件配置本地使用哪台DNS Server进行域名解析工作。

    [root@rac2 ~]# cat /etc/resolv.conf

    #nameserver 202.101.172.35

    nameserver 192.168.6.90  -- 我们刚才添加的DNS Server

    [root@rac2 ~]# nslookup 192.168.6.100

    Server:         192.168.6.90

    Address:        192.168.6.90#53

    100.6.168.192.in-addr.arpa      name = rac-scan.tianlesoftware.com.

    [root@rac2 ~]# nslookup 192.168.6.200

    Server:         192.168.6.90

    Address:        192.168.6.90#53

    200.6.168.192.in-addr.arpa      name = rac-scan.tianlesoftware.com.

    [root@rac2 ~]# nslookup rac-scan.tianlesoftware.com

    Server:         192.168.6.90

    Address:        192.168.6.90#53

    Name:   rac-scan.tianlesoftware.com

    Address: 192.168.6.100

    Name:   rac-scan.tianlesoftware.com

    Address: 192.168.6.200

    DNS 解析正常。

  • 相关阅读:
    javaSE基础(三)
    javaSE基础(二)
    javaSE基础(一)
    文件目录爬虫
    前自增 与 后自增
    查找 与 排序 总结
    python 使用 grpc
    python3.7 安装 uwsgi
    go
    go
  • 原文地址:https://www.cnblogs.com/junnor/p/2939768.html
Copyright © 2020-2023  润新知