BIND和DNS名称解析

一、DNS和Bind

1.DNS功能:将主机名和ip地址进行一一对应,通过主机名可以解析到目标主机的ip地址(正向解析),也可以通过ip地址解析到主机名(反向解析)。

主机名到IP地址的映射有两种:

静态映射:每台设备上都有主机到ip映射的配置文件,通过该文件可以完成一部分地址解析,该映射文件只归本设备使用,在linux下静态映射存在/etc/hosts文件下

动态映射:通过一套域名解析系统(DNS),在专门的DNS服务器上存放主机到IP地址的映射,需要使用主机名通信的设备,需要从DNS服务器查询该主机的IP地址

2.Bind:Berkeley Internet Name Domain,伯克利互联网名称域,将整个互联网分为多个不同的管理区域,每个区域都有一台服务器管理其中的主机名,是全球最大的分布式数据库之一。

Bind——倒置的树

根域(.)

顶级域(Top Level Domain, TLD, tld)

组织域:标识域的组织结构;

com, net, org, gov, edu, mil, ...

地理域:标识域所在的地理范围;

tw, hk, cn, jp, iq, ...

反向域:用于反向解析

in-addr.arpa

二级域及下级子域:由企业,组织,团体或个人维护的域;

baidu,sohu,...

主机名:标识特定域中的特定主机名称;

www,mail,forum,ns

FQDN:Full Qualified Domain Name,完全合格域名;主机名的完整名称;

从枝叶到根域的顺序书写,如www.ppp213.com.

3.名称解析的方式:

正向解析:FQDN --> IP

反向解析:IP --> FQDN

注意:正向解析和反向解析所使用的名称属于不同空间,不是同一棵树,也不是同一个数据库;

在linux中,在/etc/resolv.conf文件存放DNS服务器的地址。

4.名称查询的类型:

递归查询:recurse,要求有明确结果的查询;必须返回一个肯定的或否定的答案;

迭代查询:iteration,按照一定的顺序和步骤依次向不同服务器发出查询请求,尽量要求返回一个答案;

5.名称查询获得的答案:

权威答案:由直接负责管理对应信息的名称服务器返回的答案;

非权威答案:由指定的服务器从其缓存中或利用迭代方式查询得到的答案;

还有两种可能;

肯定答案:可以解析到结果

否定答案:无法解析到结果

6.名称服务器:NS,Name Server;

至少负责一个域的数据库管理;

主名称服务器:Master NS

从名称服务器:辅助名称服务器,Slave NS;

不负责任何域的数据库管理:

缓存名称服务器;

7.一次完整的主机名称解析的流程:

Client --> hosts --> Local Cache --> 首选DNS服务器(递归查询) -->

1.服务器本地数据库中有结果,直接返回权威答案;

2.服务器不维护该域,但已经有缓存的结果,直接返回非权威答案;

3.服务器不维护该域,缓存中也没有结果,于是开始迭代查询:

1) Root 返回顶级域服务器

2) 顶级域服务器返回二级域的NS地址;

3) 直到找到对应主机所在域的NS服务器,获得解析结果;

4) 缓存此次查询结果并用缓存中的数据响应客户端;

二、主从NS服务器

1.定义

主名称服务器:维护所负责的区域数据库文件的主体;可以在区域数据库中进行增、删、改、查等操作,即:读写操作均可进行;

从名称服务器:也称为"辅助名称服务器",从主名称服务器或者其他的从名称服务器复制区域数据库文件到本地;因此,从名称服务器不能进行管理操作(增、删、改),只能进行读操作;

2.主从服务器数据的同步

当主名称服务器不能使用时,仍然可以从该主名称服务器的从服务器中获取数据进行DNS解析,从名称服务器是一种备份操作,若主从名称服务器数据不一致时会产生错误,因此必须实时保证主从服务器数据库的一致性。为了保证主名称服务器和从名称服务器的数据库的一致性,通过定义下来参数来实现:

1)序列号:Serial,即:数据库的版本号;

2)刷新时间间隔:Refresh,从服务器到主服务器检查序列号的变更情况的时间间隔;

3)重试时间间隔:Retry,从服务器到主服务器的序列号检查请求失败以后,再次尝试发送请求的时间间隔;通常来讲,重试时间间隔要远远小于刷新时间间隔;

