• 01--DNS服务器3


    BIND

      dns服务的程序包名称为bind,服务名称为named;

      BIND的安装:

    yum list all bind*
        bind-libs  //库文件
        bind-utils  //bind工具
        bind.x86_64  //主程序包文件
        bind-devel  //bind的开发工具
        bind-sdb  //将bind内容关联到数据库的时候使用的报文
    yum install bind -y //安装主程序包即可

    BIND的常见文件

    rpm -ql bind | less

      服务脚本程序:/etc/rc.d/init.d/named

        我们的 named 服务启动就是使用的这个脚本程序;

      主配置文件:/etc/named.conf,/etc/named.rfc1912.zones,/etc/rndc.key

        rndc(remote name domain controller)远程控制管理工具,这个我们之后再说;/etc/rndc.key是rndc的与共享密钥文件;

        /etc/named.conf是全局主配置文件,/etc/named.rfc1912.zones是正反向域定义文件;

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

        库解析文件时用来负责保存本区域的所有数据;

        注意:

          一台物理服务器可以同时为多个区域提供解析;(可以有多个解析库文件)

          必须要有根区域文件:name.ca  //我们通过name.ca文件找到互联网上的根域名服务器;

          默认情况下,有两个(包括Ipv6的,甚至更多)实现localhost和本地回环地址解析库文件;     

    配置正向解析

      1、配置主配置文件 /etc/named.conf

        这里,我们注意两个配置即可:1、listen-on 监听DNS解析的网卡端口地址;2、指定allow-query 解析所有的DNS请求;

        

        主配置文件格式说明:

          全局配置:option{};

          日志子系统配置:logging{};  //指定的日志文件

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

            zone "ZONE_NAME"IN {};

        启动DNS服务,查看监听端口:

    /etc/init.d/named start
    ss -tunlp | grep :53

      2、配置/etc/named.rfc1912.zones 来指定正向解析区域

        /etc/named.rfc1912.zones 文件的配置格式:

        zone "ZONE_NAME" IN {

          type {master|slave|hint|foward};  //hint只作为缓存服务器

          file "ZONE_NAME.zone";

        };

    vim /etc/named.rfc1912.zones

        这里指定的test.com.zone文件的目录,就是named.conf中指定的目录 /var/named 目录;

      

      3、配置正向库文件

    vim /var/named/test.com.zone

        其中,首先定义了两个宏,$TTL和$ORIIGIN,然后首先要定义SOA记录,之后就关联NS记录和MX邮件记录,所有的这些记录都需要写A记录;最后为www服务器定义了一个CNAME记录;

    named-checkconf  //检测域名配置错误与否
    named-checkzone "test.com" /var/named/test.com.zone  //检测test.com的正向解析库文件是否有错误

      4、配置授权

      这里我们要限制一下啊其他用户用偶者访问这个权限,所以我们要限制下:

    chmod 640 test.com.zone
    chown :named test.com.zone

      

      5、重启服务

    /etc/init.d/named restart

      6、无论客户访问什么,我们的dns服务器都不给出否点答案

    vim /var/named/test.com.zone
    *    IN    CNAME    www    //将访问指向某一个主机即可
    test.com.    IN    CNAME    www    //如果没有输入主机名,就直接指向www主机即可;
    /etc/init.d/named reload

    测试工具用法

      这里,我们需要使用一些测试工具来测试我们的dns服务器的配置;

      dig

        安装dig工具

    yum install bind-utils  //安装bind工具

        测试我们的正向解析情况

    dig -t A www.test.com @192.168.94.128

        如果这里不指定192.168.94.128地址来指定DNS服务,就默认使用/etc/resolv.conf的域名来进行dns解析;

      dig的用法:

        dig工具用于测试dns系统,因此,不会查询hosts文件的内容;

        dig [-t type] name [@SERVER] [query options]

        例如:

    dig -t NS test.com @192.168.94.128
    dig -t SOA test.com @192.168.94.128

        其中 flag 位中的 aa 就是标识这个解析答案位权威答案;

    dig -t A www.baidu.com

        可以看到,这个就不是一个权威答案,且我们这里时指定了CNAME记录了的;

        查询选项:

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

          +[no]recurse  //进行递归解析,默认就是递归解析;

    dig -t A www.baidu.com +trace

        模拟区域传送,全脸查送【这非常危险】

          dig -t axfr ZONE_NAME @SERVER

    dig -t axfr test.com @192.168.94.128

      host

        host : DNS lookup utility DNS查看工具

        host [-t type] name [SERVER]

      nslookup

        交互式的dns解析工具

        nslookup [-option] [name | -] [server ip]

        在交互式模式下使用这个模式

          server ip指明使用那个DNS server 进行查询解析;

        这个工具使用起来不太方便;

    配置反向解析

      反向区域

        区域名称:完了过地址的反写.in-addr.arpa   //这种写法时固定的,无法改变;

      1、配置/etc/named.rfc1912.zones 文件,添加zone文件,添加反向zone区域;

        zone "ZONE_NAME" IN {

          type {master|slave|forword};

          file "完了过地址.zone";  //可以随意命名,但是不能冲突

        };

    vim /etc/named.rfc1912.zone

      2、配置区域解析库文件

        需要注意的时:不需要MX和A,以及AAAA记录,以PTR记录为主;

    vim /var/named/192.168.94.zone

      3、修改文件权限

    chmod 640 /var/named/192.168.94.zone
    chown :named 192.168.94.zone

      检查配置文件语法是否正确

    named-checkconf
    named-checkzone "94.168.192.in-addr.arpa" 192.168.94.zone

      从新载入配置文件

    /etc/init.d/named reload

      4、测试反向解析

      也可以使用dig来及逆行测试

    dig -x 192.168.94.131 @192.168.94.128
  • 相关阅读:
    网站上线的过程
    PHP的四种基本算法
    YII框架第三方微博登录
    《正三角》《倒三角》
    PHP实现四种基本排序
    php实现快速排序
    iwebshop 简介
    收集的伪静态中经常使用的一些参数
    我与AI的相识
    phpstudy下的nginx服务器显示目录
  • 原文地址:https://www.cnblogs.com/BurnovBlog/p/10987872.html
Copyright © 2020-2023  润新知