DNS服务器的配置实例

 

在上一篇中详细介绍了dns,这次我们说一下dns服务器的配置。
 
在abc.com.域中,在172.16.13.0/24网段中
我们进行简单规划:
ns服务器:172.16.13.1;  www服务器: 172.16.13.1,172.16.13.3;  mail服务器:172.16.13.2;  ftp服务器是www服务器的别名。
配置主从服务器,使之实现数据同步。
从服务器IP:172.16.13.2 (两个虚拟机)
 
完成过程:
在主服务器上的配置:
一、安装bind软件包(我们这里用的是redhat 5及bind97软件包)
1、配置好yum源
2、删除redhat自动安装的bind93的两个软件包--> bind-libs, bind-utils
#  rpm  -e  bind-libs  bind-utils
3、安装bind97主包以及其子包
#  yum  install  bind97-libs  bind97-utils
#  yum  install  bind97  -y
二、配置bind97的主配置文件:/etc/named.conf
1、删除或重命名安装时产生的官方主配置文件
#  mv  /etc/named.conf  /etc/named.conf.1
2、创建一个新的配置文件,在里面编辑自己所需的功能
#  vim  /etc/named.conf
   
   
   
   
  1. options {  
  2.         directory "/var/named";   # 定义存放的目录  
  3.         allow-recursion { 172.16.0.0/16; };    # 定义要递归的网段  
  4. };  
  5. zone "." {  
  6.         type hint;  # 区域的类型  
  7.         file "named.ca";  # 区域数据文件  
  8. };          
  9.            
  10. zone "localhost" {  
  11.         type master;  
  12.         file "named.localhost";  
  13.         allow-transfer { none; };  # 不允许区域传送  
  14. };             
  15. zone "0.0.127.in-addr.arpa" {  
  16.         type master;  
  17.         file "named.loopback";  
  18.         allow-transfer { 172.16.13.2; };  # 允许传送的辅助区域  
  19. };  
  20. zone "abc.com" {  
  21.         type master;  
  22.         file "abc.com.zone";  
  23.         allow-transfer { 172.16.13.2; };  
  24. };  
  25. zone "13.16.172.in-addr.arpa" {  
  26.         type master;  
  27.         file "172.16.13.zone";  
  28.         allow-transfer { 172.16.13.2; };  
  29. };  
  30.  key "rndc-key" {  #见下边注释  
  31.         algorithm hmac-md5;  
  32.         secret "7oJ+Gsf3HCYYaq9DbpRWvw==";  
  33.  };  
  34.    
  35.  controls {  
  36.         inet 127.0.0.1 port 953 
  37.                 allow { 127.0.0.1; } keys { "rndc-key"; };  
  38. };  

 

注:实现rndc(dns远程控制工具)在本机控制dns服务器
1、生成key配置文件
# rndc-confgen > /etc/rndc.conf
2、将配置文件中的注释掉的后半段复制到/etc/named.conf文件中,并去掉注释符
3、重启一下网络服务
4、可执行rndc -h 命令显示出来的所有命令。

 

三、配置区域文件: /var/named/下
创建并配置在主配置文件中解析的两个正反向区域文件 abc.com.zone 和 172.16.13.zone
#  vim  /var/named/abc.com.zone
   
   
   
   
  1. $TTL 600 
  2. @               IN      SOA     ns1.abc.com.    admin.abc.com (  
  3.                         2013040103 
  4.                         1H 
  5.                         5M 
  6.                         1D 
  7.                         6H )  # SOA记录,@引用主配置文件中定义的区域名  
  8.                 IN      NS      ns1   #主服务器的ns,ns1(空格默认与其上的域名相同)  
  9.                 IN      NS      ns2  # 从服务器的ns,ns2  
  10.                 IN      MX  10  mail   # 邮件服务器的ns记录,mail  
  11. ns1             IN      A       172.16.13.1  # ns记录对应的A记录  
  12. ns2             IN      A       172.16.13.2   
  13. mail            IN      A       172.16.13.2   
  14. www             IN      A       172.16.13.1  # www的A记录  
  15. www             IN      A       172.16.13.3 
  16. ftp             IN      CNAME   www  # www的ftp别名  
  17. *.abc.com.      IN      A       172.16.13.4  # abc.com.域中,除了以上定义的所有主机的A记录  