4)过期时间:Expire,从名称服务器始终无法联系主名称服务器,从名称服务器最大的连续工作时长;

5)否定答案的缓存时长:minimal ttl;

3.主从服务器时间同步的方法:

1)通过互联网中的时间服务器;

2)通过局域网中自建时间服务器;

CentOS 6-:ntp(网络时间协议)服务器,ntpd程序

CentOS 7:ntpd程序,chrony程序

3)修改/etc/ntp.conf

添加一行

restrict 192.168.109.0/24 nomodify  为该网段中所有主机提供时间同步服务

注释掉原本server的几行,之后添加一行:

server 127.127.1.0 iburst  使该服务器成为内部网络所有服务器的时间服务器

让配置加载并生效:

CentOS 6-:service ntpd reload|restart

CentOS 7:systemctl reload|restart ntp.service

4.主从服务器区域数据库复制的方式:区域传送

推送:主名称服务器主动将更改后的数据库发送给从服务器;

拉取:从名称服务器在比对序列号之后发现主服务器数据库的序列号变大,要求主服务器发送数据库以更新自身数据库;

区域传送两种类型:

全量传送:AXFR,All Transfer,将整个数据库文件传送至从服务器;

增量传送:IXFR,Incremental Transfer,仅传送自上次数据库传送以后发生变化的内容;

对于Bind,默认允许所有客户端请求区域传送,为了安全起见,需要进行访问控制;

区域传送是从名称服务器能够进行权威解答的必要基础;

存放于数据库文件中的用于完成名称解析工作的数据内容,我们称为"资源记录";即:Resource Record,简称为"RR";

三、资源记录:RR

常用的资源记录的类型:

A,AAAA,PTR,SOA,NS,CNAME,MX

1.SOA:Start Of Authority,起始授权记录;

在任何一个区域数据库中必须有且只能有一条SOA记录,而且该记录必须放在数据库中的第一条;其中包括:

域名;

数据缓存的时间;

NS服务器的主机名;

管理员的邮箱地址;

序列号,刷新时间间隔,重试时间间隔,过期时间及否定答案的缓存时间;

2.A:Address,主机记录;

标识从完全合格域名到IPv4地址的映射关系;

3.AAAA:Address,主机记录;

标识从完全合格域名到IPv6地址的映射关系;

4.PTR:PoinTeR,反向指针记录;

标识从IP地址到完全合格域名的映射关系,在一个数据库中,不可能同时拥有A记录和PTR记录。

5.NS:Name Server,名称服务器记录;

标识当前域中被授权的名称服务器;

6.CNAME:Conanical Name,别名记录;

标识从完全合格域名到完全合格域名的映射关系;

7.MX:Mail eXchange,邮件交换记录;

标识域中的邮件服务器的主机名称,标识从域名到完全合格域名的映射关系;

MX资源记录包含了一个优先级,0-65535,数字越小优先级越高;

四、资源记录的格式:

DN|FQDN [TTL]IN RR_TYPE VALUE

注意:

1.名称部分可以写FQDN,也可以省略域名写主机名,其域名会从配置文件中通过宏来继承;常用的宏$Origin;

2.TTL是以秒为默认时间单位的时间标识符号,如果省略,则从全局定义的宏中继承,通常是$TTL;

3.在区域数据库中,"@"有特殊含义,其含义为:当前区域的域名,在资源记录数据库中写邮箱地址不能使用"@"符号,需要用"."来替换;

4.一个FQDN可以通过多条记录定义多个不同的值;客户端在查询此类资源记录时,DNS服务器会默认采用轮询的方式顺序调取每个记录的内容,这是一种简单的负载均衡的处理;

www.ppp213.com. IN A 1.1.1.1

www.ppp213.com. IN A 1.1.1.2

www.ppp213.com. IN A 1.1.1.3

5.多个FQDN通过多条记录对应同一个值,但此时更好的方案是使用别名记录;

www.ppp213.com. IN A 1.1.1.1

ftp.ppp213.com. IN A 1.1.1.1

bbs.ppp213.com. IN A 1.1.1.1

还可以写成:

www.ppp213.com. IN A 1.1.1.1

ftp.ppp213.com. IN CNAME www.ppp213.com.

