DNS-实验1_简单配置和主从DNS

本文实验环境均为rhel5.8,DNS服务器软件版本为:bind97,软件包使用光盘源,yum安装
主服务器IP为:172.16.35.1/16            主机名:ns.mos.com
从服务器IP为:172.16.35.2/16            主机名:ns2.mos.com
委派子域服务器IP为:172.16.37.1/16       主机名: dns.tech.mos.com

为防止实验出额外问题,请检查您服务器以下内容:
1、 所有和dns配置使用有关的文件权限,属组,一般权限均要求为644,属组为named(yum安装后会自动创建此系统组)
2、 实验中,为避免不必要的错误,尽可能清空您的iptables(iptables -F)
3、 关闭selinux(setenforce 0暂时关闭)
4、 请务必保持您实验环境的几台服务器时间一致(否则主从加密传输会出问题)。
5、 检查您的网络,保证您三个实验环境可以通讯。
6、 出错时,记得查看日志文件/var/log/messages
 
 
一、      实现简单的DNS 配置,使用服务器ns.mos.com
 
    
    
    
    
  1. yum remove bin-libs bind-utils –y   #系统会默认安装旧版本的,需要先删除  
  2. yum install bind97 bind97-libs bind97-utils –y      #安装所需软件包  
  3. vim /etc/named.conf #修改主配置文件如下  
  4. options {  
  5.         directory "/var/named"; //定义dns工作目录  
  6. };  
  7. zone "." IN {   //定义根域服务器  
  8.         type hint;   //定义其为根提示区域类型  
  9.         file "named.ca";    //根区域的的数据文件,确保其存在(/var/name/named.ca)  
  10.         allow-transfer { none; }; //定义不允许客户端获取DNS上的所有数据  
  11. };  
  12. zone "localhost" IN {   //定义loalhost解析  
  13.     type master;        //类型为主服务器  
  14.     file "mos.localhost.zone";  //定义loaclhost的正向解析的数据文件  
  15.     allow-transfer { none; };  
  16. };  
  17. zone "0.0.127.in-addr.arpa" IN {    //定义localhost的反向解析  
  18.     type master;          
  19.     file "127.0.0.zone";    //定义loaclhost的反向解析的数据文件  
  20. allow-transfer { none; };  
  21. };  
保存退出,主配置文件已简单完成,然后,我们需要刚才配置数据文件
正向解析:(注意,完整域名后面的点”.”,切记不可少!!!)

 

  
  
  
  
  1. vim /var/named/mos.localhost.zone     
  2. $TTL 86400  ;宏定义(全局变量)缓存的条目时间,86400是秒数,一天  
  3. @       IN SOA  localhost. root.loaclhost.  ;当前域,SOA定义权威授权起始处,主机名,邮箱  
  4.                     0   ; serial    序列号,主要用于主从服务器对比更新  
  5.                     1H  ; refresh    刷新时间,1小时  
  6.                     5M  ; retry 失败后重试时间,5分支  
  7.                     7D  ; expire    过期时间,7天  
  8.                     1D )    ; minimum   否定缓存1天  
  9.         IN  NS  localhost.      ;指定主服务器  
  10. localhost.  IN  A   127.0.0.1       ;指定主服务器的解析地址  
  11. vim /var/named/127.0.0.zone   ; 反向解析:此处不在做详细注释,几乎同上  
  12. $TTL 86400   
  13. @   IN SOA  localhost. root.loaclhost. (  
  14.                     0   ; serial  
  15.                     1H  ; refresh  
  16.                     5M  ; retry  
  17.                     7D  ; expire  
  18.                     1D )    ; minimum  
  19.     IN  NS  localhost.  
  20. 1   IN  PTR localhost.  

保存退出并server named restart,至此,简单的DNS服务器已完成,但仅能自身做localhost正向解析,以及,如果此服务器联网的话,可以做缓存服务器来使用

下面我们来做一个测试:
  
  
  
  
  1. dig -t A localhost @127.0.0.1    
  2. dig -x 127.0.0.1 @127.0.0.1 
 
dig命令 –t指定查询类型(此处为正向解析) 查询目标 @服务器IP
只要有此行,表示成功:localhost.               86400       IN     A       127.0.0.1 则表示正向正确
 x为反向解析查询;只要有此行,表示成功:1.0.0.127.in-addr.arpa.         86400       IN     PTR localhost.
若查询失败,检查/var/log/messages日志,以及文件开头的处的排错方法.
 
二、 实现内网解析,实现DNS 主从,及简单的传输限制
 