#  vim  /var/named/172.16.13.zone
   
   
   
   
  1. $TTL 600 
  2. @               IN      SOA     ns1.abc.com.    admin.abc.com (  
  3.                         2013040501 
  4.                         1H 
  5.                         5M 
  6.                         1D 
  7.                         6H )           # SOA记录,@引用主配置文件中定义的区域名  
  8.                 IN      NS      ns1.abc.com.  
  9.                 IN      NS      ns2.abc.com.  # 主从服务器的NS反向解析  
  10. 1               IN      PTR     ns1.abc.com.  # IP地址为172.16.13.1的指针PTR记录  
  11. 2               IN      PTR     ns2.abc.com.  
  12. 1               IN      PTR     www.abc.com.  
  13. 2               IN      PTR     mail.abc.com.  
  14. 3               IN      PTR     www.abc.com. 
编辑完成后,修改以上文件的属组,及权限
#  chmod 640 /etc/named.config
#  chown root:named /etc/named.conf
(同上,该正反区域文件的权限和属组)一定不能忘
 
四、编辑/etc/resolv.conf文件,修改其nameserver为本机的IP
#  vim  /etc/resolv.conf 
nameserver 172.16.13.1
search localdomain
五、关闭SElinux
#  setenforce 0  关闭SElinux
#  getenforce  查看
六、检查配置文件以及正反向区域文件是否错误
# named-checkconf
# named-checkzone "abc.com" /var/named/abc.com
# named-checkzone "13.16.172.in-addr.arpa" /var/named/172.16.13.zone
七、重启或重读dns服务器
#  service named restart|reload
 
在从服务器上的配置:(安装bind97,删除原有的bind软件包)
一、创建主配置文件,并编辑
   
   
   
   
  1. options {  
  2.         directory "/var/named";  
  3.         allow-recursion { 172.16.0.0/16; };  
  4. };  
  5. zone "." {  
  6.         type hint;  
  7.         file "named.ca";  
  8. };          
  9.            
  10. zone "localhost" {  
  11.         type master;  
  12.         file "named.localhost";   
  13.         allow-transfer { none; };  
  14. };             
  15.         
  16. zone "0.0.127.in-addr.arpa" {  
  17.         type master;   
  18.         file "named.loopback";   
  19.         masters { 172.16.13.1; };  
  20.         allow-transfer { 172.16.13.2; };  
  21. };    
  22. zone "abc.com" {  
  23.         type slave;  # 文件类型为从区域:slave  
  24.         file "slaves/abc.com.zone";  # 区域数据文件在/var/named/slaves下  
  25.         masters { 172.16.13.1; };  # 指定主服务器  
  26.         allow-transfer { 172.16.13.2; };  
  27. };  
  28. zone "13.16.172.in-addr.arpa" {  
  29.         type slave;  
  30.         file "slaves/172.16.13.zone";  
  31.         masters { 172.16.13.1; };  
  32.         allow-transfer { 172.16.13.2; };  
  33. };  
修改其权限及属组,关闭SElinux。检查主配置文件是否有语法错误。
 
二、重启dns服务
# service named restart
三、查看日志
 

 

在主dns服务器上查看日志
 

四、查看从服务器上的区域文件
在目录/var/named/slave/下
 

 

此时,主从服务器便能实现数据同步。在主服务器上修改任意内容,都将自动同步至从服务器上。可在修改完成并重新写入后,使用日志查看同步信息。

检验:
使用dig命令查询
       例:# dig  -t  A  www.abc.com 查询www.abc.com下存放的A记录
或使用host命令:查询名称的解析结果
       例:# host -t A  www.abc.com
在window系统上验证:
 

 
由此,便完成了我们所规划的所有任务。写的有点简陋,希望能帮到大家。

 

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