DNS 理论

DNS and Bind


DNS是什么?可以做什么用?


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

DNS应用层协议 53/udp, 53/tcp

你知道www.magedu.com.这三个字段包含什么意思?  


 . 是根域   .com 是表示商业组织顶级域  .magedu 是一个我们申请的使用的二级域  www是我们的主机名。而整个www.magedu.com.叫做FQDN,叫做完全限定域名,就是主机名了。

你在想为什么我在浏览器里输一个入主机名,就可以访问远程的主机呢?如下介绍

你知道你的主机是如何利用dns访问互联网的吗?

注:1、本地主机首先会本地的host文件访问的主机名对应的ip,

2、如果么有查找本地dns缓存,(DNS Local Cache)

3、如果还没有就去向该网络里的dns服务器发起递归请求,(DNS  Server (recursion))

4、dns服务器以迭代查询的方式去查找主机名对应的ip地址返回给client。

以上就是一次完整的查询请求经过的流程:

Client --> hosts文件 --> DNS Local Cache --> DNS  Server (recursion) -->

DNS查询类型:

递归查询:发送一次请求等待对方答案

迭代查询:多次请求得到答案

DNS名称解析方式:

FQDN --> IP:正向解析

IP --> 名称:反向解析

注意:二者的名称空间,非为同一个空间,即非为同一棵树;因此,也不是同一个解析库;

举例:

域:magedu.com.

www.magedu.com.(主机名)  1.1.1.1  (ip)

ftp.magedu.com.  2.2.2.2

注:在magedu.com.下面有www.magedu.com.和ftp.magedu.com.主机,分别对应着1.1.1.1 和2.2.2.2

DNS服务器类型:

主名称服务器;

辅助名称服务器;

缓存名称服务器;

各自是如何工作的?

主名称服务器;

自己负责解析的域:直接查询数据库并返回答案;

不是自己负责解析域:Server Cache --> iteration(迭代)

主DNS服务器:维护所负责解析的域数据库的那台服务器;读写操作均可进行;

辅助名称服务器;

从DNS服务器:从主DNS服务器那里或其它的从DNS服务器那里“复制”一份解析库;但只能进行读操作;

主辅如何数据同步?

“复制”操作的实施方式:

序列号:serial, 也即是数据库的版本号;主服务器数据库内容发生变化时,其版本号递增;

刷新时间间隔:refresh, 从服务器每多久到主服务器检查序列号更新状况;

重试时间间隔:retry, 从服务器从主服务器请求同步解析库失败时,再次发起尝试请求的时间间隔;

过期时长:expire,从服务器始终联系不到主服务器时,多久之后放弃从主服务器同步数据;停止提供服务;

否定答案的缓存时长:

场景:有时候数据同步有时间间隔,如何当主服务器有更新了,从服务器就马上更新数据?

主服务器”通知“从服务器随时更新数据;

区域传送:

全量传送:axfr, 传送整个数据库;

增量传送:ixfr, 仅传送变量的数据;

区域(zone)和域(domain):

magedu.com域:

FQDN --> IP

正向解析库;区域

IP --> FQDN

反向解析库;区域

每一个解析库文件都要有SOA

SOA是做什么的?

用来说明一个区域内部主从服务器之间如何同步数据,以及谁是主dns。

必备:SOA:Start Of Authority,起始授权记录; 一个区域解析库有且只能有一个SOA记录,而且必须放在第一条;

区域数据库文件里定义了dns解析需要的数据。每条数据也有其资源类型

是用来说明当前资源扮演什么角色


NS:Name Service,域名服务器;一个区域解析库可以有多个NS记录;其中一个为主的;

A: Address, 地址记录,FQDN --> IPv4;

AAAA:地址记录, FQDN --> IPv6;

CNAME:Canonical Name,别名记录;

PTR:Pointer,IP --> FQDN

MX:Mail eXchanger,邮件交换器;

优先级:0-99,数字越小优先级越高;

SOA资源记录的定义格式:

语法:name  [TTL] INRR_TYPE  value

name: 当前区域的名字;例如”mageud.com.”,或者“2.3.4.in-addr.arpa.”;

value:有多部分组成

(1) 当前区域的区域名称(也可以使用主DNS服务器名称);

(2) 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般使用点号来替代;

(3) (主从服务协调属性的定义以及否定答案的TTL)

例如:

magedu.com.  86400   IN   SOA      magedu.com. admin.magedu.com.  (

2017010801; serial  注:从服务器检查更新数据时的版本号

2H ; refresh     注:从服务器检查更新的时间间隔

10M ; retry     注:从服务器请求没有响应后的重试时间<refresh

1W; expire    注:过期时间到了后,从dns服务器将停止服务

1D; negative answer ttl 注:否定答案的缓存时长

)

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

例如:

magedu.com. 86400 IN NS  ns1.magedu.com.

magedu.com. 86400 IN NS  ns2.magedu.com.

MX类型的资源记录条目如何写?


name: 当前区域的区域名称

value:当前区域某邮件交换器的主机名;

注意:MX记录可以有多个;但每个记录的value之前应该有一个数字表示其优先级;

例如:

magedu.com. IN MX 10  mx1.magedu.com.

magedu.com. IN MX 20  mx2.magedu.com.

A的类型资源记录条目如何写?


name:某FQDN,例如www.magedu.com.

value:某IPv4地址;

例如:

www.magedu.com.    IN     A    1.1.1.1

www.magedu.com.    IN     A    1.1.1.2

bbs.magedu.com.    IN     A    1.1.1.1

PTR类型资源记录条目如何写?


name:IP地址,有特定格式,IP反过来写,而且加特定后缀;例如1.2.3.4的记录应该写为4.3.2.1.in-addr.arpa.;

