Linux DNS (1)的基本概念_网络服务欢迎大家留言 ,有什么好的建议都可以说 Linux DNS (1)的基本概念_网络服务


     Linux DNS (1)的基本概念_网络服务我这个文章那里做的不到位,希望大家给予意见Linux DNS (1)的基本概念_网络服务


            Linux DNS (1)的基本概念_网络服务   我们共同进步。谢谢大。 Linux DNS (1)的基本概念_网络服务




DNS服务器  

        DNS是Domain Name System,它能够把形如www.lampmaster.cn本站域名转换为219.136.249.93这样的IP地址;没有DNS,浏览www.lampmaster.cn时,就必须用219.136.249.93这么难记的数字来访问。提供DNS服务的就是DNS服务器。  

DNS服务器可以分为三种,高速缓存服务器(Cache-only server)、主服务器(Primary Name server)、辅助服务器(Second Name Server)。 


DNS作用:


正向解析:将域名转换成对应的ip地址

反向解析:将ip地址转换成对应的域名

域名解析过程

一次递归多次迭代 

DNS使用端口 :

    TCP    53     

    UDP    53

NDS的配置文件:


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

/var/named/chroot/var/named                             # 区域文件目录

/var/named/zonefile                         # 数据文件

/usr/share/doc/bind*/sample/                         # 模版文件

/var/log/messages                          # 日志文件

/var/named/chroot/etc/named.caching-nameserver.conf     # 模板


named.conf 配置解析:


-  type    :类型

-  hint    :根区域 

-  master  :主区域

-  slave   :从区域

-  forward :转发区域



DNS解析的作用:


正向解析:      

    -  根据主机名称(域名)查找其对应的IP地址    

    -  这是最基本,最常用的功能


反向解析:

    -  根据IP地址查找其对应的主机名称(域名)

    -  反垃圾邮件/安全防护等领域使用





DNS分布式结构:

Linux DNS (1)的基本概念_Linux_07


DNS解析过程:

Linux DNS (1)的基本概念_网络服务_08



DNS主配置文件内容解说如下:


[root@localhost ~]#  vim /var/named/chroot/etc/named.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.

//

options {                                               

        listen-on port 53 { 127.0.0.1; };              

        listen-on-v6 port 53 { ::1; };                 

        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     { localhost; };

        allow-query-cache { localhost; };

};

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};

view localhost_resolver {

        match-clients      { localhost; };

        match-destinations { localhost; };

        recursion yes;

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

};

全局配置文件解释:


options            :用于指定BIND服务的参数,                                            

listen-on port     :指定BIND侦听的DNS查询请求的本机IP地址及端口。     

listen-on-v6 port  :指定BIND侦听的DNS查询请求的本机IP地址及端口,只是用与IPv6.。         

directory          :指定区域配置文件所在的路径,默认是“/var/named”如果是使用了“chroot”该路径会是一个相对的路径,“/var/named/chroot/var/named”

dump-file          :  当执行 rndc dumpdb 命令时, DNS服务器存放数据库文件的路径名。

statistics-file    : 当执行 rndc stats 命令时,服务器会将统计信息追加到的文件路径名。

memstatistics-file : DNS服务器输出的内存使用统计文件的路径名。

query-source port  :指定客户端提交 DNS 查询时必须使用的源端口。 

allow-query        : 指定接受 DNS 查询请求的客户端。


logging            : 用于指定BIND服务的日志参数

view               : 用于指定主配置文件存放路径及名称。

match-clients      :指定提交DNS客户端的源IP地址范围。

match-destinations : 指定提交DNS客户端的目标IP地址范围。

recursion          : 指定 DNS 客户端是否提交递归查询。

include            : 指定主配置文件    




[root@localhost ~]#   vim  /var/named/chroot/etc/named.rfc1912.zones 

// named.rfc1912.zones:

//

// Provided by Red Hat caching-nameserver package 

//

// ISC BIND named zone configuration for zones recommended by

// RFC 1912 section 4.1 : localhost TLDs and address zones

// 

// See /usr/share/doc/bind*/sample/ for example named configuration files. # 这个是告诉我们模板的位置。

//

zone "." IN {                              # 定义根域

        type hint;                         # 类型hint

        file "named.ca";                   # 根域信息在named.ca

};


zone "localdomain" IN {

        type master;

        file "localdomain.zone";

        allow-update { none; };

};


zone "localhost" IN {                       # 本地正解定义

        type master;                        # 类型为master

        file "localhost.zone";              # 正解文件名        

        allow-update { none; };             

};


zone "0.0.127.in-addr.arpa" IN {            #  本地反解定义

        type master;                        #  类型为master

        file "named.local";                 #  反解文件名 

        allow-update { none; };

};


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

};


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

};



DNS区域配置文件:

-    $TTL (Time Live 生存时间)

-    SOA  (Start Of Authority,授权信息开始)

-    分号“.”开始的部分表示注释


1)正向解析格式:

[root@localhost ~]#  cd /var/named/chroot/var/named/

[root@localhost ~]#  vim  localdomain.zone


$TTL    86400                                                       # 有效记录的生存周期

@               IN SOA  localhost root (

                                        42   ; serial (d. adams)    # 更新序号

                                        3H   ; refresh              # 刷新时间

                                        15M  ; retry                # 重试间隔

                                        1W   ; expiry               # 失效时间

                                        1D ) ; minimum              # 无效记录的生存周期

                IN NS           localhost

localhost       IN A            127.0.0.1

注释:

NS : 代表域名服务器(Name Server)记录

A  : 代表地址(Address)记录,用在正向解析区域


2)反向解析格式:

[root@localhost ~]#  cd  /var/named/chroot/var/named/

[root@localhost ~]#  vim   named.local 

$TTL    86400                                                       # 有效记录的生存周期

@               IN SOA  localhost root (

                                        42   ; serial (d. adams)    # 更新序号

                                        3H   ; refresh              # 刷新时间

                                        15M  ; retry                # 重试间隔

                                        1W   ; expiry               # 失效时间

                                        1D ) ; minimum              # 无效记录的生存周期

        IN      NS      localhost.

1       IN      PTR     localhost.

注释:

PTR 代表指针(Point)记录,用在反向解析区域,第一列指定IP地址中的主机地址部分即可。


泛域名解析:

$ : 代表变量。


$GENERATE  1-200  station$  IN  A  192.168.4.$

$GENERATE  1-200  $  IN  PTR   station$.baidu.com


$GENERATE        #  函数

1-200            #  要循环的变量

station$         #  主机名

192.168.4.$      #  对应的IP地址