域名:从注册到解析的过程

 

从注册到解析

——BIND配置以及ZONEFILE格式

 

TheTable Of Contents

从注册到解析... 1

一.域名注册系统产生的相关解析信息... 3

1.1 CNNIC业务逻辑... 3

1.2 Zonefile记录内容... 3

二.解析基本原理... 4

2.1 解析服务器... 4

2.2 解析过程... 4

三.Bind工作机制和原理... 5

3.1 Bind基本介绍... 5

3.2 Bind工作机制和原理... 6

四.Bind配置... 8

4.1 存根解析服务器BIND的配置信息... 8

4.2 迭代解析服务器BIND的配置信息... 15

参考资料:... 16

附录A:Linux下配置BIND示例... 17

  

一.域名注册系统产生的相关解析信息

1.1 业务逻辑

       域名从注册到解析,要经历三个阶段:1.注册者通过注册商(或注册商二级代理)注册域名,并提供相应的(验证数据)联系数据给注册商;2.注册商通过epp协议报文把注册者的注册信息提供给注册局,供注册局记录审核;3.注册信息通过审核后,生成zonefile文件,提供给BIND服务器,提供解析。

       主要讲解一下2.:在注册域名的时候,提供域名name,注册时间,ns记录,以及contact联系人信息等,解析文件zonefile的生成主要依据ns记录。

       注意:需要解析的域名,必须提供ns记录

1.2 Zonefile记录内容

       抛掉其他细节,zonefile里面最重要的记录内容如下:(最主要的是A记录)

 

IN         NS     ns.example.com.

IN         A       192.168.100.125

www    IN   A      192.168.100.125

db        IN   A      192.168.100.124

shop    IN   A       192.168.100.125


 

二.解析基本原理

2.1 解析服务器

       解析服务器主要分:主服务器,辅服务器,缓存服务器,转发服务器等,本文主要讲解:主服务器和辅服务器。

       存储关于域名空间的信息的程序叫做名字服务器。域名解析服务器,是按照授权的区来组织域名信息,而不是按照域来组织。区的主名字服务器从位于本机的文件中读取区数据,而区的辅名字服务器则是从该区其他权威名字服务器(例如主服务器)读取数据。

2.2 解析过程

       解析过程主要包括三部分:1.发送解析请求的客户端(例如:浏览器,telnet等命令,这些命令一般内嵌在操作系统中,可以直接调用);2.完成递归解析的服务器(一般都有缓存功能);3.迭代解析服务器(不知道有没有缓存功能)

       对于客户端,这里不做主要讲解,linux环境下c语言库中的gethostbyname函数,就可以看做是一个最简单的客户端程序。主要的递归解析服务器都是存根服务器,它有收集查询、向名字服务器发送查询并等待、如果没有应答就再次发送查询的功能,大部分寻找对查询请求的应答的工作是在服务器一方完成的,存根解析器没有跟随指示的智能。

                                      递归解析和迭代解析:这是解析服务器提供的两种解析请求应答模式,可以按照算法中,递归和迭代的思想理解这两种解析。由于递归解析对靠近根节点的解析服务器解析请求量过大,所以一般配置解析时,禁止把这些服务器配置成递归解析。下图2-2-1是一个典型的(可以看出最佳实践,因为并不是所有的解析流程是这样的)解析过程:

 

三.Bind工作机制和原理

3.1 Bind基本介绍

         BIND这个缩写来自于使用的第一个域,Berkeley Internet Name Domain,BIND—The Berkeley Internet Name Daemon:named守护进程。这个软件起源于20世纪八十年代初的University of California at Berkeley,是在DARPA授权下编写的。

       BIND是Domain的 NameServer服务器端程序,他是按照zone来运行的。在named.conf文件中设置的master和slave服务器就维护一个zone,不是domain。Slave通过TCP连接和master服务器联系,并获得zone的数据。Master服务器使用DNS协议来读取zone信息。所有这些服务器(master和slave)都应该列在上级域的ns记录中,并且提供IP地址,这两条记录称为glue records(粘合记录),因为这两条记录必须同时提供,所有称为粘合记录。这样才形成一个正式授权。同时这些服务器也应该列在自己的主机中的域文件中,通常是在@下面,@指当前域的顶级(不是整个域名树型结构的顶层)。用户可以列出本域的顶层(@)中NS 记录里的所有服务器,尽管他们可能没有注册在上级域的NS记录中,但是不能列出虽然注册在上级域中,却没有出现在本地域的@中的服务器。任何列在NS 记录中的服务器就必须配置成那个域的授权域名服务器(authoritative server)。当用户查询这个域的信息时,这台授权的服务器就会提供授权的信息,也就是在返回包中设置了AA 位(Authoritative Answer)。

3.2 Bind工作机制和原理

       权威服务器等通过UDP或TCP连接bind服务器,通过named守护进程监听53端口(通常是这个端口,在linux环境中,可以在/etc/services 查看,首先whereis services 然后cd到该目录下,vim services 查看),并且还有一个resolver库,通过这个库提供解析等服务。Resolver 就是一系列驻留在系统库中的程序,用来提供出其它程序来访问DNS 服务的端口。

       主域名服务器(master):他是一个domain信息的最根本的来源。他是所

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值