zoukankan      html  css  js  c++  java
  • 通过编辑文件的方式对DNS服务器进行配置

    如果其他同学在这台电脑上已经做过DNS实验,请用如下命令清理:
    # rm /var/named/chroot/var/named/named.root
    # rm /var/named/chroot/etc/named.conf
    # rm /var/named/chroot/var/named/test.edu.cn.db
    # rm /var/named/chroot/var/named/192.168.0.db

    -------------------------------------------------------------------------

     
    下面介绍通过编辑文件的方式对DNS服务器进行配置的过程:

    第1步:复制named.root文件

    # cp /usr/share/doc/bind-9.3.6/sample/var/named/named.root /var/named/chroot/var/named/named.root



    # cp /usr/share/doc/bind-9.3.6/sample/var/named/* /var/named/chroot/var/named/
     
    第2步:修改named.conf文件

    修改主DNS服务器的/var/named/chroot/etc/named.conf文件,内容如下:

    options {
        directory "/var/named";    //定义服务器区配置文件存放的目录,由于使用了chroot功能,
                            //区配置文件存放的实际目录是/var/named/chroot/var/named
        dump-file "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
    };
     
    view "internal" {
        match-clients { any; };
        match-destinations { any; };
        recursion yes;             //对内网用户开启DNS的递归查询
     
        zone "0.168.192.in-addr.arpa." IN {        //定义逆向解析区声明,in-addr.arpa是固定写法
            type master;     //注意:书写反向地址解析时,与通常书写的ip地址顺序相反,如:0.168.192
            file "192.168.0.db";                //逆向解析区文件名,名称可以任意取
        };
        zone "test.edu.cn." IN {        //定义正向解析区声明, 如果不写IN,那么默认就是IN类
            type master;
            file "test.edu.cn.db";        //正向解析区文件名,名称可以任意取
        };
     
        zone "." IN {            //定义根区声明
            type hint;             //选择type为hint("."专用)
            file "named.root";    //默认文件名named.root,有时也可能是named.ca
        };                    //在DNS数据库中,named.root文件列出了所有根DNS服务器的地址
     
        zone "localhost." IN {                //定义localhost的正向解析区声明
            type master;
            file "localhost.zone";
            allow-update { none; };
        };
     
        zone "0.0.127.in-addr.arpa." IN {        //定义localhost的逆向解析区声明
            type master;
            file "named.local";
            allow-update { none; };
        };
        //定义localhost的逆向解析区声明(IPv6)
        zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa." IN {
        type master;
        file "named.ip6.local";
        allow-update { none; };
        };
    };
    include "/etc/rndc.key";        //包含/etc/rndc.key文件
     
     
    第3步:创建正向/逆向解析区文件

    在主DNS服务器/var/named/chroot/var/named/目录创建正向解析区文件test.edu.cn.db,文件内容如下,正向解析文件主要由一系列A资源记录(RR,Resource Record)组成,使得DNS服务器能够将域名解析成IP地址。

    $TTL 1H
    @    SOA    dns.test.edu.cn.    root.test.edu.cn. (
                                    2    ; Serial
                                    3H    ; Refresh
                                    1H    ; Retry
                                    1W    ; Expire
                                    1H )     ; Minimum
            IN    NS    dns.test.edu.cn.         ; NS(Name Server)后面的主机管理整个“test.edu.cn.”域
            IN    MX    10    dns.test.edu.cn.     ; MX(Mail eXchanger)指定邮件转发服务器,接收
                                    ;从Internet上来的邮件,然后再转发给相应的主机
    dns        IN    A    192.168.0.5
    www        IN    A    192.168.0.10
            IN    A    192.168.0.20        ; www有两个IP地址
    dns2        IN    CNAME    dns            ;指定主机别名

    在主DNS服务器/var/named/chroot/var/named/目录创建逆向解析区文件192.168.0.db, 文件内容如下,逆向解析文件由一系列PTR资源记录(RR,Resource Record)组成,使得DNS服务器能够将IP地址反向解析成域名。

    $TTL 1H
    @    SOA    dns.test.edu.cn.    root.test.edu.cn. (
                                    2    ; Serial
                                    3H    ; Refresh
                                    1H    ; Retry
                                    1W    ; Expire
                                    1H )     ; Minimum
        NS    dns.test.edu.cn.
    5    PTR    dns.test.edu.cn.
    10    PTR    www.test.edu.cn.     
    20    PTR    www.test.edu.cn.     


    第4步:设置文件的属主和权限


    [root@localhost ~]# chown named.named /var/named/chroot/var/named/*
    [root@localhost ~]# chmod 644 -R /var/named/chroot/var/named/*
    [root@localhost ~]# restorecon -R /var/named/chroot/

    第5步:检查配置文件的语法

    执行named-checkconf命令可以检查/etc/named.conf文件是否有语法错误,如果执行named-checkconf命令后没有任何输出,说明/etc/named.conf文件没有语法错误。
    [root@localhost ~]# named-checkconf
    none:0: open: /etc/named.conf: file not found (RHEL6中 /etc/named.conf 已经存在,不需下面命令ln)
    此时可以建立对/var/named/chroot/etc/named.conf文件的符号链接/etc/named.conf。
    [root@localhost ~]# ln -s /var/named/chroot/etc/named.conf /etc/named.conf
    [root@localhost ~]# ls -l /etc/named.conf 
    lrwxrwxrwx 1 root root 32 05-18 12:46 /etc/named.conf -> /var/named/chroot/etc/named.conf
    [root@localhost ~]# named-checkconf 
    [root@localhost ~]# 
     
     
    第6步:测试

    修改/etc/resolv.conf文件,将nameserver行改写为nameserver 192.168.0.5。
    执行#service named restart命令重启DNS服务器,或者执行#rndc reload命令,重新加载配置文件。
    执行#nslookup www.test.edu.cn命令测试DNS的正向解析功能。
    执行#nslookup 192.168.0.10命令测试DNS的反向解析功能。
     
    <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
    阅读(1997) | 评论(0) | 转发(15) |
    给主人留下些什么吧!~~
    评论热议
  • 相关阅读:
    ORA00600 [3756]内部错误一例
    使用ALTER SYSTEM运行OS命令
    Oracle 审计参数AUDIT_SYSLOG_LEVEL介绍
    其他:ADO.NET访问Oracle数据库存储过程的本质
    其他:数据库访问模型
    VB6:通过OO4O访问Oracle存储过程返回的结果集
    Oracle学习笔记:编译PL/SQL对象
    Sqlserver:不可忽视的@@servername
    26个导航设计非常独特的网站案例欣赏
    非常棒的Web标准学习资源推荐
  • 原文地址:https://www.cnblogs.com/ztguang/p/12647874.html
Copyright © 2011-2022 走看看