DNS服务和Bind,bind编译安装,CDN介绍

1、DNS服务:

  DNS:Domain Name service  应用层协议

  BIND:Bekerley Internat Name Domain

    ISC :www.isc.org

  C/S架构的协议,所以由socket工作

    udp/53   tcp/53

    默认使用的udp

  本地名称解析配置文件:hosts

    /etc/hosts

    %WINDIR%/system32/driver/etc/hosts

      93.46.8.89  www.google.com

2、DNS域名

  根域

  一级域名:Top Level Domain:tld

      com,  edu, mil,  gov, net,  org, int, arpa

      三类:组织域,国家域(.cn,  .ca,  .hk,  .tw), 反向域

  二级域

  三级域

  最多127级域名

  ICANN:互联网名称与数字地址分配机构,负责在全球范围内对互联网通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理,以及根服务器系统的管理

3、DNS域名结构:

  

4、DNS解析:

  DNS查询类型:递归查询,迭代查询

      递归:查询者发出一次请求,就能得到结果 ----client

      迭代:查询请求发出多次,才能得到结果 ----DNS server

  名称服务器:域内负责解析本地内的名称的主机

    根服务器:13组服务器。

  解析类型:

    FQDN --> IP

    IP --> FQDN

  注意:正反向解析是两个不同的名称空间,是两颗不同的解析树,但也可以用同一服务器器

 

  一次完整的查询请求经过的流程:

    Client ---> hosts文件

          ---> DNS Service  Local Cache

            --->DNS Server (recursion,递归)

              ---> Server Cache

                ----> iteration(迭代)

                  ---> 根

                    ---> 顶级域名DNS

                      ---> 二级域名DNS。。。

  

  解析答案:

    肯定答案

    否定答案:请求的条目不存在等原因导致无法返回结果

    权威答案:

    非权威答案 :比如缓存提供的结果,非本域提供的结果

      

5、DNS服务器类型

  DNS服务器的类型:

    主DNS服务器

    从DNS服务器

    缓存DNS 服务器(转发器)

  主DNS服务器:管理和维护所负责解析的域内解析库的服务器。由管理员维护的

  从DNS 服务器:从主服务器或从服务器“复制”(区域传输) 解析库副本

      序列号:解析库版本号,主服务器解析库变化时,其序列递增

      刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔

      重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔。

      过期时长:从服务器联系不到主服务器时,多久停止服务

  通知 机制: 主服务器解析库发生变化时,会主动通知从服务器。yu

  如果第一台没相应,才会找第二台,如果第一台解析不到,不会找第二台

6、区域传输:

  区域传输

    完全传输:传送整个解析库

    增量传输:传递解析库变化的那部分内容

  Domain:Fully Qualified Domain Name

    正向和反向个需要一个解析库

    正向:FQDN ----> IP

    反向:IP ---> FQDN

  负责本地域名的正向和反响解析库

    

      正向区域

      反响区域