bbs.ppp213.com. IN CNAME www.ppp213.com.

6.在区域数据库中,根域的名称"."必须写在FQDN的结尾处;如果在FQDN结尾处没有".",则bind程序会在名称后面补上当前域的域名(在SOA记录中);

www.ppp213.com  IN A 1.1.1.1

相当于

www.ppp213.com.ppp213.com. IN A 1.1.1.1

www  IN A 1.1.1.1

相当于

www.ppp213.com. IN A 1.1.1.1

ftp   IN CNAME www.ppp213.com

相当于

ftp.ppp213.com. IN CNAME www.ppp213.com.

五、常见的资源记录在数据库中通用写法:

1.SOA:

DN|FQDN:当前域的域名,如:ppp213.com.

或者使用"@"代替域名;@符号会使用主配置文件中定义的域名来代替;

VALUE:由以下几个部分组成:

1)当前域中的主名称服务器的FQDN;ns.ppp213.com.

2)当前域的数据库管理员的邮箱地址,需要使用"."来代替"@";root.ppp213.com.

3)主名称服务器进行区域传送的相关时间参数的定义:

(Serial Refresh Retry Expeir TTL)

(Serial;

Refresh;

Retry;

Expeir;

TTL;)

示例:

①ppp213.com.86400IN SOA  ns1.ppp213.com. master.ppp213.com. (

2018040601;

1H;

10M;

1W;

5M;)

②@86400IN SOA  ns1.ppp213.com. master.ppp213.com. (2018040601 1H 10M 1W 5M)

2.NS记录:

name:当前域的域名;可以写完全合格域名FQDN;可以写@占位;还可以省略不写,如果省略不写,则意味着该资源记录的名称与其上一条资源记录的名称相同;

value:当前区域内被授权的名称服务器的FQDN;

注意:

1)一个域中有多少台名称服务器就需要写多少个NS资源记录;

2)每个NS资源记录都必须要有一个A记录与之对应;

示例:

qhdlink.com.IN  NS ns1.qhdlink.com.

@                 IN  NS  ns1

IN  NS  ns2

3.MX记录:

name:当前域的域名;可以写完全合格域名FQDN;可以写@占位;还可以省略不写,如果省略不写,则意味着该资源记录的名称与其上一条资源记录的名称相同;

RR_TYPE:MX priority

value:当前域中有效的邮件服务器的FQDN;

注意:

1)一个域中,可以有多条MX资源记录,通过优先级的大小决定被使用的次序;

2)每个MX资源记录都必须对应一条A记录;

示例:

ppp213.com. IN  MX  10(优先级)  mail.ppp213.com.

@                 IN  MX  10  mail

4.A记录:

name:域中指定主机的FQDN;

value:该主机上真实有效的IPv4地址;

示例:

www.ppp213.com. 43200 IN  A 192.168.109.100

www     43200 IN  A 192.168.109.100

泛域名:

*.ppp213.com.   43200 IN  A 192.168.109.100

*             43200 IN  A 192.168.109.100

直接域名解析:

ppp213.com.     43200 IN  A 192.168.109.100

通常,泛域名或直接域名都是为了防止用户写错名称而导致无法给出正确的解析结果;

5.CNAME记录:

name:域中指定主机的别名;

value:真正的主机的FQDN;

示例:

ftp.ppp213.com. [86400]  IN  CNAME  www.ppp213.com.

ftp             [86400]  IN  CNAME  www

6.PTR记录:

name:将IP地址的四个八位组反过来,加上反向域的域名后缀;

如果IP地址是:172.16.1.100/16,其对应的名称的写法:

100.1                         IN  PTR  www.ppp213.com.

100.1.16.172.in-addr.arpa. IN  PTR  www.ppp213.com.

value:域中与指定的IP地址对应的FQDN;

注意:value部分必须写FQDN,绝对不能省略域名后缀,最后必须以"."结尾;否则bind程序会将反向域的域名补在名称之后;

原文地址:http://blog.51cto.com/papapa213/2097589

时间: 2024-11-02 15:20:24

BIND和DNS名称解析的相关文章

DNS(名称解析服务)

DNS and Bind ========================================================================= 概述: DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53. 相关知

DNS正反解析、主从复制、子域授权、安全相关配置

