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)
顶级域名服务器分为两类:- 通用顶级域名服务器(Generic Top Level Domains,GTLD) 服务器,服务于.org,.com,.info等授权的域名服务器
- 国家代码服务器(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就行了
DNS(一)之禁用权威域名服务器递归解析的更多相关文章
- DNS递归解析和迭代解析
DNS解析流程分为递归查询和迭代查询,递归查询是以本地名称服务器为中心查询, 递归查询是默认方式,迭代查询是以DNS客户端,也就是客户机器为中心查询.其实DNS客户端和本地名称服务器是递归,而本地名称 ...
- Linux下DNS简单部署(主从域名服务器)
一.DNS简介DNS(Domain Name System),域名系统,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通 ...
- scrapy递归解析和post请求
递归解析 递归爬取解析多页页面数据 每一个页面对应一个url,则scrapy工程需要对每一个页码对应的url依次发起请求,然后通过对应的解析方法进行作者和段子内容的解析. 实现方案: 1.将每一个页码 ...
- Xml学习笔记(3)利用递归解析Xml文档添加到TreeView中
利用递归解析Xml文档添加到TreeView中 private void Form1_Load(object sender, EventArgs e) { XmlDocument doc = new ...
- 11-scrapy(递归解析,post请求,日志等级,请求传参)
一.递归解析: 需求:将投诉_阳光热线问政平台中的投诉标题和状态网友以及时间爬取下来永久储存在数据库中 url:http://wz.sun0769.com/index.php/question/que ...
- dom4j递归解析XML字符串所有子节点
/** * dom4j递归解析所有子节点 * * @param childElements * @param mapEle * @return */ public Map<String, Obj ...
- 3、DNS服务器功能(正向、反向解析)
实验目的: 建立gr.org域的主名称服务器.解析: 名称 IP 用途 ns.gr.org 192.168.170.3 名称服务器 www.gr.org 192 ...
- 【Python Network】权威域名服务器级联查询
如果PyDNS库,跳过本地名称服务器,直接向权威名称服务器查询.如baidu.com查询.com域名服务器,并从各个域名服务器中查询下一即域名,并输出相关信息. #! /usr/bin/env pyt ...
- 12.scrapy框架之递归解析和post请求
今日概要 递归爬取解析多页页面数据 scrapy核心组件工作流程 scrapy的post请求发送 今日详情 1.递归爬取解析多页页面数据 - 需求:将糗事百科所有页码的作者和段子内容数据进行爬取切持久 ...
随机推荐
- 使用Spring Sleuth和Zipkin跟踪微服务
随着微服务数量不断增长,需要跟踪一个请求从一个微服务到下一个微服务的传播过程, Spring Cloud Sleuth 正是解决这个问题,它在日志中引入唯一ID,以保证微服务调用之间的一致性,这样你就 ...
- jvm中的动态分派
动态分派与复写密不可分,因为java中存在向上转型,这样就涉及到方法的调用问题.先看一下示例代码 package com.dy.xidian; class Test1 { public void sa ...
- CSS3属性border-radius绘制多种多样的图形
border-radius,国内翻译成圆角,你可能以为这个属性就是用来画圆角,没错,但是除此之外,它还可以做点别的事情.radius其实指的是边框所在圆的半径,这个CSS3属性不仅能够创建圆角,还可以 ...
- CSS Bug
父子标签间用margin的问题,表现在有时除IE(6/7)外的浏览器子标签margin转移到了父标签上,IE6&7下没有转移.测试代码: <body> <style type ...
- Android中的各种单位
px(像素):屏幕上的点.in(英寸):长度单位.mm(毫米):长度单位.pt(磅):1/72英寸.dp(与密度无关的像素):一种基于屏幕密度的抽象单位.在每英寸160点的显示器上,1dp = 1px ...
- PHP中错误处理集合
PHP错误处理 错误的分类 通常分3种: 语法错误: 程序运行之前,都要先检查语法.如果语法有错误,就会立即报错,并且不会去执行程序. 运行时错误: 就是在程序语法检查通过后,,开始运行程序并在此过程 ...
- 三大范式与BCNF
引用:http://www.cnblogs.com/ybwang/archive/2010/06/04/1751279.html 参考: 1.范式间的区别 http://www.cnblogs.com ...
- 【BZOJ 2733】【HNOI 2012】永无乡 Splay启发式合并
启发式合并而已啦,, 调试时发现的错误点:insert后没有splay,把要拆开的树的点插入另一个树时没有把ch[2]和fa设为null,找第k大时没有先减k,,, 都是常犯的错误,比赛时再这么粗心就 ...
- oracle11g 拆分字符串的详细技巧
转自:http://m.blog.csdn.net/article/details?id=51946573 <-->功能需求 有一个比较长的SQL语句,查询 ...
- mysql为表添加外键完成性约束 报错Can't create table 'sfkbbs.#sql-513_25' (errno: 150)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtkAAAAyCAIAAAAGM1ChAAAAA3NCSVQICAjb4U/gAAAgAElEQVR4Xu