7、资源记录:

  区域解析库:由众多的RR组成

      资源记录: Resource Record  , RR

      记录类型:A ,AAAA,PTR,SOA,NS,CNAME,MX

      SOA:start of authority:起始授权记录,一个区域解析库有且只有一个SOA记录,必须位于解析库的第一条记录

      A:internet Address  作用FQDN -->IP

      AAAA:FQDN--->IPv6

      PTR:   PoinTeR, IP--->FQDN

      NS:   name server 专用于标明当前区域的DNS 服务器

      CNAME:Canonical  name  别名记录
      MX:mail  exchanger  邮件交换器

  资源记录定义的格式:

      语法:name[ TTL ]   IN   rr-type   value

    注意:

    1. TTL 可以从全局继承
    2. @ 可用于引用当前区域的名字
    3. 同一个名字可以通过多条记录定义多个不同的值,此时DNS服务器会以轮询方式响应
    4. 同一个值也可能有多个不同的定义名字,通过多个不同的名字指向同一个值进行定义,此仅表示通过多个不同名字可以找到同一个主机 
    5. IN:internet 

  SOA记录:

    name: 当前区域的名字,例如 linux.com.

    value: 由多部分组成

    1. 当前区域的DNS服务器的FQDN,也可以使用当前区域的名字
    2. 当前区域管理员的邮箱地址,但地址中不能使用@符号,一般用. 替换, admin.linux.com.
    3. 主从服务区域传输相关定义以及否定的答案的同一的TTL

      例如:

        linux.com.    86400  IN  SOA  ns.linux.com.  nsadmin.linux.com.   (

                              2019032801; 序列号

                              2H;刷新时间

                              10M;重试时间

                              1W;过期时间

                              1D;否定答案的TTL 值

                            )

 

  NS记录:

    name: 当前区域的名字

    value:当前区域的DNS服务器的名字,例如:ns.linux.com.

    注意:一个区域可以有多个NS 记录

      例如:

        linux.com.   IN  NS  ns1.linux.com.

        linux.com.   IN  NS  ns2.linux.com.

    注意:

    1. 相邻的两个资源记录的name相同时,后续的可省略
    2. 对NS记录而言,任何一个NS记录后面的服务器名字,都应该再后续有一个A记录        

  MX记录:

    name: 当前区域的名字

    value:当前区域的邮件服务器(smtp服务器)的主机名

    一个区域内,MX记录可有多个,但是每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级,数字越小优先级越高

      例如:

        linux.com.  IN  MX  10 mx1.linux.com.

                IN  MX  20 mx2.linux.com.

    注意: 对MX记录,任何一个MX记录后面的服务器名字,都应该有一个A记录

 

  A记录:

    name: 某主机的FQDN,例如:www.linux.com.

    value:   主机名对那个主机的IP 地址

      例如:

        轮询解析:

        www.linux.com.  IN  A  1.1.1.1

        www.linux.com.  IN  A  1.1.1.2

        通过不同的名字,找到同一个主机:

        mx1.linux.com  IN  A  1.1.1.3

        mx2.linux.com  IN  A  1.1.1.3

        

     注意:

        避免用户写错名称给错误答案,可通过泛域名解析进行解析至某特定地址。

          *.linux.com.  IN  A  1.1.1.4

          正确,就按照正确的解析

        linux.com.  IN  A  1.1.1.5

          

  AAAA记录

     value:IPv6

  PTR:

    name:IP,有特定格式,把IP地址反过来写,1.2.3.4,要写坐4。3.2.1

        而特定后缀:in-addr.arpa.

        所以完整写法:   4.3.2.1.in-addr.arpa.

    value:FQDN

      例如:

        4.3.2.1.in-addr.arpa.  IN  PTR  www.linux.com.

        如1.2.3为网络地址,可简写:

           4  IN  PTR  www.linux.com.

    注意:网络地址及后缀可以省略,主机地址依然需要反着写

  CNAME:

    name: 别名的FQDN

    value:真正名字的FQDN

      例如:  

        www.linux.com.  IN  CNAME  web.linux.com

  

 

8、子域授权

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

  类似根域授权tld:根解析库,授权.com的域名服务器

    .com.  IN  NS  ns1.com.

    .com.  IN  NS  ns2.com.

    ns1.com.  IN  A  2.2.2.1

    ns2.com.  IN  A  2.2.2.2

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

    linux.com.  IN  NS  ns1.linux.com.

    linux.com.  IN  NS  ns2.linux.com.

    linux.com.  IN  NS  ns3.linux.com.

    ns1.linux.com.  IN  A  3.3.3.1

    ns2.linux.com.  IN  A  3.3.3.2

    ns3.linux.com.  IN  A  3.3.3.3

  glue record: 粘合记录,父域授权子域的记录

 

9、互联网域名

  域名注册:

    代理商:万网,新网,godaddy

  注册完成以后,想自己用专用服务来解析(也就是说,自己有两台服务器,且IP 可以外网访问)

    1、对方提供的管理后台,把NS记录指向的服务器名称,和A 记录指向的服务器地址

    

