zoukankan      html  css  js  c++  java
  • Centos下主DNS的搭建

      昨天搭建了一个简单的主DNS,是在虚拟机的Centos下搭建的,今天来回顾下一个整体的搭建过程

      DNS是域名系统(Domain Name System)的缩写,是因特网的一项核心服务,它能提供域名与IP地址之间对应关系的转换服务。这样我们就可以更方便地去访问互联网了,不用去记住那一串IP数字。本文档主要是说明如何把一台CentOS主机配置成一个DNS服务器,以便能提供域名解析服务。

    CentOS的IP地址是:192.168.1.30
    要搭建的域名:txtfashion.com
    需要的软件:bind-9.3.6-20.P1.el5_8.6
          bind-libs-9.3.6-20.P1.el5_8.6
          bind-devel-9.3.6-20.P1.el5_8.6
          bind-utils-9.3.6-20.P1.el5_8.6
          bind-libbind-devel-9.3.6-20.P1.el5_8.6
          bind-chroot-9.3.6-20.P1.el5_8.6
          bind-sdb-9.3.6-20.P1.el5_8.6        
    
    • 安装bind软件
    yum -y install bind*
    安装完成后,输入命令rpm -qa | grep bind
    检查上述软件是否安装完成,如没安装完成,安装对应的软件包。
    • 配置

      由于安装了bind-chroot-9.3.6-20.P1.el5_8.6,现在的配置文件是在/var/named/chroot/,进入该目录:cd /var/named/chroot/

    修改named.conf文件

      vi etc/named.conf

    options {
            listen-on port 53 { any; };              //开启监听端口53,接受任意IP连接 
            listen-on-v6 port 53 { ::1; };            //支持IP V6 
            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";
    
            // Those options should be used carefully because they disable port
            // randomization
            // query-source    port 53;
            // query-source-v6 port 53;
    
            allow-query     { any; };          //允许任意IP查询  
            allow-query-cache { any; };
    };
    logging {
            channel default_debug {
                    file "data/named.run";
                    severity dynamic;
            };
    };
    view localhost_resolver {
            match-clients      { any; };
            match-destinations { any; };
            recursion yes;
            include "/etc/named.rfc1912.zones";    //主要配置文件 
    };
    

      

    修改/etc/named.rfc1912.zones文件,添加txtfashion.com的正向和反向区域 

      vi etc/named.rfc1912.zones 

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

      这里需要注意的是,添加反向区域时,网络号要反过来写(网络号是IP地址与子网掩码进行与操作后的结果)。例如,我现在配置的网络号192.168.1这个网段,那么它的反向区域是1.168.192.in-addr.arpa。区域里面的file字段表明解析时的数据来源文件,接下来我们去创建txtfashion.com.zone和192.168.1文件。

    创建正向和反向区域资源文件

    创建正向区域资源文件:vi var/named/data/txtfashion.com.zone 

    $TTL 3600
    @       IN      SOA     txtfashion.com. root.txtfashion.com. (
                                    20140401  ; serial
                                    30      ; refresh
                                    60      ; retry
                                    90      ; expire
                                    3600 )   ; minimum
            IN      NS      www.txtfashion.com.
    www     IN      A       192.168.1.30
    mail    IN      A       192.168.1.30
    serv1   IN      A       192.168.1.30
    dns     IN      A       192.168.1.30
    ftp     IN      A       192.168.1.30
    win     IN      A       192.168.1.66               

    创建反向区域资源文件:vi var/named/data/192.168.1 

    $TTL 3600
    @       IN      SOA     192.168.1.      192.168.1. (
                                    20140401   ; serial
                                    30      ; refresh
                                    60      ; retry
                                    90      ; expire
                                    3600 )   ; minimum
            IN      NS      www.txtfashion.com.
    30      IN      PTR     www.txtfashion.com.
    30      IN      PTR     mail.txtfashion.com.
    30      IN      PTR     serv1.txtfashion.com.
    30      IN      PTR     dns.txtfashion.com.
    30      IN      PTR     ftp.txtfashion.com.
    66      IN      PTR     win.txtfashion.com.
    

    参数说明:

    serial:序列号
    refresh:更新时间
    retry:更新失败每隔多少时间重新与dns联系
    expiry:过期时间
    minimum:当前域名的查询结果,将在缓存中保留的时间
    H 小时、M 分钟 W 星期 D 天 默认是秒
    NS 标识一个域的域名服务器
    A 将主机名--->ip (一个主机只有一个A记录)
    MX 邮件交换记录
    PTR ip--->主机名
    CNAME 别名
    

    修改完这四个文件后,我们需要修改这四个文件的所有者和拥有者

    chown -R named.named etc/named.conf
    chown -R named.named etc/named.rfc1912.zones
    chown -R named.named var/named/data/txtfashion.com.zone 
    chown -R named.named var/named/data/192.168.1  
    

    重启named服务: service named restart

    至此,DNS服务器端的配置已完成,下面我们稍微配置一下客户端来测试我们的DNS服务器是否正常工作。

    • 测试

      在centos下测试,可以用nslookup来测试,首先需要配置resolv.conf文件:vi /etc/resolv.conf

    nameserver 192.168.1.30
    

      上述表示的DNS的地址为192.168.1.30

      输入命令:nslookup

    > www.txtfashion.com
    Server:		192.168.1.30
    Address:	192.168.1.30#53
    
    Name:	www.txtfashion.com
    Address: 192.168.1.30
    > ftp.txtfashion.com
    Server:		192.168.1.30
    Address:	192.168.1.30#53
    
    Name:	ftp.txtfashion.com
    Address: 192.168.1.30
    > 192.168.1.30
    Server:		192.168.1.30
    Address:	192.168.1.30#53
    
    30.1.168.192.in-addr.arpa	name = mail.txtfashion.com.
    30.1.168.192.in-addr.arpa	name = serv1.txtfashion.com.
    30.1.168.192.in-addr.arpa	name = dns.txtfashion.com.
    30.1.168.192.in-addr.arpa	name = ftp.txtfashion.com.
    30.1.168.192.in-addr.arpa	name = www.txtfashion.com.
    

      上述是简单的测试,如果测试不行,请检查防火墙是否开放了53的端口,方法是vi /etc/sysconfig/iptables,添加两行

    -I INPUT -p tcp --dport 53 -j ACCEPT
    -I INPUT -p udp --dport 53 -j ACCEPT
    

      然后重启iptables服务:service iptables restart

      在windows下测试,需要在本地连接属性里面修改,如下图:

    window下在cmd下也可以用nslookup,方法和在linux下类似,下面不具体说明了,当然,linux下的53端口一定要开放。

    上面只是配置了一个简单的DNS服务器,配置了主DNS,当然你也可以再配置一个从DNS,两者一起用,该配置我将在下一次做说明

  • 相关阅读:
    Martin Fowler关于IOC和DI的文章(原版)
    父类引用指向子类对象详解
    求中位数总结
    二叉树的遍历方法
    MySQL知识小结
    栈和队列的基础算法学习(EPI)
    链表的基础题目学习(EPI)
    数组和字符串的基础题目学习(EPI)
    基本类型算法题目学习(EPI)
    被C语言操作符优先级坑了
  • 原文地址:https://www.cnblogs.com/txtfashion/p/3657393.html
Copyright © 2011-2022 走看看