首页 > 代码库 > linux之DNS基础配置

linux之DNS基础配置

DNS:domain Name Service  监听在53/udp, 53/tcp

        C/S架构:S(bind)、C(共享)

        bind:bekerley internet name domain

FQDN:Full Qualified Domain Name完全限定域名

www.magedu.com.: FQDN      
magedu.com:域名      
主机名解析 :把一种名称转换为另一种名称的过程 ,一般指字串和数字之间的转换。      
解析库:某种存储      
        username (主机名)<--> uid(IP) 
某种存储:      
        文本文件      
        关系型数据库      
        LDAP:Lightweight Directory Access Protocol(轻量目录访问协议),监听在 389/tcp

解析:根所用户所提供一种名称,去查询解析库,以得到另一种名称      
解析的过程为,先读取hosts文件中有没有定义,如果没有去本地缓存查找,再去权威服务器缓存查找,最后向根服务器发出请求,中心服务器返回查找路径信息,再由权威服务器发起请求。知道返回请求IP。

clipboard      
根域:root domain      
一级域:top-level domain      
二级域:公司、组织、个人使用      
主机:www      
递归:      
A --> B --> C --> D      
迭代:      
A --> B      
A --> C      
A --> D      
DNS解析过程中:主机向权威DNS服务器请求是递归,权威服务器请求解析的过程是迭代。 
DNS中的名称与对应的主机的主机名不要求是一样的。      
一个名称可以对应多个IP      
一个IP上也可以多个名称

一级域:      
组织域:.com, .org, .net, .mil, .edu, .gov, .info, .cc, .me, .tv      
国家域:.cn, .us, .uk, .jp, .tw, .hk, .iq, .ir      
反向域:.in-addr.arpa      
域:domain, 区域:zone

域:每一个域都要有正反向解析文件,是一个物理概念,域和域之间是互联的

区域:是一个域的范围,里边包含这个区域的所有主机。      
DNS正向解析:FQDN --> IP      
正向解析库      
DNS反向解析:IP --> FQDN      
反向解析库 
区域解析库:      
资源记录:rr(resource record)      
有类型的概念:用于此记录解析的属性      
SOA:
Start Of Authority,主DNS服务器 起始授权记录,一个区域文件只能有一个;      
NS:Name Server ,从DNS服务器。      
MX: Mail eXchange, 邮件交换器,MX记录有优先级属性(0-99);      
A:FQDN --> IP,专用于正向解析库      
PTR: IP --> FQDN,专用于反向解析库      
AAAA:FQDN --> IPv6,专用于正向解析库      
CNAME: Canonical Name,正式名称      
解析库文件同步的过程:区域传送 (单方向传送) zone transfer      
完全区域传送:axfr      
增量区域传送: ixfr      
主从服务器之间解析库的同步是通过:周期性检查 + 通知 维护的,查询基于UDP协议,传送基于TCP协议。      
资源记录类型:      
        任何解析库文件的第一个记录的类型必须是SOA      
        格式:name [ttl] IN RRType value(IP地址)      
        name: 区域名称,通常可以简写为@      
        value: 主DNS服务器的FQDN,也可以当前区域的区域名称;
     
主DNS服务器配置:

例如:@	 IN SOA ns.magedu.com. admin.magedu.com. ( 
           serial number ;解析库的版本号,例如2014080401 
           refresh time ;周期性同步的时间间隔 
           retry time ;重试的时间间隔 
           expire time ;过期时长 
           negative answer ttl ;否定答案的统一缓存时长 
            )

从DNS服务器配置:
NS:name server
name: 区域名称
value: DNS服务器的FQDN
例如:@ IN NS ns.magedu.com.
        注意:
        如果有多台NS服务器,每一个都必须有对应的NS记录;
        对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录;
MX:Mail eXchanger
name: 区域名称
value: 邮件服务器的FQDN
        例如:
        @ IN MX 10 mail.magedu.com.
        @ IN MX 20 mail2.magedu.com.
        注意:
        如果有多台MX服务器,每一个都必须有对应的MX记录;但各MX记录还有优先级属性
        对于正向解析文件来讲,每一个NS的FQDN都应该有一个A记录;
A: Address
        name: FQDN
        value: IP
        例如:
www.magedu.com. IN A 1.1.1.1
www.magedu.com. IN A 1.1.1.2
pop3.magedu.com. IN A 1.1.1.3 
imap.magedu.com. IN A 1.1.1.3 
CNAME: Canonical Name
        name: FQDN
        value: FQDN
        例如:
        www.magedu.com. IN A 1.1.1.5
        web.magedu.com. IN CNAME