10、BIND的安装:

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

  程序包:

    bind-libs  相关库

    bind-utils 客户端,测试工具

    bind:服务器

    bind-chroot: /var/named/chroot

      yum  info bind-chroot

  

  bind服务器

    服务脚本和名称:/etc/rc.d/init.d/named    /usr/lib/systemd/system/named.service

    主配置文件: /etc/named.conf    /etc/name.rcf1912.zones 辅助区域配置文件,  /etc/rdnc.key

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

    注意:

    1. 一台物理服务器可同时为多个区域提供解析
    2. 必须要有根区域文件,/var/named/named.ca
    3. 应该有两个(如果包括IPv6,应该更多) 实现localhost和本地回环地址的解析库   

 

        /var/named/named.localhost
        /var/named/named.loopback

       

 

     rndc: remote name domain controller,也是一个服务 

       默认与bind安装在同一主机,且只能通过127.0.0.1连接named进程 

      提供辅助性的管理功能;953/tcp 

  配置文件:

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

        全局配置: options{};

        日志系统配置: logging{};

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

          zone “ZONE-NAME"   IN  {}

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

    缓存名称服务器的配置:

      首先,一个名称服务器,必须要有13个根服务器,以及两个localhost 和本地会换地址解析库

      其次,需要能够与外部通信,所以监听外部地址即可,listen-on port 53 { 192.168.0.3;127.0.0.1; };

      dnssec:建议关闭,设为no,dns解析要加签名,避免dns记录为污染  

      allow-query { any; };

 

    主DNS服务器:

      主DNS名称服务器:

        1: 在主配置文件中定义区域, 也可以写到人rfc1912辅助配置文件

          zone ”ZONE_NAME"   IN   {

            type  {master | slave| hint | forward}  ;   //   hint:根

            file  "ZONE_NAME.zone"; 

          };

         2: 定义区域解析库文件:

            出现的内容

              宏定义

              资源记录

 

         directory       "/var/named"; 此目录下创建ZONE_NAME.zone文件 ,工作目录                 

          @   IN   NS   ns1.linux.com.

                注意:后面的  .linux.com. 可以省去,默认会自动加上,ns1 后面不能有 点

                   可以明确指明要补的内容,因为默认只补区域名

                    $ORIGIN   linux.com.

      

[root@localhost named]# named-checkconf 
检查配置文件


[root@localhost named]# named-checkzone 'linux.com' /var/named/linux.com.zone 
zone linux.com/IN: loaded serial 2019032901
OK
检查区域文件

 

注意文件的权限

[root@localhost named]# ps aux | grep named
named      8016  0.0  3.2 259388 59960 ?        Ssl  00:07   0:00 /usr/sbin/named -u named -c /etc/named.conf
root       8029  0.0  0.2 151580  5188 pts/0    S+   00:23   0:00 vim /etc/named.conf
root       8040  0.0  0.0 112724   988 pts/1    S+   00:46   0:00 grep --color=auto named
[root@localhost named]# 
[root@localhost named]# ls -al /etc/named.conf
-rw-r----- 1 root named 1784 3月  30 00:07 /etc/named.conf
[root@localhost named]# 
[root@localhost named]# 
[root@localhost named]# 
[root@localhost named]# ls -al /var/named/
总用量 24
drwxrwx--T   5 root  named  149 3月  30 00:42 .
drwxr-xr-x. 21 root  root  4096 3月  29 23:19 ..
drwxrwx---   2 named named   23 3月  29 23:58 data
drwxrwx---   2 named named   31 3月  30 00:03 dynamic
-rw-r--r--   1 root  root   307 3月  30 00:42 linux.com.zone   named进程是named用户,所以区域文件也得有权限读,所以要改
但是最好改属组
-rw-r----- 1 root named 2281 5月 22 2017 named.ca -rw-r----- 1 root named 152 12月 15 2009 named.empty -rw-r----- 1 root named 152 6月 21 2007 named.localhost -rw-r----- 1 root named 168 12月 15 2009 named.loopback drwxrwx--- 2 named named 6 10月 31 08:29 slaves [root@localhost named]#

 

----->

[root@localhost named]# ls -al linux.com.zone 
-rw-r--r-- 1 root named 307 3月  30 00:42 linux.com.zone

 

rndc

[root@localhost named]# rndc status
version: 9.9.4-RedHat-9.9.4-72.el7 <id:8f9657aa>
CPUs found: 4
worker threads: 4
UDP listeners per interface: 4
number of zones: 101
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running

 

service named  reload: 重载配置文件 或者rndc reload

 

/var/named/linux.con.zone

[root@localhost ~]# vim  /var/named/linux.com.zone 

$TTL 1D
@       IN      SOA     ns1.linux.com.  admin.linux.com. (
                        2019032901
                        1H
                        5M
                        7D
                        1D )
        IN      NS      ns1.linux.com.
        IN      NS      ns2.linux.com.
        IN      MX      10      mx1
        IN      MX      20      mx2
ns1     IN      A       192.168.112.111
ns2     IN      A       192.168.112.112
mx1     IN      A       192.168.112.113
mx2     IN      A       192.168.112.114
www     IN      A       192.168.112.111
www     IN      A       192.168.112.112
ftp     IN      CNAME   www

 

dig 测试:

[root@localhost etc]# dig -t A www.linux.com @192.168.112.111

; <<>> DiG 9.9.4-RedHat-9.9.4-72.el7 <<>> -t A www.linux.com @192.168.112.111
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37790
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3

