zoukankan      html  css  js  c++  java
  • 002.DNS-BIND简介

    一 Linux-BIND服务器简介

    Bind是Berkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件。已经成为世界上使用最为广泛的DNS服务器软件,目前Internet上半数以上的DNS服务器有都是用Bind来架设的,已经成为DNS中事实上的标准。

    二 DNS服务器类型

    • 缓存服务器:不负责解析,仅为加速,不需要注册
    • 主DNS服务器:负责解析本地客户端请求
    • 辅助DNS服务器:辅助服务器的区域数据都是从主服务器复制而来,其数据都是只读的

    三 BIND简介

    3.1 bind详解

    • 包名:bind
    • 进程:named
    • 协议:dns
    • 使用端口:53(tcp,udp)

    相关包:

    • bind-chroot:将named进程的活动范围限定在chroot目录,保证安全性。
    • bind-devel:与开发相关的头文件和库文件(编译安装bind时所需)
    • bind-libs:bind服务器端和客户端都使用到的公共库文件
    • bind-utils :  bind客户端工具

    程序文件:/usr/sbin/named

    主程序目录:/var/named

    主配置文件:/etc/named.conf

    bind权限相关:安装完named会自动创建用户named系统用户

    3.2 bind配置文件解释

      1 /etc/logrotate.d/named/etc/named.conf #主配置文件
      2 •/etc/named.rfc1912.zones #区域配置文件(用include指令包含在主配置文件)
      3 •/etc/named.root.key #根区域的key文件以实现事务签名;
      4 •/etc/rndc.conf #rndc(远程名称服务器控制器)配置文件
      5 •/etc/rndc.key #rndc加密密钥
      6 •/etc/sysconfig/named
      7 •/var/named/named.ca #13个根服务器存放文件/var/named/named.empty
      8 •/var/named/named.localhost
      9 •/var/named/named.loopback

    3.3 主配置文件

    named.conf,每个语句都要使用分号结尾;其功能如下:

    • 定义区域
    • 定义各区域的全局配置
    • 定义视图
    • 定义日志

    第一段:

      1 options {
      2         listen-on port 53 { 0.0.0.0/0; };
      3         listen-on-v6 port 53 { ::1; };
      4         directory       "/var/named";
      5         dump-file       "/var/named/data/cache_dump.db";
      6         statistics-file "/var/named/data/named_stats.txt";
      7         memstatistics-file "/var/named/data/named_mem_stats.txt";
      8         allow-query     { any; };
      9         recursion yes;
     10 
     11         dnssec-enable yes;
     12         dnssec-validation yes;
     13 dnssec-lookaside auto;
     14 
     15         bindkeys-file "/etc/named.iscdlv.key";
     16 
     17         managed-keys-directory "/var/named/dynamic";
     18 
     19 pid=file "/run/named/named.pid";
     20 session-keyfile "/run/named/session.key";
     21 };

    第一段主要配置项解释:

    • listen-on:指定IPv4监听的端口和IP,默认为53,IP位127.0.0.1;
    • directory:指定named读取DNS数据文件的目录,默认为/var/named/;
    • dump-file:设置域名缓存数据库文件的位置,默认为/var/named/data;
    • statistics-file:设置状态统计文件的路径,默认为/var/named/data;
    • allow-query:设置允许DNS查询的客户端地址,默认值为localhost;
    • recursion:设置递归查询,yes:允许递归查询,no:不允许递归查询,默认配置允许递归查询。

    第二段:

      1 logging {						#定义日志
      2         channel default_debug {
      3                 file "data/named.run";
      4                 severity dynamic;
      5         };
      6 };

    第二段主要配置项解释:

    • channel:定义日志输出方式,有syslog、文本文件、标准错误输出或/dev/null等方式;
    • file:表示输出到纯文本文件;
    • severity:表示消息的严重性等级,有critical、error、warning、info、debug等;

    第三段:

      1 zone "." IN {
      2         type hint;
      3         file "named.ca";
      4 allow-update { none; };
      5 };

    第三段主要配置项解释:

    • zone:定义一个正向区域,对应的域名;
    • type:类型,通常有master、slave和hit,含义如下——
    • master:表示定义的是主域名服务器;
    • slave:表示定义的是辅助域名服务器;
    • hint:表示定义的是互联网中根域名服务器。
    • file:指定存放dns记录的数据文件名称,默认路径为/var/named;
    • allow-update:是否允许客户主机或服务器自行更新dns记录。

    3.4 区域文件

    区域文件包括正向区域文件和反向区域文件。

    • 正向区域
      1 [root@linuxmaster named]# vi /var/named/aliyun.com.zone
      2 $TTL 300;
      3 @   IN SOA  linuxmaster.aliyun.com. admin.aliyun.com. (
      4                     2017051720		;serial
      5                     1H			;refresh
      6                     5M			;retry
      7                     7D			;expiry
      8                     3D )		;minimum
      9     IN  NS  linuxmaster
     10     IN  MX 20 MX
     11 linuxmaster IN  A   172.24.8.10
     12 www         IN  A   172.24.8.30
     13 mirrors     IN  A   172.24.8.30
     14 ftp         IN  CNAME   www

    正向区域文件解释:

    • TTL:定义区域中数据文件里面的各项记录的默认TTL值;
    • SOA:SOA记录,@代表相应的域名,每个区域数据文件只能有一个SOA,其中参数有——
    • serial:表示配置文件的修改版本,格式为年月日加上修改的次数;
    • refresh:设定辅助dns和主dns进行同步的间隔时间;
    • retry:如果辅助dns进行更新失败后,间隔多久进行重试;
    • expiry:设定辅助dns与主dns同步失败后,多长时间后清除对应的记录;
    • minimum:默认最小的TTL值,如果在前面没有设置TTL,则以此值为准。
    • NS:定义此主机属于域名服务器;
    • MX:定义一个邮箱交换器;
    • A指针:定义一个A记录,即域名到IP的记录;
    • CNAME:定义域名的别名。
  • 相关阅读:
    JavaScript判断系统语言
    微信静默授权
    vue-cli3 一直运行 /sockjs-node/info?t= 解决方案
    promise 链式
    js unicode转中文 方案概述联网LED照明方案可执行全部的DALI 和
    Taro -- 文字左右滚动公告效果
    JS删除对象中的某一属性(delete)
    Taro -- 微信小程序密码弹窗
    Taro -- 微信小程序wxParse达到html转换wxml
    Taro -- 微信小程序登录
  • 原文地址:https://www.cnblogs.com/itzgr/p/9888577.html
Copyright © 2011-2022 走看看