DNS(把IP地址解析为域名)5.x版本的配置

一、DNS服务器的配置(需要转发的服务器、父域名服务器、主域名服务器)
添加DNS服务器的IP地址
vim /etc/resolv.conf 
nameserver(都是这个名字)  192.168.11.1(DNS的IP)
 
ONE:实现负载均衡(泛域名)
1.先挂载光盘
mount /dev/cdrom /media/
2.编辑本地yum文件
vim /etc/yum.repos.d/rhel-debuginfo.repo
 
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///media/Server/)  
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
3.用yum安装bind(DNS域名服务)
yum -y install bind*
yum -y install caching*
用rpm安装,需安装相应的依赖包
1. rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm
2. rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm
3. rpm -ivh bind-utils-9.3.6-4.P1.el5.i386.rpm
4. rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm 
软件包:bind    提供域名服务的主程序和相关文件
bind-utils 提供了对DNS服务的测试工具程序
bind-chroot 提供一个伪装的要目录以增强安全性,安装后,主配置文件的根目录为/var/named/chroot/etc/named.conf
caching-nameserver 为配置BIND作为缓存服务器提供必要的默认配置文件
(chkconfig named on 系统开机的时候就开启服务)
4.开启named(bind是软件的名称named是服务的名称)服务
service named restart
5.建立主配置文件
cd /var/named/chroot/etc
cp -p named.caching-nameserver.conf  named.conf 
6.修改主配置文件
vim /var/named/chroot/etc/named.conf (进入主配置文件)
options {
        listen-on port 53 { any; }; //设置named监听的端口号,IP地址(any表示容许所有)
        listen-on-v6 port 53 { ::1; };设置
        directory       "/var/named"; //设置区域数据文件的默认存放路径(/var/named/chroot/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; };//容许DNS查询的客户端的地址 (192.168.11.0//24这个网段,也可以是any容许所有)
        allow-query-cache { any; };()
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
view localhost_resolver {
        match-clients      { any; };
        match-destinations { any; };
        recursion yes; //容许递归查询
        include "/etc/named.zones";(指定区域配置文件的路径)
};
7.建立区域配置文件
cd /var/named/chroot/etc
cp -p named.rfc1912.zones named.zones
8.修改区域配置文件
vim /var/named/chroot/etc/named.zones
 
zone "." IN {
        type hint;:
        file "named.ca";
};
zone "baidu.com" IN {
        type master;
        file "baidu.com.zone";
        allow-update { none; };
};
zone "11.168.192.in-addr.arpa" IN {
        type master;
        file "baidu.com.local";
        allow-update { none; };
};
9.建立区域数据配置文件和方向区域数据配置文件
cd /var/named/chroot/var/named/
cp -p localdomain.zone baidu.com.zone
cp -p named.local  baidu.com.local
10.编辑区域数据配置文件
(正向的)vim /var/named/chroot/var/named/baidu.com.zone
 
 
$TTL    86400
@               IN SOA  baidu.com. root.baidu.com. (
             42              ; serial (d. adams)
             3H              ; refresh
             15M             ; retry
             1W              ; expiry
             1D )            ; minimum
                IN NS           baidu.com.
baidu.com.      IN A            192.168.11.1
www             IN A            192.168.11.2(负载均衡)
www             IN A            192.168.11.3(负载均衡)
*               IN A            1.1.1.1(泛域名)
 
 
(方向的)vim /var/named/chroot/var/named/baidu.com.local
 
$TTL    86400
@       IN      SOA     baidu.com. root.baidu.com.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
        IN      NS      baidu.com.
1       IN      PTR     www.baidu.com.
2       IN      PTR     qqq.baidu.com.
3       IN      PTR     kkk.baidu.com.
11.开启named服务
service named restart(服务开启不了看日志 tail -f /var/log/messages )
 
TWO:不同域名之间的转发
1.安装bind域名服务器(接收转发的服务器)
yum -y install bind*
yum -y install caching*
chkconfig named on
service  named on
2.建立主配置文件
cd /var/named/chroot/etc
cp -p named.caching-nameserver.conf  named.conf 
3.建立区域配置文件
cd /var/named/chroot/etc
cp -p named.rfc1912.zones named.zones
4.修改主配置文件
vim /var/named/chroot/etc/named.conf (进入主配置文件)
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        allow-query     { any; };
        allow-query-cache { any; };
};
view localhost_resolver {
        match-clients      { any; };
        match-destinations { any; };
        recursion yes;
        include "/etc/named.zones";
};
 
5.建立区域配置文件
cd /var/named/chroot/etc
cp -p named.rfc1912.zones named.zones
6.修改区域配置文件
vim /var/named/chroot/etc/named.zones
 
 
zone "." IN {
        type hint;
        file "named.ca";
};
zone "sina.com" IN {
        type master;
        file "sina.com.zone";
        allow-update { none; };
};
7.建立区域数据配置文件
cd /var/named/chroot/var/named/
cp -p localdomain.zone sina.com.zone
8.编辑区域数据配置文件
vim /var/named/chroot/var/named/sina.com.zone
$TTL    86400
@               IN SOA  sina.com. root.sina.com. (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
                IN NS           sina.com.
sina.com.       IN A            192.168.11.2
www             IN A            192.168.11.20
ftp             IN A            192.168.11.200
 
9.开启named服务
service named restart(服务开启不了看日志 tail -f /var/log/messages )
 
10.在需要转发的DNS上的主配置文件里面添加一条转发的记录
vim /var/named/chroot/etc/named.conf
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        allow-query     { any; };
        allow-query-cache { any; };
        forwarders        { 192.168.11.2; };//转发到那个服务器上去解析
        
};
11.两个服务器都重启服务
service named restart
 
 
THREE:子域委派(子DNS服务器)
1.安装bind域名服务器
yum -y install bind*
yum -y install caching*
chkconfig named on
service  named restart
2.在区域配置文件里面需要子域的文件
vim /var/named/chroot/etc/named.zones
 