原理: 我们都知道,在"记忆"的角色上,人脑总是不如计算机,而人们对文字的印象又比数字高.因此,想要使用纯粹的TCP/IP来上网,实在不好记忆又很麻烦,为了适应人类的使用习惯,一个名为DNS的服务帮我们将主机名解析为IP好让大家只要记得主机名就能使用Internet,由于目前的IPv4已经接近分配完毕的阶段,因此128bits的IPv6会逐渐热门起来,如果背128位的IP上网想必是不可能的,可以想象它会越来越重要. 域名和服务概述 FQDN:Fully Qualified Domaim

DNS服务器解析域名

工作任务描述 公司名称是abc公司,搭建DNS服务器. 总公司在北京,总公司的注册的域名为HT.com.你公司下属两个分支,第一个为亚洲公司(Asia),公司总部在北京,第二个为欧洲公司(Europe),请你在总公司上建立一台DNS服务器,设计你总司和分支机构的DNS名称解析工作. 总公司:一台WEB服务器,在Internet上发布公司站点 IP地址为21.21.21.21 一台FTP服务器,负责对内网的FTP服务 IP地址为192.168.1.2/24 亚洲分公司:独立的WEB服务器,IP地址

DNS(域名系统)与BIND(Berkeley互联网名称域)

一直以来对浏览器地址栏输入的地址有极大的困惑,为什么输入的是www?为什么结尾是.com?为什么要用"."来分隔三部分(大多数情况下)?好吧,大学后才知道,这东西学名是叫域名,而不是网民称的网址什么的:域名让我们更方便的访问,而不是要死记住那一大串的数字:ip地址: 一.先认识一下这个名称域,也可以叫ta名称空间,在空间上形象的把ta看作一棵倒置的树,数据结构里的树形结构知道吧,就跟那差不多的样子: 比如www.baidu.com 根域(.)在最后被省略不写,com是它的顶级域,bai

DNS服务解析,如何用bind构建主从架构的DNS服务器。

DNS(Domain Name System,域名系统) 在互联网上实现FQDN与IP地址的解析,这样避免了人们在访问站点时,记忆长串难懂的ip地址,只需要记忆人们容易理解的域名就行了. FQDN (Fully Qualified Domain Name,完全合格域名) FQDN------------------IP Address 正向解析 IP Address------------FQND 反向解析 简述工作原理: 我们大家都知道,全球一共有13台根节点服务器,当我们的DNS服务器收到一

基于BIND实现的DNS正反解析及主从DNS的配置

测试环境 准备2台虚拟机,一台为主DNS,IP地址为:192.168.103.161.另一台为从DNS,IP地址为:192.168.103.162两台都装好bind,所需包有:bind,bind-utils,bind-libs 主DNS的配置文件 配置主文件/etc/named.conf,如下所示 // // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // se

Bind的DNS解析设置forward - 阿权的书房

bind有一项功能是forward,也就是只是做dns缓存. 适用以下情况: 1 做临时测试,不想向上级申请修改ns记录2 不想向上级申请修改ns记录但希望交给另外的服务器处理3 只有有限的公网IP,可以在把dns请求交给局域网 设置很简单: zone "aslibra.com" {  type forward;  forward only;  forwarders {218.241.231.189;};}; 也就是我把域名解析权交给了某个IP,这个服务器只是做cache.forwar

BIND与dns解析 一

1.常见的dns解析方式: 正向解析:由主机名解析出IP地址 反向解析:由IP地址解析出主机名 2.名称域:层级分布式数据库 (金字塔型) 第一层:    根域 " . "表示 第二层     顶级域(宏观上分为俩种) 1.用于正向解析的组织域和地理域 2.用于反向解析的反向域:in-addr.arpa 第三层     二级域 三级域 四级域 ..... 最后会解析到一个:完全合格域名(FQDN) ,也是主机名的完全名称. 注意:1.因为正向解析和反向解析用的是不同的顶级域,因此使用的

dns服务之bind配置内网解析部分子域名,其它子域名转发

bind配置内网解析部分子域名,其它子域名转发.以下以m.xxx.com和admin.xxx.com由内网dns解析,其它*.xxx.com转发给外网dns解析为例配置.文件/etc/named.conf:options {# listen-on port 53 { 127.0.0.1; }; #注释表示监听所有端口# listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/da