环境要求服务器端客户端

[root@localhost conf]# uname -a
Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

实验

服务器端:

[root@localhost ~]# mount /dev/cdrom/mnt/cdrom
[root@localhost ~]# vi/etc/yum.repos.d/rhel-source.repo   #RedHat挂载
[rhel-source]
name=Red Hat Enterprise Linux $releasever -$basearch - Source
baseurl=file:///mnt/cdrom                         #修改挂载源
enabled=1                                                       #修改成1
gpgcheck=0                                                    #修改成0
………………………………省略………………………………..
[root@localhost ~]# yum -y install bind
[root@localhost ~]# vi /etc/named.conf                   #主配置文件设置
………………………………省略………………………………..
options {
       listen-on port 53 { 192.168.216.156; };   #可以修改成本机IP,也可以用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; };        #可以用IP地址段,也可以用any表示允许所有
       recursion yes;
………………………………省略………………………………..
[root@localhost ~]# vi/etc/named.rfc1912.zones          #区域文件设置
………………………………省略………………………………..
zone "baidu.com." IN {                       #解析的域名注意后面有个点不能省略
       type master;                      ##类型为master
       file "baidu.localhost";      #正向配置文件名与后面的DNS目录中的正向解析文件必须保持一直
       allow-update { none; };
};
 
 
zone "216.168.192.in-addr.arpa" IN {     #反向解析区域的命名法是使用反网络位
       type master;
       file "baidu.empty";           #定义反向解析部分
       allow-update { none; };
………………………………省略………………………………..
[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -pnamed.localhost baidu.localhost          #修改正向解析文件
[root@localhost named]# cp -p named.emptybaidu.empty                              #修改反向解析文件
[root@localhost named]# vi baidu.localhost           #正向解析文件配置
$TTL 1D
@      IN SOA  baidu.com. rname.invalid.(    #主DNS服务器baidu.com. 
               0       ; serial        #时间+序列号01
               1D      ; refresh    #否定答案ttl值,表示查询不到再次查询需要时间
               1H      ; retry   #刷新时间:每隔多久来master查询更新
               1W      ; expire
               3H )    ; minimum
       NS      dns.baidu.com.                 #域名DNS
        MX 5    mail.baidu.com.
dns     A       192.168.216.156               #DNS正向解析
www   A      192.168.216.157                #www正向解析
mail    A       192.168.216.158                #mail正向解析
[root@localhost named]# vi baidu.empty       #反向解析配置文件
$TTL 3H
@      IN SOA  baidu.com. rname.invalid.(
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
       NS      dns.baidu.com.
       MX 5    mail.baidu.com.
156    PTR     dns.baidu.com.                 #IP反向解析156是地址位,PTR是反向解析
157    PTR     www.baidu.com.
158   PTR       mail.baidu.com.
[root@localhost named]# service named restart                     重启dns服务
         注:如果你在重启的时候卡在(Generating /etc/rndc.key:)执行一下这个(rndc-confgen -r/dev/urandom -a)在重启

客户端测试                       注:客户端测试时要加上DNSDNS定义到服务端的IP地址

[root@localhost ~]# nslookup
> www.baidu.com                               #正向解析测试
Server:               192.168.216.156
Address:  192.168.216.156#53
 
Name:      www.baidu.com
Address: 192.168.216.157
> 192.168.216.156                              #反向解析测试
Server:               192.168.216.156
Address:  192.168.216.156#53
 
156.216.168.192.in-addr.arpa         name = dns.baidu.com.