• bind9安装配置


    BIND的安装配置:

     dns服务,程序包名叫bind,程序名named

     程序包:

    bind

    bind-libs

    bind-utils

    bind-chroot: /var/named/chroot/

    bind

           服务脚本:/etc/rc.d/init.d/named  接受start、stop等

    主配置文件:/etc/named.conf, /etc/named.rfc1912.zones, (rfc请求注解文档,明确说明协议的工作细节)  /etc/rndc.key(用rpm包安装)

           解析库文件:/var/named/ZONE_NAME.ZONE

                   注意:

                         (1) 一台物理服务器可同时为多个区域提供解析;

                         (2) 必须要有根区域文件;named.ca

                         (3) 应该有两个(如果包括ipv6的,应该更多)实现localhost(联系自己:127.0.0.1)和本地回环地址的解析库;

    rndc: remote name domain controller,默认与bind安装在同一主机,且只能通过127.0.0.1来连接named进程;提供辅助性的管理功能;

            监听在953/tcp

    @可以表示当前区域的名字,在/etc/named.rfc1912.zones中

    区域解析都在/var/named目录下

    主配置文件:被切割成两段:/etc/named.conf和/etc/named.rfc1912.zones

           全局配置:options {}

           日志子系统配置:logging {}

           区域定义:本机能够为哪些zone进行解析,就要定义哪些zone;

                  zone "ZONE_NAME" IN {}

           注意:任何服务程序如果期望其能够通过网络被其它主机访问,至少应该监听在一个能与外部主机通信的IP地址上;

    dnssec:

                  建议测试时关闭dnssec;



     

            

     

    主DNS名称服务器:步骤

          (1) 在主配置文件中定义区域(在/etc/named.rfc1912.zones中)

                     zone "ZONE_NAME" IN {

                      type {master|slave|hint|forward};  //hint表示根

                          file "ZONE_NAME.zone"; //(这个文件可以可以写成相对路径,相对于/etc/named.conf中的options中directory指向的路径)

                         };

    (2) 定义区域解析库文件

                  出现的内容:

                         宏定义;

                         资源记录;

                #cd /var/named

                           #vim magedu.com.zone

                         示例:

                         $TTL 86400

                         $ORIGIN magedu.com.

                         @    IN    SOA       ns1.magedu.com.    admin.magedu.com(邮箱) (

                                              2015042201

                                              1H

                                              5M

                                              7D

                                              1D )

                                              IN    NS   ns1

                                              IN    NS   ns2

                                              IN    MX 10    mx1

                                              IN    MX 20    mx2

                                       ns1  IN    A     172.16.100.11

                                       ns2  IN    A     172.16.100.12

                                       mx1       IN    A     172.16.100.13

                                       mx2       IN    A     172.16.100.14

                                       www      IN    A     172.16.100.11

                                       www      IN    A     172.16.100.12

                                       ftp   IN    CNAME  www

    #named-checkzone "magedu.com" /var/named/magedu.com.zone

    利用named-checkzone检查magedu.com域内的区域文件:/var/named/magedu.com.zone是否有语法错误

     

     

     

    配置缓存服务器:监听外部地址即可

    #yum install bind        安装bind   

    #yum list bind*

    1、#vim /etc/named.conf   

    可以修改监听的地址,如果把listen-on这一行用//注释掉,和当前效果一样,监听所有地址

    2、#vim /etc/named.conf   

    options { 
    11 listen-on port 53 { 127.0.0.1;  };  
    12 listen-on-v6 port 53 { ::1; };
    13 directory "/var/named";   //定义工作目录,即区域解析库文件
    14 dump-file "/var/named/data/cache_dump.db";  
    15 statistics-file "/var/named/data/named_stats.txt";
    16 memstatistics-file "/var/named/data/named_mem_stats.txt";
    17 allow-query { localhost; };   这里可以注释掉或者把localhost改为any,允许所有主机查询
    18 recursion yes;   //这里表示本地主机支持做递归查询,如果本地主机不支持,就改为no
    19 
    20 // dnssec-enable yes;
    21 // dnssec-validation yes;
    22 
    23 /* Path to ISC DLV key */
    24 // bindkeys-file "/etc/named.iscdlv.key";
    25 
    26 // managed-keys-directory "/var/named/dynamic";   20-26行需要注释掉
    27 };

    # ss -tunlp | grep :53   //查看监听端口

     至此,缓存服务器就配置好了。

    2、配置主DNS服务器    //本次配置是在IP为192.168.108.160

       # vim /etc/named.rfc1912.zones   

    (1)、添加:正向解析区域

    zone "magedu.com" IN {   //只需定义类型和区域解析库路径     (magedu.com为区域名称)
        type master;   //区域类型:主服务器
        file "magedu.com.zone";   //区域解析库相对路径,相对与/var/named目录
        };

    (2)、定义区域解析库文件    

    #cd /var/named

    # vim magedu.com.zone 

    $TTL  86400
    $ORIGIN magedu.com.
    @                 IN             SOA           ns1.magedu.com.       admin.magedu.com (
                                                            2018070110
                                                            1H
                                                             5M
                                                             7D
                                                             1D)
                          IN               NS            ns1
                          IN               NS            ns2
                          IN               MX   10     mx1
                          IN               MX    20    mx2
     ns1               IN                A              192.168.108.160   //当前主机
     ns2               IN                A              192.168.108.138
     ns3               IN                A              192.168.108.166
     mx1              IN                A              192.168.108.138
     mx2              IN                A              192.168.108.166
     www             IN                A              192.168.108.160
      *                  IN                A               192.168.108.166

    #named-checkconf   //检查主配置文件是否有语法错误

    #named-checkzone "magedu.com" /var/named/magedu.com.zone   

    利用named-checkzone命令区域和区域库文件是否有错误

    #ps aux | grep named   //查看named进行是谁的身份执行的

    #ll /etc/named.conf -l

    #ls -l /var/named   //为了安全,应该让属主为root,属组为named

     如果没改:则:

    #chmod 640 magedu.com.zone

    # chown :named magedu.com.zone

    #service named restart

    # rndc status  //查看named状态

    至此,主DNS服务器配置完成

    # dig -t A www.magedu.com @192.168.108.160   //在本机输入查找命令就可以

    如果想要轮询解析www.magedu.com的话

    可以添加www的A记录

    #service named reload 或者

    #rndc reload    重新加载 

    # dig -t A www.magedu.com   //如果此处解析不指明本地IP,则会通过etc/resolv.conf中nameserver地址解析的

    # vim /etc/resolv.conf    //可以修改nameserver的IP地址为本地IP

    测试命令:dig的使用

            dig [-t type] name [@SERVER] [query options]( @SERVER省略表明使用本机的IP)

                  dig用于测试dns系统,因此,不会查询hosts文件进行解析;

    flags: qr aa rd ra  aa表示权威答案

                  查询选项:

                         +[no]trace:跟踪解析过程

                         +[no]recurse:进行递归解析

                  测试反向解析:

                         dig -x IP @SERVER

                  模拟区域传送:

                         dig -t axfr ZONE_NAME @SERVER

                         例如:dig -t axfr magedu.com @172.16.100.11

                         #dig -t axfr 247.17.172.in-addr.arpa @172.17.237.248//反向区域传送

  • 相关阅读:
    使用正向proxy 连调部署在k8s 中的spring cloud 中的rest服务
    goflow golang 的基于flow的编程库
    gvm golang 的多版本工具
    jvm-profiler 学习试用
    httpdiff http 请求diff 工具
    tengine lua 模块docker 镜像集成
    tengine 支持dubbo 的docker镜像
    openresty ngx.location.capture http2 问题
    systemd 使用rc.local 说明
    revel golang的全栈开发框架
  • 原文地址:https://www.cnblogs.com/hanshanxiaoheshang/p/9249877.html
Copyright © 2020-2023  润新知