`
xitong
  • 浏览: 6178584 次
文章分类
社区版块
存档分类
最新评论

DNS域名解析系统简介

 
阅读更多


DNS域名解析


域名解析的目的是将方便用户使用的网站名称转化为TCP/IP协议真正能够使用的IP地址,hostname只是方便人们记忆,毕竟IP这种纯数字的地址对用户非常的不友好。但计算机在使用TCP/IP通信时是通过IP地址+port端口号来实现的,因此,当我们在浏览器键入一个主机名时,最终还需要将它转化为IP地址的形式才可以真正访问到源服务器。

/etc/hosts:通过在Client端的文件内输入主机名称对应的IP来查询;

DNS系统:利用额外的DNS服务,让Client端可以通过名称解析来取得目的主机的IP。

一个url地址如下,它包括几个部分:协议名称、主机名称、端口号等。


http://www.google.com.hk:80
-------------------------------
scheme host namedomain name port
http google com.hk 80 is default value




域名的层次结构:top域名:如.com、.mil、.net、org、.gov、.edu等或国码(如.cn、.jp、.uk、.us等)。

DNS采用分层架构,任何一台DNS服务器都仅记录下一层主机名称对应的IP地址。
以http://www.google.com.hk:80为例,浏览器会根据Client的设置访问一台DNS服务器(假设名称为X),DNS X服务器首先会查找本身有没有对应的记录,如果有被检索的IP就直接返回给Client,否则将向其它DNS服务器进一步查询,整个过程如下:
1、先到root主机查询,查找到这是.hk这台机器的数据;
2、到.hk查询,而该台机器管理的仅有.edu.hk、.com.hk、.gov.hk等几台主机,经过对比发现,我们要的是.com.hk的网段,所以这时.hk告诉我们应该去.com.hk这个网段的主机哪里查询;
3、这样一步步下来,.com.hk可以查到管理google.com.hk的主机IP地址;

4、查到google的IP地址之后,DNS X服务器不会在下次有人查询google.com.hk时再经历一次这样的流程,因为这太浪费时间和网络带宽了。DNS X服务器现在自己的缓存中记录一份google.com.hk对应IP的信息,以便下一次他人对同一个主机名称的查询请求,最后将结果回报给Client端。

当然,记忆在缓存中的数据是有时间性的,当过了DNS设置的记忆时间后(比如24小时),该记录会被释放。在DNS的缓存内存记录中,由于有时间限制,当源服务器名称在DNS中被修改后,由于之前的旧信息还记忆在其他DNS主机的内存缓存里,所以,可能通过别人的DNS主机来查询源服务器名称时会得到先前的旧信息,这个延时通常在2天左右。



DNS监听的端口号是53(在/etc/services文件中可以查询到),它是以UDP这个较快的数据传输协议来查询的。但是万一没有办法查询到完整的信息,就会再次以TCP协议重新查询,所以启动DNS的daemon(即named)时,会同时启动TCP及UDP的53号端口。

DNS系统最主要的功能就是互查主机名与IP,由于计算机在网络上只认识IP地址,所以,一般来说,由主机名查找IP的过程为正解;由IP查询得到主机名为反解。
DNS的主要配置文件是/etc/named.conf,这个文件记录了每一个Zone的配置文件名。实际上,hostname与IP的对应就是记录在各个Zone的配置文件内。
/etc/named.conf:配置文件;
/etc/sysconfig/named:由该文件控制是否启动chroot及额外的参数,该文件是由/etc/init.d/named启动时读入的;
/var/named/:数据库文件默认放在次目录中;
/var/run/named:named程序执行时默认将pid-file放置在此目录内;


下面转载一篇关于DNS相关配置文件的说明文档:

. /etc/host.conf
当系统中同时存在DNS域名解析和/etc/hosts主机表机制时,由该/etc/host.conf确定主机名解释顺序。示例:
order hosts,bind #名称解释顺序
multi on #允许主机拥有多个IP地址
nospoof on #禁止IP地址欺骗
order是关键字,定义先用本机hosts主机表进行名称解释,如果不能解释,再搜索bind名称服务器(DNS)。

. /etc/resolv.conf
该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数。resolv.conf的关键字主要有四个,分别是:
nameserver #定义DNS服务器的IP地址
domain #定义本地域名
search #定义域名的搜索列表
sortlist #对返回的域名进行排序
/etc/resolv.conf的一个示例:
domain ringkee.com
search www.ringkee.com ringkee.com
nameserver 202.96.128.86
nameserver 202.96.128.166
最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。

. /etc/hosts
设置IP地址与主机名对应表,可用该文件来进行主机名称解释。如:
#格式:IP地址 主机名 别名
127.0.0.1 localhost localhost.localdomain
192.168.1.1 debian debian
192.168.0.2 t02 t02.tiger
192.168.0.4 t04 t04.tiger


./etc/name.conf
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
  这一部分是你安装了bind软件后系统自动产生的named.conf文件的原始内容。“directory”指定了dns记录文件的存放目录是/var/named。“//”开头的文字是说明文字,不用管它。接着的两个“zone”语句定义了dns服务器的根和对应的反向查询域,并指出根的记录文件是“name.ca”,根的反向查询域的记录文件是“named.local”。这两个记录文件也是系统自带的,不用去改动它。named.conf文件的这一部分内容,我们不必去改动它。
  但我们可以在“diretory”下添加一行:forwarders {202.96.134.133;}。202.96.134.133是我这里电信的dns服务器的地址,forwarders参数指明了其后的ip所在的服务器作为备选的dns服务器。也就是说,把本机的dns不能解析的主机发送到这个备选的dns服务器上,让它来进行解析。
zone "zrs.com" IN {
type master;
file "named.zrs.com";
allow-update { none; };
};
zone "0.0.10.in-addr.arpa" IN {
type master;
file "named.zrs.com.rev";
allow-update { none; };
};
  这一部分是手工添加的。定义了“zrs.com”这个域和对应的反向查询域。“type master”说明本机是“zrs.com”和“0.0.10.in-addr.arpa”这两个域的主dns服务器(primary name server)。“named.zrs.com”和“named.zrs.com.rev”是域的记录文件。这两个文件也是自己创建的,下面我们就来看看这两个文件。


./var/named/naemd.***.com
资源记录文件,位于/var/named目录下。这个目录是named.conf中定义的。
1、named.zrs.com文件内容如下:
@ IN SOA netfinity.zrs.com. root.netfinity.zrs.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS netfinity.zrs.com.
IN MX 10 netfinity.zrs.com.
netfinity IN A 10.0.0.211
lily IN A 10.0.0.139
www IN CNAME netfinity.zrs.com.
pop3 IN CNAME netfinity.zrs.com.
smtp IN CNAME netfinity.zrs.com.
  在这个记录文件中,出现了5种类型的记录。SOA 是授权起始(Start Of Authority)的缩写,后面接着写你的dns服务器的主机名,这里是“netfinity.zrs.com.”。(注意,主机名称后面的小圆点。凡是出现在记录文件了的主机名,记得都要加上这各小圆点。)NS 是名称服务器资源记录,指明域中的名称服务器,这里就是dns服务器。MX是邮件交换者资源记录,指明这个域的邮件服务器。你可以写多个MX记录,指明多个邮件服务器,优先级别由MX后的数字决定,数字越小,邮件服务器优先权越高。A是主机记录,把主机和ip地址对应起来。CNAME是别名记录,它赋予一个主机不同的名称,如
www.zrs.com
、pop3.zrs.com其实都是指向同一台主机netfinity.zrs.com。


./var/named/naemd.***.com.rev
named.zrs.com.rev文件内容:
@ IN SOA netfinity.zrs.com. root.netfinity.zrs.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS netfinity.zrs.com.
211 IN PTR netfinity.zrs.com.
139 IN PTR lily.zrs.com.
  这是“zrs.com”的反向域记录文件,它让dns服务器提供由ip地址查找主机名的服务。PTR记录把ip和主机名对应起来。由于一些程序会要求反向查询,所以反向查询域的记录文件最好不要省略。
到此为止,你已经成功配置了一个dns服务器,它能够解析“zrs.com”这个域了。


分享到:
评论

相关推荐

    DNS 域名服务协议

    DNS 域名服务协议DNS 域名服务协议DNS 域名服务协议DNS 域名服务协议

    WinMyDNS智能DNS解析系统 v1.66.zip

    3,支持中文域名解析,不需编码,完全象英文域名一样解析,除支持普通A,MX,CNAME解析外,还支持PTR反向解析及DNS转发查询。 4,最方便的地方是DNS配置信息全部保存在ACCESS或MSSQL数据库中,只要对数据库的记录增减修改...

    动态域名解析服务系统简介

    介绍动态域名解析系统(DDNS)了解该系统的架构及工作原理,并且对与动态域名解析系统相关的几个问题进行了讨论。

    楹栋DNSpod域名解析系统 v1.30.zip

    楹栋DNSpod域名解析系统简介 楹栋DNSpod域名解析系统可以通过DNSpod建立自己的域名解析平台,可向用户提供独立的控制面板。 系统功能: 1 增加、修改、删除DNSpod用户中的域名 2 同步、同步全部DNSpod用户中的...

    论文研究-基于P2P技术的分布式域名解析系统的设计与实现 .pdf

    基于P2P技术的分布式域名解析系统的设计与实现,沈佳培,高占春,在互联网上,一个网站的域名和它的IP地址是以一对一的形式存在,我们通过DNS 域名解析服务器来保存所有主机的域名和对应IP地址,并�

    楹栋DNSpod域名解析系统

    楹栋DNSpod域名解析系统可以通过DNSpod建立自己的域名解析平台,可向用户提供独立的控制面板。 系统功能: 1 增加、修改、删除DNSpod用户中的域名 2 同步、同步全部DNSpod用户中的域名到本地 3 可以设置域名的注册...

    曲奇智能DNS解析系统CookyDNS r11

    曲奇智能DNS解析系统(CookyDNS)(以下简称CookyDNS)提供域名授权解析服务,他是完全自主开发的DNS服务器软件,不是BIND或这NSD之类的DNS软件的修改产品,可以快速简单安装,配置简单、并且有设置向导和安装程序、安全...

    行业分类-外包设计-域名解析方法、DNS递归服务器及域名解析系统的说明分析.rar

    行业分类-外包设计-域名解析方法、DNS递归服务器及域名解析系统的说明分析.rar

    Linux操作系统:DNS服务器简介.pptx

    汇报人姓名 DNS服务器简介 单击此处添加副标题 DNS系统 DNS(Domain Name System,域名系统)是一个分布式数据库系统,其作用将域名解析成IP地址。 好记的名字 IP地址 ...DNS域名解析类型 DNS概念

    基于Centos7.4的DNS的解析原理和相应的配置文件,完成DNS服务器的配置和测试.docx

    其中通过域名解析出ip地址的叫做正向解析,通过ip地址解析出域名的叫做反向解析。 2)、DNS的配置文件有: /etc/named.conf 主配置文件 服务器主要运行参数 /etc/named.rfc1912.zones 区域文件,主要指定要解析哪个...

    dns协议解析包 v1.0源码

    一般的做法是调用系统的api:“dnsapi",或者使用nslookup获取信息然后重定向他的输出记录并分析。 以上两类方法各有缺点,如使用api,比较麻烦;使用nslookup可能速度上不太如意,还要判断很多信息。 鉴于以上...

    域名(DNS)解析

    DNS 是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由解析器以及域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器,...

    DNS服务器 支持泛域名解析的设置方法 [修正版本]

    然而,维护这些二级域名的工作量非常大,不过我们可以采用泛域名解析技术来解决这个难题,只要稍加设置Windows系统自带的DNS服务器就可以实现对泛域名的支持。 下面分别以Windows Server 2003、Windows 2000的DNS...

    楹栋DNSpod域名解析系统 asp版 v1.20-ASP源码.zip

    ASP源码,压缩包解压密码:www.cqlsoft.com

    CookyDNS曲奇智能DNS解析系统r9

    曲奇智能DNS解析系统(CookyDNS)(以下简称CookyDNS)提供域名授权解析服务,他是完全自主开发的DNS服务器软件,不是BIND或这NSD之类的DNS软件的修改产品,可以快速简单安装,配置简单、并且有设置向导和安装程序、...

    曲奇智能DNS解析系统(CookyDNS) r11.zip

    曲奇智能DNS解析系统(CookyDNS)(以下简称CookyDNS)提供域名授权解析服务,他是完全自主开发的DNS服务器软件,不是BIND或这NSD之类的DNS软件的修改产品,可以快速简单安装,配置简单、并且有设置向导和安装程序、...

    DNS数据包解析信息

    对于初学者,你可以把DNS域名解析系统理解成为一种ip地址与域名地址(网址)的转换(可逆)的技术

    2-Windows中的DNS服务——正向解析&反向解析配置.docx

    DNS是计算机域名系统(Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。...

    建设域名解析业务管理系统

    根据工信部的要求,互联网域名递归解析服务提供者应当建设域名递归解析服务管理系统(DRMS),并与电信主管部门侧的递归解析监管系统(DRSS)对接,以实现对其所服务范围内所有域名递归服务业务单元的管理。...

    dns.rar_C语言DNS_DNS C语言_dns c语言实现_dns解析_springfog

    unix系统下一个C语言实现的dns域名解析

Global site tag (gtag.js) - Google Analytics