DNS 是域名系统(Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

DNS服务器的类型:
 缓存DNS服务器
 主DNS服务器(master): 数据库更新由管理员手动完成
 辅助DNS服务器(slave):数据库更新从主服务器或其它辅助DNS服务器那里完成

 

[root@station130 ~]# yum intall bind  -y
[root@station130 ~]# rpm  -qc bind
/etc/logrotate.d/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rndc.conf                                      我们暂时只需要这三个蓝色标记的主要配置文件.
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
[root@station130 ~]# vim /etc/named.conf       这个是DNS主配置文件,我们需要打开这个文件把这三项给注释掉:
//      listen-on port 53 { 127.0.0.1; };
//      listen-on-v6 port 53 { ::1; };        找到配置文件里面的这三项给注释掉
//      allow-query     { localhost; };
搞定后默认DNS缓存就ok了,简单吧!
然后我们在来搞主DNS服务器用来解析我们的域名:
[root@station130 ~]# vim /etc/named.rfc1912.zones
zone "linux.com" IN  {
type master;
file "linux.com.zone";
};
在文件的最底下添加两条正反解析的区域
zone  "251.16.172.in-addr.aepa" IN {
type master;
file "251.16.172.zone";
};
root@station130 ~]# named-checkconf         这条命令检查刚才上面写得有没有语法错误!
[root@station130 ~]# cd /var/named/    进入这个目录下
[root@station130 named]# vim  linux.com.zone        就是我们刚才zone里面创建域的文件名,这个自己创建。
$TTL  2000
@      IN       SOA     dns.linux.com.     admin.linux.com. (
20131801     ;序列号, serial number
6H             ;刷新时间, refresh time
10M           ;重试时间, retry time
7D              ;过期时间, expire time
1D )          ;否定答案的ttl
IN         NS        dns
dns   IN         A        172.16.251.130
www   IN         A        172.16.251.131
www   IN         A        172.16.251.132
mail  IN         A        172.16.251.133
[root@station130 named]# vim 251.16.172.zone 这个也是我们在zone里面定义的
$TTL  2000
@      IN       SOA     dns.linux.com.     admin.linux.com. (
20131801
6H
10M
7D
1D )
IN         NS        dns.linux.com.
130   IN         PTR      dns.linux.com.
131   IN         PTR      www.linux.com.
132   IN         PTR      www.linux.com.
133   IN         PTR      mail.linux.com.
[root@station130 named]# named-checkzone  linux.com.zone  /var/named/linux.com.zone
zone linux.com.zone/IN: loaded serial 20131801
OK                                                  出现OK就是说明没有错误
[root@station130 named]# vim /etc/resolv.conf
nameserver 172.16.251.130     把DNS指向自己
然后在service  named   start 下
[root@station130 named]# dig www.linux.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.5 <<>> www.linux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11935
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.linux.com.         IN  A
;; ANSWER SECTION:
www.linux.com.      2000    IN  A   172.16.251.131
www.linux.com.      2000    IN  A   172.16.251.132
;; AUTHORITY SECTION:
linux.com.      2000    IN  NS  dns.linux.com.
;; ADDITIONAL SECTION:
dns.linux.com.      2000    IN  A   172.16.251.130
;; Query time: 2 msec
;; SERVER: 172.16.251.130#53(172.16.251.130)
;; WHEN: Wed Jul 24 19:53:30 2013
;; MSG SIZE  rcvd: 97
解析OK了
各资源记录类型其“名称”有要求:
SOA: zone
NS: zone
A, AAAA: FQDN
CNAME: FQDN
PTR: ReverseIP.in-addr.arpa.
MX: zone
各资源记录类型其“value”有要求:
SOA: 主DNS服务器的FQDN
NS: 对应DNS服务器的FQDN
A,AAAA:IP
CNAME:FQDN
PTR:FQDN
MX: Mail Server FQDN