首页
登录 | 注册

BIND

BIND乃现今使用最为广泛的DNS服务器软件
         BIND服务的名称谓之“named”
         BIND配置文件保存在两个主要位置
           ▲ BIND服务主配置文件:/etc/named.conf
           ▲ zone文件:         /var/named/
         chroot是通过将相关文件封装在一个伪根目录内,以达到安全防卫的目的,一旦该程序被攻破,
         将只能访问伪根目录内的内容,而不是真实的根目录
         通过:
             yum install -y bind bind-chroot bind-utils
             进行BIND安装
         默认使用53号端口
         如果安装了bind-chroot,BIND会被封装在一个伪根目录内(/var/named/chroot/),配置文件的位置则变为:
           ▲ BIND服务主配置文件:/var/named/chroot/etc/named.conf
           ▲ zone文件:         /var/named/chroot/var/named/
           原来在/etc 和/var的内的配置信息会被完全移到伪根内
         BIND在安装后没有预置的配置文件,但在BIND的文档文件夹内(/usr/share/doc/bind-*),BIND为我们提供了配置文件模板
         我们可以直接拷贝过来:
           cp -rv /usr/share/doc/bind-9.3.6/sample/etc/*  /var/named/chroot/etc
           cp -rv /usr/share/doc/bind-9.3.6/sample/var/*  /var/named/chroot/var
         最小化的BIND服务主配置文件内容如下:
[plain] view plaincopyprint?
  1. [root@even etc]# cat named.conf  
  2. options  
  3. {  
  4.         directory "/var/named";  
  5.         listien-on port 53 {127.0.0.1;};  
  6. };  


         配置域主服务器(Master)
        
         ① --在BIND的主配置文件中添加域example.com的定义

         定义:

                设置指向每个域名和IP地址映射信息的文件


         ● 配置文件位置
            /var/named/chroot/etc/named.conf
         ● 在主配置文件中添加一行域的zone定义:
           zone "example.com"{
             type master;
             file "example.com.zone";
                             };
                            
         ② --为定义的域添加zone配置文件

         定义:

                

                 用户配置的域名解析文件:也称为区文件,若当前DNS服务器需要解析多个域名,则需要设置多个域名解析文件。若需要反向解析,还要设置对应的反向解析文件。


         ● zone文件的位置
            /var/named/chroot/var/named/example.com.zone
         ● zone文件内容
            zone文件内容比较复杂,手工输入极易出错,所以,
            一般使用默认的named.localhost配置文件作为模板
            cp named.localhost或者localdomain.zone  example.com.zone
            然后,添加资源记录(RR)
                      IN MX  10  mail.example.com
.
            www  IN  A  192.168.1.110
            mail   IN  A  192.168.1.126
       
            并且:
                ★ 确保这些配置文件都有读权限:ll
                ★ selinux是关着:getenforce
       
         ③ --启动BIND服务或刷新配置
           service named start
           service named reload
          
         ④ --用本机作测试:将本机的DNS配置指向本机
           /etc/resolv.conf
           nameserver 127.0.0.1
          
         ⑤ --使用host或者dig命令验证DNS配置

[plain] view plaincopyprint?
  1. [root@even named]# dig -t mx example.com  
  2.   
  3. ; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5 <<>> -t mx example.com  
  4. ;; global options:  printcmd  
  5. ;; Got answer:  
  6. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65191  
  7. ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 3  
  8.   
  9. ;; QUESTION SECTION:  
  10. ;example.com.                   IN      MX  
  11.   
  12. ;; ANSWER SECTION:  
  13. example.com.            86400   IN      MX      10 mail.example.com.  
  14.   
  15. ;; AUTHORITY SECTION:  
  16. example.com.            86400   IN      NS      example.com.  
  17.   
  18. ;; ADDITIONAL SECTION:  
  19. mail.example.com.       86400   IN      A       192.168.1.126  
  20. example.com.            86400   IN      A       127.0.0.1  
  21. example.com.            86400   IN      AAAA    ::1  
  22.   
  23. ;; Query time: 2 msec  
  24. ;; SERVER: 127.0.0.1#53(127.0.0.1)  
  25. ;; WHEN: Tue Nov 27 20:13:03 2012  
  26. ;; MSG SIZE  rcvd: 124  
  27.   
  28. [root@even named]# host www.example.com  
  29. www.example.com has address 192.168.1.110  


         错误排查
        
         DNS配置语法晦涩,容易出现配置错误
         BIND为我们提供了两个语法检查工具:
         ▼ named-checkconf可以查看BIND主配置文件的错误:
            named-checkconf /var/named/chroot/etc/named.conf
         ▼ named-checkzone可以查看zone文件的错误:
            named-checkzone example.com /var/named/chroot/var/named/example.com.zone
            通常,BIND配置要么语法上出错、要么权限上有错


相关文章

  • 猪事大吉 - ROS 学习 - BigRobot - 第二日 - ROS多线程部分
    ros::spin()和ros::spinOnce() 什么时候用ros::spin()和ros::spinOnce() 当只有话题订阅时, 则程序只需要在话题消息来临时响应回调函数即可, 即为使用 ros::spin(), 即为死循环. ...
  • Redis源码解析--NET
        关于Redis资料:     要看原滋原味的请点这里,要看有我参与的山寨货请点这里,当然我也不反对看这里.     在接下来的日子里,我会记录下我对Redis源码的一些认识,首先从Event driven programming l ...
  • Java动态代理之InvocationHandler最简单的入门教程
    public interface IHello { void sayHello(String name); void sayGoogBye(String name); } public class Helloimplements imple ...
  •     对于RabbitMQ如果是简单的应用case,则用缺省配置即可,如果是复杂应用,则需要定制服务器配置.下面就开始详细配置之旅吧.    RabbitMQ通常有以下2种方式来定制Server:一.环境变量      环境变量初始值通过 ...
  • 网络数据包收发流程(四):协议栈之packet_type
    进入函数netif_receive_skb()后,skb正式开始协议栈之旅.先上图,协议栈大致过程如下所示:跟OSI七层模型不同,linux根据包结构对网络进行分层.比如,arp头和ip头都是紧跟在以太网头后面的,所以在linux协议栈中a ...
  •     本文只会涉及flume和kafka的结合,kafka和storm的结合可以参考其他博客 1. flume安装使用     下载flume安装包http://www.apache.org/dyn/closer.cgi/flume/1. ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.011 s.
京ICP备10005923号