zone "son.benet.com" IN {
        type master;
        file "son.benet.com.zone";
        allow-update { none; };
};
2.建立子域的区域数据配置文件
cd /var/named/chroot/var/named/
cp -p localdomain.zone son.bent.com.zone
3.在子域的区域数据配置文件中添加NS记录和A记录
 vim     /var/named/chroot/var/named/son.bent.com.zone
$TTL    86400
@               IN SOA  son.benet.com. root.son.benet.com. (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
                IN NS           son.benet.com.
son.benet.com.  IN A            192.168.11.2
wuhan           IN A            2.2.2.2
4.在父服务器里面添加子域的NS记录和A记录
son             IN A            192.168.11.2
                IN NS           son.benet.com. 
5.重启两个DNS服务器
  service  named restart
 
FOUR:主从服务器
                                     
1.安装bind域名服务器(从服务器)
yum -y install bind*
yum -y install caching*
chkconfig named on
service  named restart
2.建立主配置文件和建立区域配置文件
cd /var/named/chroot/etc
cp -p named.caching-nameserver.conf  named.conf
cp -p named.rfc1912.zones  named.zones
3.修改主配置文件
vim /var/named/chroot/etc/named.conf
 
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        allow-query     { any; };
        allow-query-cache { any; };
};
view localhost_resolver {
        match-clients      { any; };
        match-destinations { any; };
        recursion yes;
        include "/etc/named.zones";
};
 
4.修改区域配置文件
vim /var/named/chroot/etc/named.zones
 
zone "benet.com" IN {
        type slave;
        masters { 192.168.11.1; };
        file "slaves/benet.com.zone";
        allow-update { none; };
};
 
5.主服务器的修改 只需要修改区域配置文件
 
vim /var/named/chroot/etc/named.zones
 
zone "benet.com" IN {
        type master;
        file "benet.com.zone";
        allow-update { none; };
        allow-transfer { 192.168.11.2 ; };
};
 
6.两边都重启服务的话从服务器会自动从主服务器上面自动下载区域数据配置文件存放在
cd /var/named/chroot/var/named/slaves/ 里面
 
 
 
##############################
缓存域名服务器
options {
directory "/var/named" ;
forwarders { 网关ip ; };
};
zone "." IN {
type hint;
file "named.ca" ;
};
 
 
分离解析的主域名服务器
options {
directory "/var/named" ;
};
view "lan" {
match-clients { 内网ip ; };
        allow-query { any; };
        match-destinations { any; };
        allow-query-cache { any; };
        recursion yes;
        forward first;
        forworders { 外网DNSip; };
zone "benet.com" IN {
type master;
file "benet.com.lan" ;
};
zone "14.168.192.in-addr.arpa" IN {
type master;
file "benet.com.ptr";
};
};
view "wan" {
match-clients { any ; };
zone "benet.com" IN {
type master;
file "benet.com.wan";
allow-transfer { 从域ip ; };
};
};
 
 
 
从域服务器
options {
directory "/var/named"
};
zone "benet.com" IN {
type slaves;
masters { 主域外网IP ; };
file "slaves/benet.com.wan";
};
 
 
区域数据库配置文件
$TTL 86400
@ IN SOA benet.com. root.benet.com. (
20110406 ;
3H ;
15M ;
1W ;
1D ;
)
@ IN NS ns.benet.com.
IN MX mail.benet.com.
ns IN A ip
mail IN A ip
www IN A ip
 
254     IN PTR ns.benet.com.
253 IN PTR mail.benet.com.
252 IN PTR www.benet.com.
################
 
 
DNS服务器的测试
1、DNS测试原理 
DNS服务器的主要测试方法
使用nslookup、dig和host等专用工具可以对DNS服务器进行较全面的测试 
nslookup命令在Linux和Windows系统中都默认安装,是比较常用的测试工具
 
2、使用nslookup测试DNS服务器
进入nslookup命令交换环境
# nslookup
设置使用指定的DNS服务器
> server 192.168.1.5
 
测试openlab.com域中的A记录
> host1.openlab.com 
 
测试openlab.com域中的PTR记录
> 192.168.1.7 
 
测试openlab.com域中的CNAME记录
> www.openlab.com 
 
测试openlab.com域中的NS记录
> set type=ns                           (设置域名查询类型为NS即域名记录)
> openlab.com 
 
测试openlab.com域中的MX记录
> set type=mx                          (设置域名查询类型为MX即邮件交换记录)
> openlab.com 
 
设置进行A记录的测试
> set type=a                             (设置域名查询类型为A即地址记录)
>mail.openlab.com
 
3、使用dig测试DNS服务器     (dig只运行在liunx平台,是domain information grep的缩写)
1)#dig --help
dig命令的格式
Usage:   dig [@global-server] [domain] [q-type] [q-class] {q-opt}
         {global-d-opt} host [@local-server] {local-d-opt}
         [ host [@local-server] {local-d-opt} [...]]
Use "dig -h" (or "dig -h | more") for complete list of options 
 
2)dig命令可以比nslookup命令显示更多的DNS服务器信息 
 
namerserver 202.103.24.68 
 dig -t NS . 挖掘到根服务器的地址