文档章节

DNS基本原理

我爱吃葱花
 我爱吃葱花
发布于 2014/08/11 18:36
字数 1771
阅读 266
收藏 17
点赞 0
评论 0
dns

首先来看DNS中常用的2种查询模式

1.递归查询: 

一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机;

2.迭代查询(反复查询): 
一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求;



DNS域名解析过程  

主机向本地域名服务器的查询采用递归查询:

              主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。

本地域名服务器向根域名服务器的查询通常采用迭代查询: 

          本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。


DNS资源记录

资源记录是用于答复DNS客户端请求的DNS数据库记录,每一个DNS服务器包含了它所管理的DNS命名空间的所有资源记录。资源记录包含和特定主机有关的信息,如IP地址、提供服务的类型等等。常见的资源记录类型有:

起始授权结构(SOA):Start of Authority的意思。这个标志代表着master/slave相关的认证、授权资料。此记录指定区域的起点。它所包含的信息有区域名、区域管理员电子邮件地址,以及指示辅 DNS 服务器如何更新区域数据文件的设置等。 

主机(A:用于将DNS域名映射到计算机使用的IP地址。

别名(CNAME):此记录用于将某个别名指向到某个主机(A)记录上,从而无需为某个需要新名字解析的主机额外创建A记录。这些记录允许使用多个名称指向单个主机,使得某些任务更容易维护。

邮件交换器(MX):用于将DNS域名映射为交换或转发邮件的计算机的名称。它由电子邮件应用程序使用,用以根据在目标地址中使用的DNS域名为电子邮件接收定位邮件服务器。

名称服务器(NS):此记录指定负责此DNS区域的权威名称服务器。

PTR记录PTR记录也被称为指针记录,PTR记录是A记录的逆向记录,作用是把IP地址解析为域名。


以下图为例:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$TTL    604800
@   IN  SOA ns.     test     .com. root.localhost. (
                    2012120501       ; Serial
                  604800     ; Refresh
                   86400     ; Retry
                 2419200     ; Expire
                    1800)        ; minimum 
 
              IN  NS ns.     test     .com.
ns.     test     .com. A   192.168.1.111
station1     A   192.168.1.1
station2     A   192.168.1.2
test     .com.    A   192.168.1.90
www          CNAME       test     .com.

$TTL  604800: 当有外部的DNS服务器对你的DNS的这个领域进行查询时,这记录会放置在对方的DNS服务器内几秒钟的意思。 这里指别人查询我的几录,保存7天。

@:指代zone文件,也就是/etc/named.conf中test.com.

root.localhost.:本来应该是 "root@localhost." 的,不过因为 @ 已经被作为特殊代号 (zone), 所以就用小数点来取代,因此 email 就成为 "root.localhost."

Serial:一个序号,但这个序号可被用来作为 slave 与 master 更新的依据。由于这个序号代表新旧资料,通常建议利用日期来设定,举例来说,上面的数据是在2012/12/05所写的第一次,所以用 2012120501 作为序号代表。以后每次更新增加序列号,重启服务生效(rcdc reload)

Refresh :除了根据 Serial 来判断新旧之外,我们可以利用这个 refresh(更新) 命令 slave 多久进行一次主动更新;

Retry :如果到了 Refresh 的时间,但是 slave 却无法连接到 master 时, 那么在多久之后,slave 会再次的主动尝试与主机联机;这里是1天。

Expire:如果 slave 一直无法与 master 连接上,那么经过多久的时间之后, 则命令 slave 不要再连接 master 了! 也就是说,此时我们假设 master DNS 可能遇到重大问题而无法上线,则等待系统管理员处理完毕后, 再重新来到 slave DNS 重新启动 bind 吧!这里是28天.

Minimun:如果没有TTL,就用这里的时间.

注意: station1后没有"." 它的完整写法是station1.test.com 

         test.com后有"." 说明这是完整结束符

         先要解析域,test.com.  A  192.168.1.90 之后可以指定别名


debian dns管理工具

named-checkconf。
named-checkconf 检查 named.conf 文件的句法
named-checkconf [-t directory] [filename]
named-checkzone
named-checkzone 程序检查host 文件的句法和相容性。
named-checkzone [-dq] [-c class] zone [filename]
rndc(Remote Name Daemon Control)
rndc 允许系统管理员控制名称管理器的运行。
如果不使用任何选项来运行rndc 将会有一条形如下列的使用信息:
rndc [-c config] [-s server] [-p port] [-y key] command [command...]
其中command 是下列中的一种:
reload
重新加载配置文件和域(zone)的配置。
reload zone [class [view]]
重新加载一个指定的域。
refresh zone [class [view]]
定期维护一个指定的域。
reconfig
重新加载namd.conf 配置文件和新的域,但不会重新加载已存的域文件,即使
域文件已经被修改了也不会加载。特别是当有大量的域的时候,这比全部的reload
要快很多,因为这避免了对域文件修改时间的检查。
stats
将统计信息写入到统计文件中。
querylog
启动用户请求的日志纪录。请求的日志记路也可以通过在named.conf 中
logging 部分的queries category 和channel 来启动。
dumpdb
把服务器缓存中的信息转储到dump 文件中去。
stop
服务器停机,且将所有最近通过动态更新或IXFRS 作出的修改,都首先存到
了更新域中的host 文件中。
halt
服务器马上停机。但通过动态更新和IXFR 做出的最新修改不会存入host 文
件,但当服务器重新启动的时候会写入到日志文件中去。
trace
增加一个服务器的debug 级别。
trace level
直接设置服务器的debug 等级。
notrace
将服务器的debug 等级设成0。
flush
清除域名服务器缓存中的内容。
status
显示服务器状况


本文转载自:http://my.oschina.net/davehe/blog/94122

共有 人打赏支持
我爱吃葱花
粉丝 28
博文 125
码字总数 34663
作品 0
海淀
数据库管理员
DNS服务器(一):基本原理

一、简介 网络中的主机通信是通过IP地址来实现的,通常IPv4的地址是四个数字加点组成,如果和每台主机通信我们都要去记忆IP地址的话,这通常对于人类来讲是相当痛苦的。于是网络上就有了一套...

wubinary
2014/03/13
0
0
天下数据教你如何简单应付DNS欺骗

欺骗攻击对于租用服务器的用户来说都不陌生,这类攻击主要以窃取账户数据资料为目的。而DNS欺骗是我们最有可能碰到的。那么到底DNS欺骗攻击是什么?我们又该如何应付它呢?今天,就由专业运营香港...

冬眠的包子
2016/01/22
54
0
https+hosts+cdn+chrome赤手***

据初步猜测,墙掉一个网站,基本上有这几种方法 封ip 封域名/内容过滤 dns污染 对于封ip,如果一个网站用了cdn,就很难封了,因为ip很多。比如google、cloudflare。这样的网站,封起来太困难...

徒步单独007
06/29
0
0
20170804L08-03老男孩Linux实战运维培训-Lamp系列之-http服务重要基础概念讲解

这一节讲网站的一些基本原理 访问机制啊 DNS啊 时间线是1999年前后吧,门户网站崛起 搜狐,网易,新浪,等等门户网站最好的年代,那时候一般是静态网页 流量就是钱量,有流理就有钱。www.hao...

wangchangshu2
2017/08/04
0
0
ettercap的应用:DNS欺骗

笔记一:ettercap是什么? 我们在对WEB安全检测的时候都会用到Cain和netfuke这两款工具,功能相信用过的朋友多多少少都知道,但这两款工具是在windows下运行的。 而ettercap是在linux下运行的...

securityHu
2017/07/08
0
0
web网站加速之CDN实例分析 - www.apple.com

如果你的网站的用户遍布世界各地,而且你的网站有很多静态资源(html, js, css, 图片),那么你一定会想利用 CDN(Content Delivery Network)来加快你的网站的访问速度。关于CDN的基本原理,请...

fifadxj
2014/04/07
0
0
Linux之DNS服务器搭建及常见DNS攻击和防御

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得...

wt7315
2016/09/14
0
0
上网限制和×××基本原理

目前在国内基本访问不了谷歌站点和机器人的站点,下载个gradle这个都要等很久。所以如果不×××很多工作都没办法正常做。所以在学习×××的同时也顺便了解了下目前限制网络访问的一些基本知...

古城寨主
2017/12/20
0
0
SYN Flood的基本原理

创建时间:2001-06-28 文章属性:转载 文章来源:http://shotgun.patching.net/syn.htm 文章提交:xundi (xundiatxfocus.org) Shotgun 首发于天极网 第一部分 SYN Flood的基本原理 SYN Floo...

brucema
2011/12/20
0
0
【PDF分享】BIND9 管理员参考手册中文版.pdf

下载 BIND9 管理员参考手册中文版.pdf BIND9 管理员参考手册章节目录如下 第一章:DNS 的起源和背景.................1 第二章:DNS 的体系结构和原理.................3 2.1 域名空间和体系...

红薯
2010/09/02
9.4K
24

没有更多内容

加载失败,请刷新页面

加载更多

下一页

protobuf学习笔记

相关文档 Protocol buffers(protobuf)入门简介及性能分析 Protobuf学习 - 入门

OSC_fly
昨天
0
0
Mybaties入门介绍

Mybaties和Hibernate是我们在Java开发中应用的比较多的两个ORM框架。当然,目前Mybaties正在慢慢取代Hibernate,这是因为相比较Hibernate而言Mybaties性能更好,响应更快,更加灵活。我们在开...

王子城
昨天
0
0
编程学习笔记之python深入之装饰器案例及说明文档[图]

编程学习笔记之python深入之装饰器案例及说明文档[图] 装饰器即在不对一个函数体进行任何修改,以及不改变整体的原本意思的情况下,增加函数功能的新函数,因为这个新函数对旧函数进行了装饰...

原创小博客
昨天
0
0
流利阅读笔记33-20180722待学习

黑暗中的生物:利用奇技淫巧快活生存 Daniel 2018-07-22 1.今日导读 如果让你在伸手不见五指的黑暗当中生存,你能熬过几天呢?而大千世界,无奇不有。在很多你不知道的角落,有些生物在完全黑...

aibinxiao
昨天
2
0
Hystrix降级逻辑中如何获取触发的异常

通过之前Spring Cloud系列教程中的《Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)》一文,我们已经知道如何通过Hystrix来保护自己的服务不被外部依赖方拖垮的情况。但是实际...