aa:表示权威答案
;; OPT PSEUDOSECTION: ; EDNS: version:
0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.linux.com. IN A ;; ANSWER SECTION: www.linux.com. 86400 IN A 192.168.112.111 这条才是真正解析的结果,多次执行dig,会发现轮询解析 www.linux.com. 86400 IN A 192.168.112.112 ;; AUTHORITY SECTION: linux.com. 86400 IN NS ns1.linux.com. linux.com. 86400 IN NS ns2.linux.com. ;; ADDITIONAL SECTION: ns1.linux.com. 86400 IN A 192.168.112.111 ns2.linux.com. 86400 IN A 192.168.112.112 ;; Query time: 1 msec ;; SERVER: 192.168.112.111#53(192.168.112.111) ;; WHEN: 六 3月 30 01:06:38 CST 2019 ;; MSG SIZE rcvd: 142

 

 

11、测试工具:

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

      @ 这项省去,就是通过 /etc/resolv.conf 里的nameserver 进行解析

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

    查询选项:  

        +[no ] trace :跟踪解析过程,dig + trace linux.com

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

        测试反向解析

            dig -x IP= dig -t   reverseip.in-addr.arpa

        模拟区域传送:

            dig -t axfr  ZONE_NAME @SERVER

            dig -t axfr linux.com @10.1.1.1

            dig -t  axfr 10.1.11.in-addr.arpa @172.16.1.1

            dig -t NS .  @114.114.114.114 

  host:测试命令:   

        host [-t type] name [SERVER] 

    host –t NS magedu.com  172.16.0.1 

    host –t soa magedu.com 

    host –t mx magedu.com 

    host –t axfr magedu.com 

    host  1.2.3.4 

  nslookup命令: nslookup [-option] [name | -] [server] 

       交互式模式:   nslookup> 

            >server IP: 指明使用哪个DNS server进行查询 

            >set q=RR_TYPE: 指明查询的资源记录类型 

            >NAME: 要查询的名称      

[root@localhost etc]# nslookup 
> server 192.168.112.111
Default server: 192.168.112.111
Address: 192.168.112.111#53
> set q=A  
> www.linux.com
Server:        192.168.112.111
Address:    192.168.112.111#53

Name:    www.linux.com
Address: 192.168.112.111
Name:    www.linux.com
Address: 192.168.112.112
> 

 

 

 

12、反向区域:

  区域名称:网络地址的反写.in-addr.arpa.

    192.168.112.   ----> 112.168.192.in-addr.arpa.

  1. 定义区域

    zone "ZONE_NAME"   IN  {

      type {master | slave | forward|

      file "网络地址.zone"

    }

   2、区域解析库文件:不需要A,MX . AAAA记录,以PTR为主   

[root@localhost ~]# cat /var/named/192.168.112.zone 
$TTL 86400
$ORIGIN 112.168.192.in-addr.arpa.
@    IN    SOA    ns1.linux.com    admin.linux.com (
                2019032901
                1H
                5M
                7D
                1D)
    IN    NS    ns1.linux.com.
    IN    NS    ns2.linux.com.
111    IN    PTR    ns1.linux.com.
111    IN    PTR    www.linux.com.
112    IN    PTR    ns2.linux.com.
112    IN    PTR    www.linux.com.
113    IN    PTR    mx1.linux.com.
114    IN    PTR    mx2.linux.com.

 

13、主从同步:

  从服务器:

    1. 应该为一台独立的名称服务器
    2. 主服务器的区域解析库文件中必须有一条NS 记录指向从服务器
    3. 从服务器只需要定义区域 (/etc/named.rfc1912.zones),而无需提供解析文件,解析库文件应该放于/vr/named/slaves/目录中
    4. 主服务器得允许从服务器做区域传送 ,默认是允许的,最好做限制,只能从服务器

      从: 执行dig -t axfr linux.com @192.168.112.111

    5. 主从服务器时间应该同步,可以ntp进行
    6. bind程序的版本应该保持一致,否则从高,主低
      1. 定义区域        
zone "linux.com" IN {
        type slave;
        masters { 192.168.112.111; };
        file "slaves/linux.com.zone";
};

 

 

rndc命令 
rndc:  
  rndc
--> rndc服务器端 (953/tcp)
  rndc COMMAND
COMMAND:
  reload: 重载主配置文件和区域解析库文件
  reload zonename: 重载区域解析库文件
  retransfer zonename: 手动启动区域传送,而不管序列号是否增加
  notify zonename: 重新对区域传送发通知
  reconfig: 重载主配置文件
  querylog: 开启或关闭查询日志文件/var/log/message
  trace: 递增debug一个级别
  trace LEVEL: 指定使用的级别
  notrace:将调试级别设置为 0
  flush:清空DNS服务器的所有缓存记录

 

 

14、子域授权

  子域授权:分布式数据库的手段

  正向解析区域的子域方法:

    定义一个子区域:定义在父域下方,直接写

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

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

      ns1.ops.magedu.com.  IN  A  1.1.1.1 

      ns2.ops.magedu.com.  IN  A  1.1.1.2 

 

15、定义转发服务器:

  注意:被转发的服务器需要能够为请求者做递归,否则,转发请求不允许进行

  1、全部转发:凡是对非本机所负责解析的区域的请求,都转发给指定的服务器

    options {

      forward { first | only }   转发模式:first:请求转发到父域,如果没有,自己转发到根去找, only,父域找不到,就不找了

      fowarders

    }

  2、区域转发:仅转发对特定的区域的请求至某服务器

    zone  “linux.com"   IN {

      type  forward;

      forward {first | only };

      forwarders { 192.1.1.1; };

      };

  注意:因为rpm包安装的bind,默认是开启dnssec的,所以必须改为no,注释掉也是没有的

  步骤:  

    1. s1,创建为父域,并写子域
    2. s2,跟s1 一样的配置,配置子域
    3. s2在 /etc/named.conf中的options中开启全部转发,
    4. 或者 s2 /etc/named.rfc1912.zones 中创建区域转发      

