centos5 系统配置DNS服务器配置详解
一、 首先,安装 bind 
1)、用光盘自带安装
# rpm -qa | grep bind
bind-libs-9.3.4-6.P1.el5
bind-libbind-devel-9.3.4-6.P1.el5
bind-9.3.4-6.P1.el5
bind-chroot-9.3.4-6.P1.el5
bind-sdb-9.3.4-6.P1.el5
bind-devel-9.3.4-6.P1.el5
bind-utils-9.3.4-6.P1.el5 
# rpm -qa | grep caching-nameserver
caching-nameserver-9.3.4-6.P1.el5
                      
使用了chroot后,虚拟根目录为/var/named/chroot,则namd.conf实际位置为/var/named/chroot/etc,而工作目录/var/named实际路径为/var/named/chroot/var/named. 
2)、使用 yum安装, 
# yum install bind* 
# yum install caching-nameserver 
安装过程很简单主要的就是BIND服务。 
本机IP是:192.168.0.14
# ls /var/named/chroot/etc/ 
localtime    named.rfc1912.zones named.caching-nameserver.conf     rndc.key
这些是在/var/named/chroot/etc/下的几个主要的配置。 
3)、首先编辑 named.conf 文件
# cp -p named.caching-nameserver.conf named.conf 
注:使用cp -p 参数在复制的时候文件的属性不会改变。如果直接 cp 则要修改此文件的属主:
#chown :named named.conf 
编辑 named.conf文件进行配置。 
# vi named.conf     
options { 
     listen-on port 53 { 127.0.0.1; };     //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"; 
     query-source     port 53;     
     query-source-v6 port 53; 
     allow-query      { any; };              //localhost 改为 any 
     forwarders       { 208.67.222.222; }; // 此行默认没有,如果内网使用此dns 可以设置 dns 转发,这里一定是一个有效的 dns 地址,则添加这两行 。
     forward only;           
}; 
logging { 
         channel default_debug { 
                 file "data/named.run"; 
                 severity dynamic; 
         }; 
}; 
view localhost_resolver { 
     match-clients          { any; };      //localhost 改为 any 
     match-destinations { any; };         //localhost 改为 any 
     recursion yes; 
     include "/etc/named.rfc1912.zones"; 
}; 
4)、然后编辑 /var/named/chroot/etc/named.rfc1912.zones 
# vi named.rfc1912.zones    //dns 服务器的区域主配置文件
在最后添加自己的 dns 区域 如果有多个则类似添加 
zone "leisure.com" IN {                  // leisure.com 我实验用的区域,正向解析区域
     type master; 
     file "leisure.com.zone";             // leisure.com.zone本区域的配置文件
     allow-update { none; }; 
}; 
zone "0.168.192.in-addr.arpa" IN {        //0.168.192       反向解析区域 
     type master; 
     file "0.168.192.zone";                // 0.168.192      反向解析区域配置文件
     allow-update { none; }; 
}; 
5)、这两个区域配置文件可以分别直接拷贝 /var/named/chroot/var/named/localdomain.zone 和
/var/named/chroot/var/named/named.local 
# cd /var/named/chroot/var/named/ 
# cp -p localdomain.zone leisure.com.zone 
# cp -p named.local        0.168.192.zone 
注意:这两个配置文件名一定要跟named.rfc1912.zones 你定义的名称相同
下面主要是编辑这两个文件了。 
# vi 0.168.192.zone 
$TTL     86400 
@        IN       SOA      localhost. root.localhost. ( 
                                       1997022700 ; Serial 
                                       28800       ; Refresh 
                                       14400       ; Retry 
                                       3600000     ; Expire 
                                       86400 )     ; Minimum 
          IN       NS       leisure.com. 
14        IN       PTR      dns.leisure.com.    //添加反向解析记录 
15        IN       PTR      .       //添加反向解析记录 
16        IN       PTR      mail.test.com.      //添加反向解析记录 
14 是指的 dns 服务器IP:192.168.1.14 的最后地址区域 
6)、# vi leisure.com.zone 
$TTL     86400 
@         IN SOA     localhost root ( 
                     42         ; serial (d. adams) 
                     3H         ; refresh 
                     15M         ; retry 
                     1W         ; expiry 
                     1D )         ; minimum 
      IN NS         dns      //添加域名服务器记录-NS记录(设置当前域的DNS服务器名称) 
      IN MX 5      mail     //添加邮件交换记录-MX记录(设置mail.leisure.com主机作为邮件服务器)
