zoukankan      html  css  js  c++  java
  • DNS(一)之禁用权威域名服务器递归解析

    DNS

    dns是互联网中最核心的带层级的分布式系统,负责把域名解析成ip,把IP解析出域名,以及宣告邮件路由信息等等,使得使用域名访问网站,收发邮件成了可能。
    bind(berkeley Internet Name Domain) 是流行与linux上的域名解析服务。

    禁用权威域名服务器递归解析

    首先解析下什么是递归解析和迭代解析,本人也经常搞混,但是还得记下来,在了解递归和迭代之前,先聊下下DNS的组成部分。

    1 DNS的组成

    共两部分

    • 域名服务器:提供域名解析的软件,默认监听udp,tcp 53端口。
    • 解析器(resolver) 访问域名服务器的客户端,它负责获取域名服务器的响应后解析出结果,或者说显示结果,把这个结果返回给调用它 的调用者。
    2 域名服务器的分类:

    根据类别不同,分成如下几类:

    2.1. 权威域名解析器(Autoritatvie Name Server )
    负责授权域下的域名解析服务,由上级权威域名服务器使用NS记录进行授权。
    有以下3级权威域名服务器

    • 根域名服务器(Root Name Server)
      的权威域名服务器,负责对.com,.cn,.org等顶级域名向下授权,共13组根域服务器,这里简单罗列几个:
    主机名 ip 管理方
    a.root-servres.net 198.41.0.4 VeriSign.Inc
    b.root-servers.net 192.228.79 California(ISI)|
    c.boot-servers.net 192.33.4.12 Cogent Communications

    注意
    这里是13组根域服务器,不是13台。其中大多数采用了anycast技术,因为分布到不同的地区。

    • 顶级域名服务器(top level name server)
      顶级域名服务器分为两类:
      1. 通用顶级域名服务器(Generic Top Level Domains,GTLD) 服务器,服务于.org,.com,.info等授权的域名服务器
      2. 国家代码服务器(Country code top level Domains,CCTLD),服务于UK,CN.Us等授权的域名 服务器
    • 二级域名服务器( second Level Name Server)
      这类域名服务器服务于具体的域名,如解baidu.com等。

    以上三类权威域名解析器的授权结构图如下所示

    2.2. 缓存域名服务器(caching Name Server)
    这类的域名服务器负责接受解析器发过来的DNS请求,通过依次查询根域名服务器->顶级域名服务器-> 二级域名服务器来获取DNS解析结果,然后把结果发送给解析器,同时根据DNS条目的TTL(time to live)值进行缓存,它有两个作用:

    • 企业内部局域网
    • 用于运营商为其租户提供域名解析结果
    • 用于开放的DNS解析服务,如8.8.8.8

    2.3. 转发域名服务器
    这类域名服务器负责把解析器发过来的DNS请求,转发给指定的上级域名服务器获得DNS解析的条目,然后把结果发给解析器。和缓存域名服务器不同的是,这类服务器不进行任何缓存,只是转发而已。

    3 递归和迭代解析
    • 递归就是客户端(解析器)发起一个DNS解析请求给本地域名服务器,直到本地域名服务器返回一个解析结果。客户端只关心解析结果。
    • 迭代查询 就是客户端(解析器)发起一个DNS解析请求给本地域名服务器,本地服务器返回一个参考列表,这个参考列表给出了可以解析这个DNS请求的服务器,由客户端再去向这个列表里的DNS服务器进行DNS查询获取DNS解析结果。

    禁用递归查询的原因与方法

    通过递归查询和迭代查询的分析可以知道,对于权威域名服务器,打开了递归查询功能,相当于把它配置成了开放的DNS服务器,会造成大量数据流,影响正常的服务提供,因此,在权威服务器上,可以结合自己公司的情况来确定是否需要禁用递归查询。
    通过yum安装的bind,配置文件在/etc/named.conf,配置禁用递归查询的参数默认在18行,如下:

    [root@localhost ~]# vim /etc/named.conf
     18         recursion yes;   # 第18行 ,把yes改为no就行了
    
    
  • 相关阅读:
    2017 北京商改住政策
    python3 进程和线程(二)
    python3 pymysql
    SQL基本操作
    python3 paramiko
    python3 classmethod
    python3 property
    LVS负载均衡
    flume介绍及应用
    关系型数据库和非关系型数据库介绍及优劣势比较
  • 原文地址:https://www.cnblogs.com/liaojiafa/p/6033708.html
Copyright © 2011-2022 走看看