16、bind中基础的安全相关的配置。

  acl:把一个或多个主机归并为一个集合,并通过一个统一 的名称调用

    acl  acl_name {

      ip;

      net/prelen;

    };

    例如:  

      acl  mynet {  这个名字写道要控制的zone中。

        192.168.0.0/16;

      }

    bind有四个内置的acl:

        none:没有一个主机

        any:任意主机

        local:本机

        localnet:本机的ip和掩码计算所得的网络地址

  注意:只能先定义,后使用,因此,其一般定义在配置文件中options的前面。  

 

  访问控制的参数指令:写道zone和 options中

    allow-query {} 允许查询的主机,白名单

    allow-transfer {}  允许区域传送的主机,白名单

    allow-recursion {} 允许递归的主机,本地网络内的主机递归。,一般定义在全局options中

    allow-update {} 允许更新区域数据库中的数据。针对dhcp

 

 

17、bind view

  试图:

    一个bind服务器可定义多个view,每个view中可定义多个zone,

    多个view中可定义相同的zone,每一个view用来匹配一组客户端。

    多个view内可能需要对同一个区域进行解析,但使用不同的区域解析库文件

    

    view  VIEW-NAME {

      match-clients {  } ;

    }

 

    注意:

      用在options中的选项,都可以用在view中

      一旦启用了view,所有的zone都定义在view中。

      仅在匹配到允许递归请求的客户所在view中定义根区域

      客户端请求到达时,是自上而下检查每个view所服务的客户端列表,匹配到,就不会往下了

  

18、CDN

  CDN:内容分发网络,让地区的同一路线访问当地的同一路线的网络,且比BGP机房要便宜很多。。CDN使用单线的机房,根据用户的路线以及位置,为用户选择靠近用户位置以及相同运营商路线。

  CDN加速的特点:

    1. 本地cache 加速提高了企业站点,尤其大量图片和静态页面的站点的访问速度
    2. 镜像服务消除了不同运营商之间互联的瓶颈,实现了跨运营商的网络加速
    3. 远程加速远程访问用户根据DNS负载均衡技术智能选择CACHE服务
    4. 宽带优化自动生成服务器的远程镜像cache服务器  
    5. CDN可以认为是分布式的web缓存   
[root@ns1 ~]# curl  -I www.163.com
HTTP/1.1 200 OK
Date: Sat, 30 Mar 2019 06:58:32 GMT
Expires: Sat, 30 Mar 2019 06:59:23 GMT
Server: nginx
Content-Type: text/html; charset=GBK
Transfer-Encoding: chunked
Vary: Accept-Encoding,User-Agent,Accept
Cache-Control: max-age=80
X-Via: 1.1 PSjszjsx4tl83:1 (Cdn Cache Server V2.0), 1.1 fang35:0 (Cdn Cache Server V2.0)
Connection: keep-alive

 

  CDN的价值:

    • 省钱
    • 提升用户体验
    • 可以阻挡大部分的流浪攻击      

 