dns      IN A         192.168.1.14         //添加正向解析
www      IN A         192.168.1.15         //添加正向解析
mail     IN A         192.168.1.16         //添加正向解析 
bbs      CNAME        www                  //添加别名               
7)、最后就是修改/etc/resolv.conf文件了. 也就是添加主dns 服务器 
# vi /etc/resolv.conf 
nameserver 192.168.0.14 
8)、测试:
#named-checkzone leisure.com var/named/chroot/var/named/leisure.com.zone    //测试正向区域文件(文件没有语法错误则显示OK,有错误则显示错误内容)
同理测试反向解析文件 
9)、启动 bind 服务
#service named start 
ok 
到此配置就结束了,如果开启了selinux 则要设置一下selinux,因为不配置这个的话就不会让别人访问你的DNS服务器。 防火墙开启 tcp:53 udp:53 
# ntsysc
这只named 开启自动启动即可;
实验中可关闭Selinux,开启服务service named start. 
10)、以上即是配置主域名服务器过程,如果是从域名服务器,这个配置过程也是一样的,只需要改动named.rfc1912.zones文件即可 
zone "test.com" IN { 
     type slave; 
     file "slaves/leisure.com.zone";    //在/var/named/chroot/var/named/slaves 
     masters { 192.168.1.12; };           添加区域配置文件leisure.com.zone既可
}; 
zone "0.168.192.in-addr.arpa" IN { 
     type slave; 
     file "slaves/0.168.192.zone";     //在/var/named/chroot/var/named/slaves 
     masters { 192.168.1.12; };          添加区域配置文件 0.168.192.zone 即可
}; 
11)、域名解析测试自带的 nslookup 工具
# nslookup 
>  
Server:          192.168.1.14 
Address:         192.168.1.14#53 
Name:     
Address: 192.168.1.14 
>set type=mx
>leisure.com
Server:          192.168.0.14
Address:         192.168.0.14#53 
leisure.com      mail exchanger = 5 mail.leisure.com. 
三、其它命令: 
#rndc reload 一个非常有用的命令,能在不关闭服务的情况下,即时更新bind;另nslookup交互环境中,可以用命令server 192.168.1.102指定此DNS服务器为提供服务的DNS服务器 
四、 标准资源记录  
-----------------------------------------------------------------------  
资源记录文本名 意义 记录类型 功能  
-----------------------------------------------------------------------  
Start of Authority 授权开始 SOA 标记区数据的开始,定义影响整个区的参数  
Name Server 名字服务器 NS 标明域的名字服务器  
Address 地址 A 转换主机名到地址  
Pointer 指针 PTR 转换地址到主机名  
Mail Exchange 邮件交换 MX 标明发往给定域名的邮件应传送到的位置  
Canonical Name 正规名 CNAME 定义主机名别名  
HOST information 主机信息 HINFO 描绘主机硬件和操作系统的信息  
Wellknown Service 着名服务 WKS 通告网络服务 
DNS使用MX记录来实现邮件路由,它规定了域名的邮件服务器要么处理,要么向前转发有关该域名的邮件.处理邮件是指将其传送给其地址所关联的个人, 向前转发邮件是指通过SMTP协议将其传送给其最终目的地.为了防止邮递路由,MX记录除了邮件交换器的域名外还有一个特殊参数:优先级值.优先级值是个 从0到65535的无符号整数,它给出邮件交换器的优先级别. 
优先级值自身并不重要,关键在于它同其它邮件交换器的优先级值的相对大小,优先级值相对越小,优先级越高.邮件总是首先试图传递给优先级值相对最小的 邮件交换器.失败后才试图传递给优先级值稍大的邮件交换器.邮件总是试遍了同一优先级的邮件交换器,失败后才试图传递给优先级稍低的邮件交换器. 
注意你列为邮件交换器的主机必须拥有地址记录.  
例如: 
mail A 172.16.0.3  
MX 10 mail.test.com.  
五、管理工具
#dig  
named.ca文件的作用是告诉你的服务器在哪里可以找到根域的域服务器,这个文件 一定要保证正确无误,一般来说,这个文件几乎不会变动,但是不能保证不会变动,最好是 每一,两个月同步一下.  
使用下面的命令获得新的named.ca文件  
dig @.aroot-servers.net.ns >/var/named/named.ca  
#rndc   
rndc这个指令是由系统管理员用来管理域服务器的操作,在终端中输入ndc help可得到帮助.  
rndc restart 用来重新启动named进程;  
rndc reload 用来装入新的数据库.
#nslookup  
nslookup是用来询域名信息的命令,它分交互模式和非交互模式两种方式.  
非交互模式:nslookup www.net527.cn  
交互模式:nslookup  
注意,当用nslookup查询时出现"Non-authoritative answer:",表明这次并没有到 网络外去查询,而是在缓存区中查找并找到数据.  
交互模式除了能查询单个的主机,还可以查询DNS记录的任何类型,并且传输 一个域的整个区域信息。 当不加参数地调用,nslookup将显示它所用的名字服务器, 并且进入交互模式。
- 最新评论
 
