• CentOS6 配置DNS服务器


    yum安装bind

      1. #yum update
      2. #yum -y install bind* caching-nameserver      
      3. # rpm -qa bind*
        bind-dyndb-ldap-0.1.0-0.9.b.el6.x86_64
        bind-libs-9.7.0-5.P2.el6_0.1.x86_64
        bind-sdb-9.7.0-5.P2.el6_0.1.x86_64
        bind-utils-9.7.0-5.P2.el6_0.1.x86_64
        bind-chroot-9.7.0-5.P2.el6_0.1.x86_64
        bind-9.7.0-5.P2.el6_0.1.x86_64
        bind-devel-9.7.0-5.P2.el6_0.1.x86_64

    #查看BIND版本,我的是9.7.0的

    修改hostname为域名形式:

    1.#hostname dns.xx.com

    2.#vi /etc/sysconfig/network

    NETWORKING=yes
    HOSTNAME=dns.xx.com
    GATEWAY=192.168.10.1

    下面以xx.com这个二级域名来建立一个域名服务器:

    #mv /etc/named.conf /var/named/chroot/etc/named/named.conf

    #vi /var/named/chroot/etc/named/named.conf

    options {
            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";
            forwarders { 202.102.24.35;8.8.8.8; };
            allow-query     { any; };
    };

    全局配置(options )
    options 语句在每个配置文件中只有一个。如果出现多个options, 则第一个options 的配置有效,并会产生一个警告信息。
    directory       "/var/named";
    zone文件的存放目录,这里的/var/named 是相对目录,在chroot环境下/var/named目录下。
    allow-query     { any; };
    任何地址都解析

    forwarders { 202.102.24.35;8.8.8.8; };

    自己不解析的都扔到这2个dns去

    下面我们开始写zone文件
    区域配置(zone )
    zone 语句作用是定义DNS 区域,在此语句中可定义DNS 区域选项
    zone区域设置,第一步,设置根区域
    当DNS服务器处理递归查询时,如果本地区域文件不能进行查询的解析,就会转到根DNS服务器查询,所以在主配置文件named.conf文件中还要定义根区域。
    type:设置域的类型
    file:设置根服务列表文件名

    zone "." IN {
            type hint;
            file "named.ca";
    };

    “.” 意思的根区域
    IN 是internet记录
    type是类型 根的类型是hint
    file是根区域文件
    用兴趣可以看下/etc/named.ca文件,看看13台根域名服务器。

    继续,指定正向解析的配置文件
    记住,bind对配置文件要求很严格,就算是有些地方多了个空格,服务器都可能启动不了哈~

    zone "xx.com" IN {
            type master;
            file "xx.com.zone";
    };

    zone "10.168.192.in-addr.arpa" IN {
            type master;
            file "192.168.10.zone";
            allow-update { none; };
    };

    保存,然后我们去修改区别文件,添加记录

    #cd /var/named/

    #cp -p named.localhost /var/named/chroot/var/named/xx.com.zone

    配置zone文件:

    #cd /var/named/chroot/var/named/xx.com.zone

    #vi xx.com.zone

    $TTL 86400
    @       IN SOA  dns.xx.com root (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
    @       IN      NS      dns.xx.com.
    www     IN      A      192.168.10.3

    dns     IN      A       192.168.10.40
    svn     IN      A       192.168.10.38

    TTL是生存期,单位是秒
    $TTL是全局定义的
    第二行 SOA记录,@取代在/etc/named.conf中指定的域名。
    SOA段中的数字,分别为:序列号、刷新、重试、过期、生存期
        序列号:序列号用于DNS数据库文件的版本控制。每当数据被改变,这个序列号就应该被增加。
        刷新:从服务器向主服务器查询最新数据的间隔周期。每一次检查时从服务器的数据是否需要更改,则根据序列号来判别。
       重试:一旦从服务器尝试连接主服务器失败,下一次查询主服务器的延迟时间。
       过期:如果从服务器无法连通主服务器,则在经过此时间后,宣告其数据过期。
       生存期:服务器回答 ‘无此域名’ 的间隔时间。
       数字的默认单位为秒。否则:W= 周、D= 日、H= 小时、M= 分钟。
       IN 是internet记录
       SOA 是SOA 初始化记录,我们说的是初始授权记录,这个翻译不过,理解很多反正知道是那个意思就行了
       dns.xx.com. 是DNS服务器的名称
       root 是管理员的邮箱地址

     

    设置反向解析:

    #cd /var/named/

    #cp -p named.localhost /var/named/chroot/var/named/192.168.10.zone

    #cd /var/named/chroot/var/named/

    #vi 192.168.10.zone

    内容如下:

    $TTL 86400
    @       IN SOA  dns.xx.com root (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
    @       IN      NS      dns.xx.com.
    www     IN      A       192.168.10.3
    dns     IN      A       192.168.10.40
    svn     IN      A       192.168.10.38

    3       IN      PTR     www.xx.com.
    40      IN      PTR     dns.xx.com.
    38      IN      PTR     svn.xx.com.

    接下来重启bind:

    #service named restart

    Stopping named:                                            [ OK  ]
    Starting named:                                            [ OK  ]

    现在已经可以了 ,试试吧,设置dns:

    #vi /etc/resolv.conf

    nameserver 192.168.10.40

    测试一下成果:

    dig –t soa xx.com

    dig svn.xx.com

    dig –x 192.168.10.38

    当然nslookup、ping、host等也可以~

  • 相关阅读:
    判断二分图的染色法
    dfs框架
    codeforces 158c
    省选总结
    云盘
    KMP
    二分
    【又想多了】 听 怎样成为高手-罗辑思维 记录
    小刘(第二版)
    UVA 1594:Ducci Sequence (模拟 Grade E)
  • 原文地址:https://www.cnblogs.com/lt1983/p/2168973.html
Copyright © 2020-2023  润新知