程序猿DD
昨天
0
0
gin endless 热重启

r := gin.New()r.GET("/", func(c *gin.Context) {c.String(200, config.Config.Server.AppId)})s := endless.NewServer(":8080", r)s.BeforeBegin = func(add string) ......

李琼涛
昨天
0
0
JAVA模式之代理模式

平时一直在用spring,spring中最大的特效IOC和AOP,其中AOP使用的就是代理模式.闲着无聊,随手写了一个代理模式,也记录下代理模式的实现Demo. 比如现在有一个场景是:客户想要增加一个新的功能,...

勤奋的蚂蚁
昨天
0
0
ES15-JAVA API 索引管理

1.创建连接 创建连接demo package com.sean.esapi.client;import java.net.InetSocketAddress;import org.elasticsearch.action.get.GetResponse;import org.elasticsearch.clien......

贾峰uk
昨天
0
0
单点登录的设计,从单域名到多域名(经验分享)

个人实践总结,最初的的需求,多个产品线都在同一个根域名下面。 独立的用户中心分离,单独负责用户登录和用户信息获取、变更等处理逻辑。 第一步,用户登录成功,分配给用户一个memToken(令...

小海bug
昨天
0
0
合格前端第十二弹-TypeScript + 大型项目实战

写在前面 TypeScript 已经出来很久了,很多大公司很多大项目也都在使用它进行开发。上个月,我这边也正式跟进一个对集团的大型运维类项目。 项目要做的事情大致分为以下几个大模块 一站式管理...

qiangdada
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部