• 【Linux】DNS服务-BIND基础配置(二)


    BIND简介

      现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet Systems Consortium)编写和维护。

      BIND支持先今绝大多数的操作系统(Linux,UNIX,Mac,Windows)

      BIND服务的名称称之为named

      DNS默认使用UDP、TCP协议,使用端口为53(domain),953(mdc,远程控制使用)

    BIND安装

      本例使用的环境是CentOS 7.0的Linux操作系统(非CentOS 7.0系统,安装会有所区别),所以直接采用命令:yum install -y bind bind-chroot bind-utils
      其中bind-chroot和bind-utils是bind的相关包。
      
      

    BIND配置

      1、BIND配置文件保存在两个位置:
        /etc/named.conf  - BIND服务主配置文件
        /var/named/    - zone文件(域的dns信息)

      如果安装了bind-chroot(其中chroot是 change root 的缩写),BIND会被封装到一个伪根目录内,配置文件的位置变为:
        /var/named/chroot/etc/named.conf   - BIND服务主配置文件
        /var/named/chroot/var/named/    - zone文件
      chroot是通过相关文件封装在一个伪根目录内,已达到安全防护的目的,一旦程序被攻破,将只能访问伪根目录内的内容,而不是真实的根目录

      2、BIND安装好之后不会有预制的配置文件,但是在BIND的文档文件夹内(/usr/share/doc/bind-9.9.4),BIND为我们提供了配置文件模板,我们可以直接拷贝过来:
        cp -r /usr/share/doc/bind-9.9.4/sample/etc/* /var/named/chroot/etc/
        cp -r /usr/share/doc/bind-9.9.4/sample/var/* /var/named/chroot/var/

      3、配置BIND服务的主配置文件(/var/named/chroot/etc/named.conf),命令:vim /var/named/chroot/etc/named.conf;
        内容很多使用简单配置,删除文件中logging以下的全部内容,以及option中的部分内容,得到如下配置

     1 /*
     2  Sample named.conf BIND DNS server 'named' configuration file
     3  for the Red Hat BIND distribution.
     4 
     5  See the BIND Administrator's Reference Manual (ARM) for details about the
     6  configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
     7 */
     8 
     9 options
    10 {
    11         // Put files that named is allowed to write in the data/ directory:
    12         directory               "/var/named";           // "Working" directory
    13         
    14         
    15         //listen-on port 53     { any; };
    16         listen-on port 53       { 127.0.0.1; };
    17 
    18         //listen-on-v6 port 53  { any; };
    19         listen-on-v6 port 53    { ::1; };
    20 
    21 };  

       4、在主配置文件(/var/named/chroot/etc/named.conf )中加入,zone参数
        

      5、新建example.net.zone文件,example.net的域名解析文件,zone文件放在/var/named/chroot/var/named/下,zone文件可以已/var/named/chroot/var/named/named.localhost为模板。
        命令:cp /var/named/chroot/var/named/named.localhost /var/named/chroot/var/named/example.net.zone
        

        文件example.net.zone的内容如下:
        

      6、禁用bind默认方式启动,改用bind-chroot方式启动。命令如下:
        [root@iZ2806l73p6Z named]# /usr/libexec/setup-named-chroot.sh /var/named/chroot on
        [root@iZ2806l73p6Z named]# systemctl stop named
        [root@iZ2806l73p6Z named]# systemctl disable named
        [root@iZ2806l73p6Z named]# systemctl start named-chroot
        [root@iZ2806l73p6Z named]# systemctl enable named-chroot
        [root@iZ2806l73p6Z named]#

        图:
        

        注意:如果是CentOS 6.5的系统,这个步骤回有所区别,直接使用默认的service named start 启动服务,bind就直接运行在chroot包中,如下图:
        

      7、查看是否启动,命令:ps -ef|grep named
        

      8、测试DNS服务,本例在本机上测试,也可在其他电脑上测试,修改DNS服务的ip地址即可(命令:vim /etc/resolv.conf ),然后使用命令dig(命令:dig www.example.net)测试

        
        
    内容如下:
        
        
    测试结果:
        
        

        注:非本机测试需要修改主配置文件named.conf,允许任何ip访问,然后重启服务器
        
        

        

        


        
        

  • 相关阅读:
    Python的网络编程 Socket编程
    Python之数据库模块安装 MySQLdb
    Python的内置函数
    Servlet及Tomcat介绍
    xml解析
    JDBC基础
    反射练习
    lambda和匿名内部类
    Object.wait()实现生产者消费者模式
    synchronized、lock及线程安全集合
  • 原文地址:https://www.cnblogs.com/h--d/p/7169169.html
Copyright © 2020-2023  润新知