DNS domain name system 域名系统

特点:(1)具备递归查询和迭代查询

(2)分布式数据库

(3)将域名解析为IP

(4)具有主DNS服务器、辅DNS服务器和缓存DNS服务器三种类型

(5)全球13台根域服务器


1、软件包

bind.i386 --主服务软件包
bind-chroot.i386 -- 笼环境软件包
bind-devel.i386 --开发包
bind-libs.i386 --库文件
bind-utils.i386 --工具包

[root@rootbug ~]# rpm -qa |grep ^bind- --rhel6.3下的包
bind-utils-9.8.2-0.10.rc1.el6.x86_64
bind-chroot-9.8.2-0.10.rc1.el6.x86_64
bind-libs-9.8.2-0.10.rc1.el6.x86_64
bind-9.8.2-0.10.rc1.el6.x86_64
bind-dyndb-ldap-1.1.0-0.9.b1.el6.x86_64

-------------看到软件包有点纠结,为啥呢??因为这些软件包的名字跟DNS这三个词每半点关系---------


2、安装软件包

[root@rootbug ~]#yum install bind* -y


3、查看配置文件

RHEL6下不管是安装了bind-chroot还是不安装,配置文件都是以/var/named.conf文件为主。

(1)修改/etc/named.conf

[root@rootbug ~]#vim /etc/named.conf

-------省略其他万行代码----------------

options {
listen-on port 53 { any; }; --将原配置文件中的127.0.0.1改为any,表示监听所有
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";
allow-query { any; }; --将配置文件的localhost改为any,表示所有人能查询这台服务器
recursion yes;

-------省略其他万行代码----------------

修改之后保存退出

(2)配置/etc/named.rfc1912.zones,增加域的配置

[root@rootbug ~]#vim /etc/named.rfc1912.zones

按照配置文件格式添加一个域,这里我添加一个rootbug.com的域,域的数据文件放在directory "/var/named"当前目录下的data下,名称为:master.rootbug.com.zone。配置域时请注意“;”分号。

zone "rootbug.com" IN {

type master;

file "data/master.rootbug.com.zone";

};


配置好之后保存退出。


(3)创建master.rootbug.com.zone的数据文件

[root@rootbug ~]#vim /var/named/data/master.cluster.com.zone


$TTL 3600
@ IN SOA rootbug. zhangsan. (
2013090801 --版本号,下面的是各种时间,作用是主从DNS服务器的同步时间
30
60
90
3600 )
IN NS 172.16.2.151. --这里就是DNS服务器的IP(实际应该是公网IP,但这里是内网环境,所以写的内网IP),但是ip地址最后还有一个“.”记得加点,也可以写DNS服务器的外网域名;并且这里可以写多个NS,代表了你公司的多台DNS服务器
mail IN A 1.1.1.1 --A记录就是真正的数据,这里代表mail.rootbug.com的公网地址为1.1.1.1
dns IN A 172.16.2.151
bbs IN A 2.2.2.2


保存退出


(4)启动DNS服务器

[root@rootbug ~]#/etc/init.d/named start ----第一次配置开启过程需要等待一段时间


(5)客户端认证DNS服务器是否正确

windows客户端认证

在IP配置DNS栏中将首选DNS填写为172.16.2.151即可

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\ruutbug>nslookup mail.rootbug.com
*** Can't find server name for address 172.16.2.151: Server failed
*** Default servers are not available
Server: UnKnown
Address: 172.16.2.151

Name: mail.rootbug.com
Address: 1.1.1.1


C:\Documents and Settings\ruutbug>nslookup dns.rootbug.com
*** Can't find server name for address 172.16.2.151: Server failed
*** Default servers are not available
Server: UnKnown
Address: 172.16.2.151

Name: dns.rootbug.com
Address: 172.16.2.151


C:\Documents and Settings\ruutbug>nslookup bbs.rootbug.com
*** Can't find server name for address 172.16.2.151: Server failed
*** Default servers are not available
Server: UnKnown
Address: 172.16.2.151

Name: bbs.rootbug.com
Address: 2.2.2.2


linux客户端认证

[root@rootbug ~]# vim /etc/resolv.conf

nameserver 172.16.2.151

保存退出

[root@rootbug ~]#nslookup mail.rootbug.com
Server: 172.16.2.151
Address: 172.16.2.151#53

Name: mail.rootbug.com
Address: 1.1.1.1


[root@rootbug ~]#nslookup bbs.rootbug.com
Server: 172.16.2.151
Address: 172.16.2.151#53

Name: bbs.rootbug.com
Address: 2.2.2.2


4、反向解析DNS服务器

IP解析为域名

(1)第一步:主配置文件添加以下区域:
[root@rootbug ~]# vim /etc/named.rfc1912.zones
zone "2.16.172.in-addr.arpa" IN {
type master;
file "data/master.2.16.172.in-addr.arpa.zone";
};


(2)第二步:建立区域数据文件
[root@rootbug ~]#vim /var/named/data/master.2.16.172.in-addr.arpa.zone

$TTL 86400
@ IN SOA rootbug. abc. (
2013091101
30
60
90
86400 )
IN NS 172.16.2.151.
151 IN PTR dns.rootbug.com. --172.16.2.151这个IP被反向解析为dns.rootbug.com
保存退出


[root@rootbug ~]#/etc/init.d/named restart


客户端认证是否正确

[root@rootbug ~]# nslookup 172.16.2.151
Server: 172.16.2.151
Address: 172.16.2.151#53

151.2.16.172.in-addr.arpa name = dns.rootbug.com.


5、主从DNS服务器

主服务器IP为172.16.2.151,从服务器IP为172.16.2.152

从服务器上同样需要安装DNS服务器的各个软件包,安装情况上面。

(1)配置named.conf

[root@rootbug ~]#
vim /etc/named.conf --打开此文件,和主的配法一样

options {
listen-on port 53 { any; }; --改为any
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";
allow-query { any; }; --改为any
recursion yes;



[root@rootbug ~]# vim /etc/named.rfc1912.zones --在最后加上下面一段


zone "rootbug.com" IN {
type slave; --类型定义为slave
file "slaves/slave.rootbug.com.zone"; --最好把zone文件定义到slaves目录下;
masters { 172.16.2.151; }; --指定主DNS服务器的IP地址
};


[root@rootbug ~]# /etc/init.d/named start --启动named服务
Starting named: [ OK ]



[root@localhost ~]# ls /var/named/slaves/ --再次查看发现是主上面下载过来了
slave.rootbug.com.zone

如果不能下载过来:
查看网络是否连通,就是ping一下
查看iptables,selinux是否关闭
时间是否同步等