value:FQND

例如:

4.3.2.1.in-addr.arpa.  IN  PTRwww.magedu.com.

CNAME类型资源记录条目如何写?

name:FQDN格式的别名;

value:FQDN格式的正式名字;

例如:

web.magedu.com.  IN  CNAME  www.magedu.com.

注意:
(1) TTL可以从全局继承;
(2) @表示当前区域的名称;
(3) 相邻的两条记录其name相同时,后面的可省略;
(4) 对于正向区域来说,各MX,NS等类型的记录的value为FQDN,此FQDN应该有一个A记录;
时间: 2024-08-03 13:35:37

DNS 理论的相关文章

DNS学习笔记之DNS理论知识

DNS: Domain Name System (将域名和ip地址相互转化) 域名是一个范围,例如baidu.com,.com.而www.baidu.com是个主机名,即FQDN: Full Qualified Domain Name, 完全限定域名),诸多主机名构成了一个域名. DNS主要用来名称解析(Name Resolving),其实本质上是名称转换,但是由于涉及到数据库查询,所以叫做解析. FQDN<-->IP 192.168.0.220         www.zdx.com 192

DNS理论篇

网址:http://blog.jobbole.com/94132/ 对于 DNS(Domain Name System) 大家肯定不陌生,不就是用来将一个网站的域名转换为对应的IP吗.当我们发现可以上QQ但不能浏览网页时,我们会想到可能是域名服务器挂掉了:当我们用别人提供的hosts文件浏览到一个“不存在”的网页时,我们会了解到域名解析系统的脆弱. 然而关于DNS还有一大堆故事值得我们去倾听,去思考. DNS 源起 要想访问网络上的一台计算机,我们必须要知道它的IP地址,但是这些地址(比如243

DNS篇之一DNS理论知识

DNS: 域名解析,BIND: Berkeley Internet Name Domain SSL/TLS: http-->https, OpenSSL, CA, Digital Certificate, PKI HTTP: HTTP协议,Apache, LAMP, Nginx(Engine X), LNMP(LEMP), MySQL, PHP, varnish CDN: DNS(View), varnish  智能化dns:分布式的多个集群分别给我们服务用的. File Server: NFS

从理论到实践,全方位认识DNS(理论篇)

对于 DNS(Domain Name System) 大家肯定不陌生,不就是用来将一个网站的域名转换为对应的IP吗.当我们发现可以上QQ但不能浏览网页时,我们会想到可能是域名服务器挂掉了:当我们用别人提供的hosts文件浏览到一个“不存在”的网页时,我们会了解到域名解析系统的脆弱. 然而关于DNS还有一大堆故事值得我们去倾听,去思考. DNS 源起 要想访问网络上的一台计算机,我们必须要知道它的IP地址,但是这些地址(比如243.185.187.39)只是一串数字,没有规律,因此我们很难记住.并

从理论到实践,全方位认识DNS

从理论到实践,全方位认识DNS 2015-11-23 程序员之家 作者:selfboot 原文:http://segmentfault.com/a/1190000003956853 对于 DNS(Domain Name System) 大家肯定不陌生,不就是用来将一个网站的域名转换为对应的IP吗.当我们发现可以上QQ但不能浏览网页时,我们会想到可能是域名服务器挂掉了:当我们用别人提供的hosts文件浏览到一个“不存在”的网页时,我们会了解到域名解析系统的脆弱. 然而关于DNS还有一大堆故事值得我

DNS单机部署以及智能dns部署

dns理论 dns的出现 网络出现的早期是使用IP地址通讯的,那时就几台主机通讯.但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(Linux和Windows也继承保留了这个文件).这个文件中记录着主机名称和IP地址的对应表.这样只要输入主机名称,系统就会去加载hosts文件并查找对应关系,找到对应的IP,就可以访问这个IP的主机了. 但是后来主机太多了,无法保证所有人都能拿到统一的最新的hosts文件,就出现了在文件服务器上集中存放h

从理论到实践,全方位认识DNS(实践篇)

在理论篇我们基本了解了DNS的整个协议原理,但是可能还会有着下面的疑问: 为什么我想申请的域名都没了? DNS 域名还要备案,这是为什么啊? 如何将刚申请的域名绑定到自己的网站呢? 怎么才能看到那些在背后默默给我解析的域名服务器呢? 他们说用一个什么文件就可以访问好多好多不存在的网站,是真的吗? 可信任的域名服务器是怎么一回事,难道有些域名服务器会做坏事? 怎么知道我现在用的域名服务器有没有使坏呢? …… 我不准备一个一个地去回答这些问题,不过相信我,读完本文,对于上面问题的答案你会有一个清晰的

DNS配置及理论详解

DNS是什么 DNS:Domain Name System,域名系统 DNS作为域名和IP地址相互映射的一个分布式数据库,能够让用户更方便的访问互联网.它的正向映射是把一个主机和IP地址关联起来,它的反向映射则是IP地址到主机名.DNS使用TCP和UDP的53号端口.当前,对于每一级域名长度的限制是63个字符,域名总长度不能超过253个字符. 为什么要用DNS 连接到互联网的主机不计其数.当我要访问www.magedu.com这个网站.由于底层网络只能理解IP地址,而我的电脑不知道www.mag

Centos 7 DNS配置及理论详解

DNS是什么及BIND讲解内容 域名系统(英文:Domain Name System,缩写:DNS)是internet的一项服务.它作为将域名和IP地址相互映射服务,能够使人更方便地访问互联网.DNS使用TCP和UDP端口53.当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符.讲解内容:    DNS名称解析方式    DNS查询类型    DNS服务器类型    区域数据库文件详解    Centos7安装配置BIND    BIND主从服务器配置    BIND安