www.magedu.com.
clipboard[1]
PTR: pointer
        name: 逆向的主机IP地址加后缀in-addr.arpa,例如172.16.100.7/16, 网络地址为172.16, 主机地址为100.7,其name为7.100.in-addr.arpa.
        value: FQDN
        例如:
        7.100.in-addr.arpa. IN PTR
www.magedu.com.
DNS服务器的基本配置步奏: 


(1)首先安装bind程序包。

(2)修改主配置文件。
        1)定义区域

        /etc/named.conf

options {  
                    全局配置段;  
                    // directory "/var/named";  
                    };  
        zone "ZONE_NAME" IN {  
                    type {master|slave|hint|forward};  
                    file "mageedu.com.zone";  
                    };  
        logging {  
                    日志; 
                    };


clipboard[2]

服务脚本:/etc/rc.d/init.d/named
主配置文件:/etc/named.conf, /etc/named.rfc1912.zones

zone "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};                                              ------------------>解析式解析为/etc/named.conf中定义的IP
zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};                                              ------------------->解析式解析为/etc/named.conf中定义的IP
zone "1.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.loopback";
        allow-update { none; };
};                                             -------------------->ipv6本地地址的反向解析
zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};                                             --------------------->127.0.0.1的反向解析
zone "0.in-addr.arpa" IN {
        type master;
        file "named.empty";
        allow-update { none; };
};                                            ----------------------->空地址的反向解析
zone "aolens.com" IN {
        type master;
        file “/etc/named/aolens.com.zone";    -------->aolens.com.zone文件存在于directory定义的目录下/etc/named/
};                                            ------------------------>自定义的解析名


检查name.conf文件有没有错误

name-checkconf

service named configtest

还可以检查某一块是否有错误;

clipboard[3]

如果应为随机数不够而卡在这个步奏,一个是多敲键盘,另一个是改变/etc/rc.d/init.d/named文件中在

clipboard[4]

service named status

clipboard[5]

rndc: remote name domain controller 远程域名控制   监听在953/TCP端口。

重新载入文件rndc redoad
区域解析库文件:/var/named/zone_name.zone

我们在/etc/named.conf, /etc/named.rfc1912.zones 中配置了aolens.com.zone文件,那么便要配置此文件,没有创建,命名为aolens.com.zone
clipboard[6]

并且配置此文件的属组和权限

属组要求为named

权限要求644

clipboard[7]

检测配置文件是否有错

service named configtest或

named-checkconf检测完整文件

named-checkzone "aolens.com" /var/named/aolens.com.zone检测部分块

clipboard[8]

service named reload重新载入    或者    rndc  reload       只有不改监听的端口就可以使用reload

clipboard[9]

第一次ping www.aolens.com 没有ping通,我们发现是/etc/resolv.conf文件中IP没有指向自己,改为aolens.com指向的IP就可以了。

clipboard[10]

而ping命令测试略显拙劣,我们bind-utils程序包里有一下测试工具,常用的就 dig、host、nslookup

clipboard[11]

而使用这三款工具时/etc/resolv.conf中的IP指向谁都没问题。

(1)host

host -t RRType NAME [SERVER]

解析出www.aolens.com

clipboard[12]

查看aolens.com的DNS服务器的域名是什么?

clipboard[13]

(2)nslookup

nslookup >

server IP

set type={A|SOA|NS|MX|...}

name      例如在此例子中是www.aolens.com

clipboard[14]

(3)dig

dig -t TYPE name @server 

dig -t A www.aolens.com @192.168.1.159

clipboard[15]

AXFR完全区域传送

clipboard[16]

我们连上网

dig -t A www.baidu.com     下边便是www.baidu.com的解析过程

clipboard[17]

dig: 查询选项
+trace
+notrace
+recurse
+norecurse
反向区域:
区域名称为逆向网络地址加.in-addr.arpa做后缀
在主配置文件:/etc/named.conf, /etc/named.rfc1912.zones

添加

zone "1.168.192.in-addr.arpa." IN {
        type master;
        file "1.168.192.zone";
};


named-checkconf检测有无语法错误

创建1.168.192.zone文件在/var/named/

内容:

$TTL 3600 
@ IN SOA ns.aolens.com. admin.aolnes.com. ( 
              2014080401 
              2H 
              10M 
              7D 
              2D ) 
      IN NS ns.aolens.com. 
159   IN PTR ns.aolens.com. 
161   IN PTR www.aolens.com

named-checkzone "1.168.192.in-addr.arpa" /var/named/1.168.192.zone检测有无语法错误。

service named reload加载

clipboard[18]
host -t PTR 192.168.1.161 192.168.1.159解析161的主机名
clipboard[19]
反解成功!!!

本文出自 “aolens·程超” 博客,请务必保留此出处http://aolens.blog.51cto.com/7021142/1536624