Linux:Day18(下) Bind9

子域授权:每个域的名称服务器,都是通过其上级名称服务器在解析库中进行授权。

  类似根域授权tld:

    .com  IN  NS  ns1.com.

    .com  IN  NS  ns1.com.

    ns1.com  IN  A  2.2.2.1

    ns2.com  IN  A  2.2.2.2

  magedu.com.  在.com的名称服务器上,解析库中添加资源记录;

    magedu.com.  IN  NS  ns1.magedu.com.

    magedu.com.  IN  NS  ns2.magedu.com.

    magedu.com.  IN  NS  ns3.magedu.com.

    ns1.magedu.com.  IN  A  3.3.3.1

    ns1.magedu.com.  IN  A  3.3.3.2

    ns1.magedu.com.  IN  A  3.3.3.3

  glue record:粘合记录

域名注册:

  代理商:万网,新网;godaddy

  注册完成以后,想自己用专用服务来解析,怎么了?

  (1)管理后台:把NS记录指向的服务器名称,和A记录指向的服务器地址;

BIND的安装配置:

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

  程序包:

    bind

    bind-libs

    bind-utils

    bind-chroot:/var/named/chroot/

  bind:

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

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

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

      注意:

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

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

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

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

      953/tcp

  主配置文件:

    全局配置:options{ }

    日志子系统配置:logging{ }

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

      zone "ZONE_NAME" IN { } 

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

  缓存名称服务器的配置:

    监听外部地址即可;

    dnssec:

      关闭测试时关闭dnssec;

  主DNS名称服务器:

    (1)在主配置文件中定义区域

      zone "ZONE_NAME" IN { 

        type {master | slave | hint | forward};

        file "ZONE_NAME.zone"; 

      };

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

      出现的内容:

        宏定义;

        资源记录;

  测试命令:dig的使用

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

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

    查询选项:

      +[no]trace:跟踪

      +[no]recurse:

named-checkconf:自动检查主配置文件是否存在语法错误

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

rndc status  查看当前DNS服务器的工作状态

service named reload   重新加载解析库

/etc/resolv.conf  主机DNS配置文件

一个解析库必须要有NS记录,NS记录是用来指定哪些服务器可以来解析这个域的域名,如果不存在NS记录,服务器将不知道找谁解析域名,即使自己有这个zone,也需要指定NS,不然服务器不会使用自己的解析库来解析。

原文地址:https://www.cnblogs.com/sq5288/p/10632939.html