19、使用CDN的基本要求:

  要加速的业务数据应该存在独立的域名,动态和静态混在一起就不能加速。

 

  加速前:

  

  加速后:如果加速后没有找到,就去源站,并把数据缓存到某地,同时把数据返回给用户

 

 

 

 

20、bind的编译安装:

  

编译安装bind 
 下载bind:  isc.org:   
        bind
-9.10
        bind-9.11
        bind-10
编译安装bind
  tar xvf bind-9.11.0a3.tar.gz
  cd bind-9.11.0a3/
  groupadd -r -g 53 named
  useradd -r -u 53 -g 53 named
  ./configure --prefix=/usr/local/bind9 --sysconfdir=/etc/named/ --withoutopenssl --disable-ipv6 --disable-chroot --enable-threads
  make make install 环境变量:
  • vim
/etc/profile.d/named.sh
      export PATH=/usr/local/bind9/bin: /usr/local/bind9/sbin/:$PATH
库和头文件
      • vim /etc/ld.so.conf.d/named.conf /usr/local/bind9/lib
      • ldconfig –v • ls -sv /usr/local/bind9/include /usr/include/named
man帮助
    • vim /etc/man.config | /etc/man_db.conf MANPATH /usr/local/bind9/share/man
    • man named.conf vim
/etc/named/named.conf
  options { directory "/var/named/" }; zone "." IN { type hint; file "named.ca"; }; zone "localhost" IN { type master; file “named.localhost"; allow-update {none;}; }; zone “1.0.0.127.in-addr.arpa" IN { type master; file "named.loopback"; allow-update {none;}; }; 区域数据库 • mkdir /var/named • named-checkconf • dig +norec @a.root-servers.net > /var/named/named.ca • vim /var/named/named.localhost $TTL 1d @ IN SOA localhost. admin.localhost. ( 2016061801 1h 5m 7d 1d) IN NS localhost. localhost. IN A 127.0.0.1
vim
/var/named/named.loopback $TTL 1d @ IN SOA localhost. admin.localhost. ( 2016061801 1h 5m 7d 1d) NS @ A 127.0.0.1 PTR localhost. 设置权限 • chmod 640 /var/named/* • chmod 640 /etc/named/named.conf • chgrp -R named /var/named/ • chgrp named /etc/named/named.conf 启动服务和测试 • man named • named -u named -f -g -d 3 前端级别3方式运行 • named -u named 后台运行 • killall named • ss -tuln • tail /var/log/message • named -u named 支持rndc
  • rndc reload
    观察错误提示 • rndc-confgen -r /dev/urandom > /etc/named/rndc.conf
    生成key • tail /etc/named/rndc.conf >> /etc/named/named.conf
        • killall -SIGHUP named
        • rndc status 压力测试 /root/bind-xxx/contrib/scripts
编译压力测试工具   
  • cd /root/bind-xxx/contrib/queryperf
  • ./configure
  • make • cp queryperf /usr/local/bind9/bin • queryperf -h 压力测试 • vim test.txt www.magedu.com A magedu.com NS magedu.com MX pop3.magedu.com A web.magedu.com A • queryperf -d test.txt -s 127.0.0.1 打开日志功能 • rndc querylog • rndc status • queryperf -d test.txt -s 127.0.0.1 • wc -l /var/log/message 52  #dig A example.com ; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> A example.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30523 ... SERVFAIL:The nameserver encountered a problem while processing the query. • 可使用dig +trace排错,可能是网络和防火墙导致  NXDOMAIN:The queried name does not exist in the zone. • 可能是CNAME对应的A记录不存在导致  REFUSED:The nameserver refused the client's DNS request due to policy restrictions. • 可能是DNS策略导致 DNS排错 53 NOERROR不代表没有问题,也可以是过时的记录 查看是否为权威记录,flags:aa标记判断 被删除的记录仍能返回结果,可能是因为*记录存在 如:*.example.com. IN A 172.25.254.254 注意“.”的使用 避免CNAME指向CNAME记录,可能产生回环 test.example.com. IN CNAME lab.example.com. lab.example.com. IN CNAME test.example.com. 正确配置PTR记录,许多服务依赖PTR,如sshd,MTA 正确配置轮询round-robin记录

 

posted @ 2019-03-28 22:04  JerryZao  阅读(1542)  评论(0编辑  收藏  举报