码迷,mamicode.com
首页 > 其他好文 > 详细

DNS服务器的搭建

时间:2015-06-12 15:08:46      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:dns

域名

域名是用一串用点分开的字符串来表示的internet上的某一台或者一组计算机的名称,由于ipv4,ipv6地址很难记忆,我们在访问互联网时,一般用域名加主机名来进行访问,例如:www.google.com,这个后面省略了点(.),完整的格式应该是www.google.com.,走后面的点表示根域,.com为一级域,.google为二级域,www表示这个域中的某一台主机。我们在使用互联网时,要使用ip地址才能访问某一台主机,DNS服务器就为我们提供这个解析服务,将域名解析成ip(正向解析),也可将ip解析为域名(反向解析)。  


注意:域名解析通常有两种方式,一种是/etc/hosts文件中的IP地址和域名的直接映射;一种是通过dns服务器来解析,同一个域名默认是先读取hosts文件来解析,如其中无此记录,再转向dns服务器请求解析,两种解析方式的优先级别在/etc/nsswitch.conf中定义:

#hosts:     db files nisplus nis dns
hosts:      files dns                   #file指/etc/hosts


DNS

DNS(Domain Name System)的应用程序位bind,监听在TCP/UDP的53号端口,下面就介绍dns的安装配置:

[root@baby-virt-4 ~]# yum install bind

主配置文件:

    /etc/named.conf             #主配置文件,里面include了下面2个文件

    /etc/named.rfc1912.zones   #一般除根之外的区域文件定义都在这里完成

    /etc/named.root.key


/etc/rc.d/init.d/named          #服务启动脚本,在源码安装时,这个文件没有,需要自己手动编写

/etc/rndc.conf                        #域名服务远程控制工具的配置文件

/etc/rndc.key                          #域名服务远程控制工具的密钥控制文件

/usr/sbin/named                    #主程序

/usr/sbin/named-checkconf       #检查/etc/named.conf配置文件的工具

/usr/sbin/named-checkzone      #检查区域配置文件的工具

/usr/sbin/rndc                              #域名服务远程控制工具主程序

/usr/sbin/rndc-confgen              #域名服务远程控制工具的密钥生成工具


//
// named.conf
//
// Provided by Red Hat bind 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.
//

options {
        //listen-on port 53 { 127.0.0.1; };      #指定监听的ip,注释后监听所有ip(ipv4)
        //listen-on-v6 port 53 { ::1; };         #ipv6
        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; };        #是否允许查询
        //recursion yes;    #是否允许递归查询,这个可以在配置了view之后在具体的view中指定

        //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";
};

logging {                                     #定义日志存放位置
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

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

配置完成后启动named服务service named start,当前服务器不负责任何域名的解析,是一台DNS缓存服务器。下面介绍区域文件的配置,如果需要反向解析,还需要配置反向区域文件,这些区域文件都需要放置在/etc/named.conf中directory参数指定的目录下(默认是/var/named/目录下)。


DNS服务器中域名与IP地址相互转换的映射信息以文本形式存储在区域文件中,每一个区域文件对应一个域名的解析,当然如果需要反解,还需要一个对应的反向区域文件。

先在/etc/named.rfc1912.zones中定义区域:

zone "xiaoxiao.com" IN {                   #引号中的是区域名称
        type master;                       #指定服务器类型
        file "xiaoxiao.com.zone";          #指定解析库文件,默认在/var/named目录下
        allow-update { none; };            #是否允许更新
};

zone "0.168.192.in-addr.arpa" IN {
        type master;
        file "0.168.192.zone";
        allow-update { none; };
};
#type {master|slave|hint|forward}; 
#master    主DNS服务器
#slave     从DNS服务器
#hint      提示域,所有非本机所负责的区域,都直接转发至这里,用于定义根区域
#forward   转发器

DNS服务器中域名与ip地址的映射信息以文本文件的形式存在于区域文件中,每一行为一个对应关系,称为一个资源记录(RR Resource recorde),资源记录定义格式:

 [name]      [ttl]       IN        type         value

 name   #根据资源类型的不同,取值也不同,取值包括,FQDN,当前区域名称(简写为@),也可不写(与上一条资源记录的name值相同),根域为"."。

ttl           #指定缓存时长,可以不写。可以直接在首行指定$TTL 1800,下面不写,就默认这个值。

IN           #固定格式。

type       #资源记录类型

        type有下面几个值:

            SOA                    #

            NS

            MX

            A

            AAAA

            CNAME

            PTR





DNS服务器的搭建

标签:dns

原文地址:http://ljbaby.blog.51cto.com/10002758/1661203

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!