主DNS(ns.mos.com 172.16.35.1/16)配置:如下
在主配置文件中添加如下段落:
  
  
  
  
  1. zone "mos.com" IN {   
  2.     type master;  
  3.     file "mos.zone";
  4. notify yes; //当检测到资源记录修改时,通知定义的从服务器
  5. also-notify { 172.16.35.2; };   //当检测到资源记录修改时,具体通知给谁,多个以冒号间隔
  6.     allow-transfer { 172.16.35.2; }; //主从同步时,仅向此IP传输,可设置多个以冒号间隔
  7. };  
  8. zone "16.172.in-addr.arpa" IN {  
  9.     type master;  
  10.     file " 172.16.zone";
  11. notify yes;
  12. also-notify { 172.16.35.2; };
  13.     allow-transfer { 172.16.35.2; };  
  14. }; 
创建主配置文件中添加指定的数据库文件:
  
  
  
  
  1. vim /var/named/mos.zone  
  2. $TTL 86400   
  3. $ORIGIN mos.com.  
  4. @       IN SOA  ns.mos.com. root.mos.com. (  
  5.                     0   ; serial  此处更改后,笔者一般加1
  6.                     1H  ; refresh  
  7.                     5M  ; retry  
  8.                     7D  ; expire  
  9.                     1D )    ; minimum  
  10.         IN  NS  ns  
  11.         IN  NS  ns2  
  12.         IN  MX 10   mail  
  13. ns      IN  A   172.16.35.1  
  14. ns2     IN  A   172.16.35.2  
  15. ns3     IN  A   172.16.35.1  
  16. mail        IN  A   172.16.35.1  
  17. www     IN  A   172.16.35.2  
  18. ftp     IN  CNAME   ns  
  19.  
  20. vim /var/named/172.16.zone  
  21. $TTL 86400   
  22. @       IN SOA  ns.mos.com. root.mos.com. (  
  23.                     0   ; serial  
  24.                     1H  ; refresh  
  25.                     5M  ; retry  
  26.                     7D  ; expire  
  27.                     1D )    ; minimum  
  28.         IN  NS  ns.mos.com.  
  29.         IN  NS  ns2.mos.com.  
  30. 1.35        IN  PTR ns.mos.com.  
  31. 2.35        IN  PTR www.mos.com.  
  32. 2.35        IN  PTR ns2.mos.com.  
  33. 1.35        IN  PTR mail.mos.com.  
  34.  
  35. chmod 644 /var/named/mos.zone; chmod 644 /var/named/172.16.zone  
  36. chown root.named /var/named/mos.zone; chown root.named /var/named/172.16.zone 
#如果您的文件权限符合要求,上面两个修改可略过...
service named restart
此时,主服务器已经配置OK,且查询指定此服务器已可完成设定的域名解析
 
从DNS(ns2.mos.com 172.16.35.2/16)配置如下:
  
  
  
  
  1. yum remove bin-libs bind-utils –y ; yum install bind97 bind97-libs bind97-utils –y  
  2. vim /etc/named.conf  
  3. options {  
  4.     directory "/var/named";  
  5. };  
  6.  
  7. zone "." IN {  
  8.     type hint;  
  9.     file "named.ca"; //笔者图省事,因此allow-transfer 字段并未书写  
  10. };  
  11.  
  12. zone "localhost" IN {  
  13.     type master;  
  14.     file "mos.localhost.zone";  //笔者此文件,直接从主DNS复制的,切记权限修改  
  15. };  
  16. zone "0.0.127.in-addr.arpa" IN {  
  17.     type master;  
  18.     file "127.0.0.zone"; //笔者此文件,直接从主DNS复制的,切记权限修改  
  19. };  
  20. zone "mos.com" IN {  
  21.     type slave;  
  22.     file "slaves/mos.slave.zone";  //named对/var/named/slaves目标必须有写权限!!  
  23.     masters { 172.16.35.1; };         
  24. };  
  25. zone "16.172.in-addr.arpa" IN {  
  26.     type slave;  
  27.     file "slaves/172.16.slave.zone";  ////数据资源不必存在,会自动同步.  
  28.     masters { 172.16.35.1; };  
  29. };  
  30. server named restart  
至此配置已然完成,可对
ns2.mos.com 
ns.mos.com
www.mos.com
mail.mos.com
这些域名做正向测试,以及
172.16.35.1或172.16.35.2
做反向测试
若正确,修改主DNS的数据文件,添加条目,并修改序列号值,然后重启主服务器,测试主从是否正常工作。
若不正常,请依次检查日志错误信息,以及权限,selinux,网络,和主从服务间的时间是否一致等。

 

你可能感兴趣的:(linux,bind,dns,主从)