dns.docx
- 文档编号:12878120
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:30
- 大小:623.60KB
dns.docx
《dns.docx》由会员分享,可在线阅读,更多相关《dns.docx(30页珍藏版)》请在冰豆网上搜索。
dns
DNS定义
本文档将给大家介绍DNS的概念,域名的概念,DNS的查询方式。
DNS服务器搭建,辅助DNS服务器搭建。
查找过程
DNS是域名系统(DomainNameSystem)的缩写,它是由解析器和域名服务器组成的。
域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。
其中域名必须对应一个IP地址,而IP地址不一定有域名。
域名系统采用类似目录树的等级结构。
域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:
主服务器和转发服务器。
将域名映射为IP地址的过程就称为“域名解析”。
在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。
DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。
当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与之相关的其他信息,如IP地址。
因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。
其实,域名的最终指向是IP。
大家都知道,当我们在上网的时候,通常输入的是网址,其实这就是一个域名,而我们计算机网络上的计算机彼此之间只能用IP地址才能相互识别。
再如,我们去一WEB服务器中请求一WEB页面,我们可
以在浏览器中输入网址或者是相应的IP地址,例如我们要上新浪网,我们可以在IE的地址栏中输入网址,也可输入IP地址,但是这样子的IP地址我们记不住或说是很难记住,所以有了域名的说法,这样
的域名会让我们容易的记住。
DNS:
DomainNameSystem域名管理系统域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,这一命名的方法或这样管理域名的系统叫做域名管理系统。
.根
.com顶级域名
二级域名
三级域名
www主机名
四级域名
历史
DNS最早于1983年由保罗·莫卡派乔斯(PaulMockapetris)发明;原始的技术规范在882号因特网标准草案(RFC882)中发布。
1987年发布的第1034和1035号草案修正了DNS技术规范,并废除了之前的第882和883号草案。
在此之后对因特网标准草案的修改基本上没有涉及到DNS技术规范部分的改动。
早期的域名必须以英文句号“.”结尾,这样DNS才能够进行域名解析。
如今DNS服务器已经可以自动补上结尾的句号。
当前,对于域名长度的限制是63个字符,其中不包括www.和.com或者其他的扩展名。
域名同时也仅限于ASCII字符的一个子集,这使得很多其他语言无法正确表示他们的名字和单词。
基于Punycode码的IDNA系统,可以将Unicode字符串映射为有效的DNS字符集,这已经通过了验证并被一些注册机构作为一种变通的方法所采纳。
位置
提供DNS的是计算机,是安装了DNS服务器端软件的计算机。
服务器端软件既可以是基于类Unix操作系统,也可以是基于Windows操作系统的。
装好DNS服务器软件后,您就可以在您指定的位置创建区
域文件了,所谓区域文件就是包含了此域中名字到IP地址解析记录的一个文件(如文件名可能是这个文件的内容是这样的:
primarynameserver=dns2(主服务器的主机名是)
serial=2007042913(当前序列号是2007042913。
这个序列号的作用是当辅域名服务器来copy时候这个文件时,如果号码增加了就copy)
refresh=10800(3hours)(辅域名服务器每隔3小时查询一个主服务器)
retry=3600(1hour)(当辅域名服务试图在主服务器上查询更时,而连接失败了,辅域名服务器每隔1小时访问主域名服务器)
expire=604800(7days)(辅域名服务器在向主服务更新失败后,7天后删除中的记录。
)
defaultTTL=3600(1hour)(缓存服务器保存记录的时间是1小时。
也就是告诉202.96.209.5保存域的解析记录为1小时)
DNS查询过程:
本地hosts文件-本机DNS缓存-DNS服务器
实现方法
无论您是通过linux还是windows搭建dns服务器,原理都是一致的。
您可以把DNS服务器配置成以下3类之一:
1、主DNS服务器。
2、辅DNS服务器。
3、缓存DNS服务器。
目前国际域名的DNS必须在国际域名注册商处注册,国内域名的DNS必须在CNNIC注册,注册支持解析英文域名和中文域名的dns要分别注册:
(1)步骤:
选择做为DNS后缀的域名---创建dns服务器---选择是在国际注册还是国内注册-申请--交付费用
(2)费用:
约75元/年(一次性)
(3)条件:
如果注册国际DNS服务器的,dns服务器的名称必须是在具有条件的公司注册的国际英文域名才能注册,有独立IP地址,DNS服务器域名前的前缀最好是dns.ns.等DNS服务器
现在一般国内的域名注册商,提供DNS解析服务是免费的,但国外的注册商很多是DNS解析服务是收费的。
资源记录类型
SOA 起始授权机构,此记录指定区域的起点。
它所包含的信息有区域名、区域管理员电子邮件地址,以及指示辅DNS服务器如何更新区域数据文件的设置等。
A此记录列出特定主机名的IP地址。
这是名称解析的重要记录。
CNAME标准名称此记录指定标准主机名的别名。
MX邮件交换器此记录列出了负责接收发到域中的电子邮件的主机。
NS名称服务器此记录指定负责给指定区域的名称服务器。
主DNS服务器和辅DNS服务器
为保证服务的高可用性,DNS要求使用多台名称服务器冗余支持每个区域。
某个区域的资源记录通过手动或自动方式更新到单个主名称服务器(称为主DNS服务器)上。
主DNS服务器可以是一个或几个区域的权威名称服务器。
其它冗余名称服务器(称为辅DNS服务器)用作同一区域中主服务器的备份服务器,以防主服务器无法访问或宕机。
辅DNS服务器定期与主DNS服务器通讯,确保它的区域信息保持最新。
如果不是最新信息,辅DNS服务器就会从主服务器获取最新区域数据文件的副本。
这种将区域文件复制到多台名称服务器的过程称为区域复制。
域名查询的两种方式:
递归查询
递归查询是最常见的查询方式,域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态。
简单来说,客户机请求,DNS服务器会一定会返回结果,或者返回不存在。
DNS服务器会到处寻找解析记录。
迭代查询
迭代查询又称重指引,当服务器使用迭代查询时能够使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止,一般的,每次指引都会更靠近根服务器(向上),查寻到根域名服务器后,则会再次根据提示向下查找。
从下节的图中可以知道,B访问C、D、E、F、G,都是迭代查询,首先B访问C,得到了提示访问D的提示信息后,开始访问D,这时因为是迭代查询,D又返回给B提示信息,告诉B应该访问E,依次类推。
举例说明:
假设你要寻找一家你从未去过的公司,你会有2种解决方案,1是找一个人替你问路,那可能是你的助手,2是自己问路,每走过一个路口,就问一个人,这就好比递归查询和迭代查询,递归查询在这里代表你的第1种解决方案,而迭代则是第2种解决方案
示例:
(红色为查询,蓝色为迭代查询返回的提示信息,棕色为递归查询返回的IP信息)
示例说明:
A向B发送递归查询请求,B向C发送迭代查询请求,得到C给出的提示后,B向D发送迭代查询请求,得到D给出的提示后,B向E发出迭代请求,得到E给出的提示后,B向F发出迭代查询请求,得到F给出的提示后,B得到了F返回G的IP地址,B向A返回G的IP地址,整个查询结束。
反向解析,我们通过下面的例子来说明:
反向解析在邮件系统中的使用(PTR):
在垃圾邮件泛滥的今天,垃圾邮件给我们的生活、工作、学习带来了极大的危害。
由于SMTP服务器之间缺乏有效的发送认证机制,即使采用了垃圾邮件识别阻拦技术效果仍旧一般,再者垃圾邮件识别阻拦技术主要是在收到信件后根据一定条件进行识别的,需要耗费大量服务器资源,如果能在信件到达服务器之前就采取一定手段,这样就能大大提高服务器效率了。
因此,目前许多邮件服务器如,,等等都采用了垃圾邮件识别阻拦技术+IP反向解析验证技术以更好的阻拦垃圾邮件。
我们先来了解一下什么是IP反向解析。
DNS服务器里有两个区域,即“正向查找区域”和“反向查找区域”,反向查找区域即是这里所说的IP反向解析,它的作用就是通过查询IP地址的PTR记录来得到该IP地址指向的域名,当然,要成功得到域名就必需要有该IP地址的PTR记录。
那么IP反向解析是怎么被应用到邮件服务器中来阻拦垃圾邮件的呢?
我们来看看下面一个例子:
某天,阿Q到A公司拜访,他递上一张名片,名片上写着他来自“黑道杀人俱乐部”以及电话号码等信息,A公司觉得应该对阿Q的来历做个简单调查,于是打电话到阿Q名片上的电话号码所属电信局进行查实,如果电信局告诉A公司其电话号码不属于“黑道杀人俱乐部”,则A公司将拒绝阿Q的拜访,如果其电话号码的确属于“黑道杀人俱乐部”,A公司可能接受阿Q的拜访也可能进一步查实,于是就打电话到“黑道杀人俱乐部”所属注册机构查询,如果得到的答复确认该俱乐部确有此电话号码,则A公司将接受阿Q的拜访,否则仍将拒绝阿Q的拜访。
这个例子中,阿Q好比是我们的邮件服务器,A公司是对方邮件服务器,“黑道杀人俱乐部”就是我们邮件服务器与对方邮件服务器通信时所使用的HELO域名(不是邮件地址@后的域名),名片上的电话号码就是我们邮件服务器出口的公网IP地址。
A公司对阿Q进行调查的过程就相当于一个反向解析验证过程。
由此看出,反向解析验证其实是对方服务器在进行的,如果我们没有做反向解析,那么对方服务器的反向解析验证就会失败,这样对方服务器就会以我们是不明发送方而拒收我们发往的邮件,这也就是我们排除其它原因后(如被对方列入黑名单、没有MX记录、使用的是动态IP地址等等)在没做反向解析时无法向、发信的原因。
那么我们应当如何顺利做好反向解析?
首先要有固定公网IP地址、可用域名(最好不要被其它服务所用),例如您有lunch-的域名,您可以要求您的域名注册商为您添加一个okmail.lunch-的域名,并将其A记录指向您的SMTP服务器出口公网IP地址,如:
220.112.20.18,接着请与您的固定IP所属ISP联系要求为您的IP反向解析至okmail.lunch-。
完成后别忘了将您的SMTP服务器的HELO域名改为okmail.lunch-,这样才可以达到目的。
1、查看反向解析是否成功,可用如下命令:
nslookup–qt=ptryourIP,从返回的信息中您可以看到反向解析的结果。
nslookup–qt=a
2、一定要有固定公网IP地址以及真实可用域名。
同时要注意反向解析的域名的A记录一定要指向该IP!
3、对于有多个固定公网IP地址的,只要做主要出口IP的反向解析即可,不管您有多少SMTP服务器,只要是通过该IP连接至外网就将这些SMTP服务器的HELO域名改成IP反向解析之域名即可。
(和这些SMTP服务器上的地址域是无关的)
很遗憾的是,一般我们很难在ISP那里做反向解析,除非比较有影响力的公司,才可以做到,一般是不会给我们添加反向解析记录的。
SPF是为了防范垃圾邮件而提出来的一种DNS记录类型
它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。
例如:
digTXT
.27970INTXT"v=spf1ip4:
202.105.45.0/24ip4:
61.140.60.0/24ip4:
202.123.79.206ip4:
220.232.167.218ip4:
221.192.129.0/24
ip4:
59.36.102.0/24-all"
按照SPF的格式在DNS记录中增加一条TXT类型的记录,将提高该域名的信誉度,同时可以防止垃圾邮件伪造该域的发件人发送垃圾邮件。
SPF是跟DNS相关的一项技术,它的内容写在DNS的txt类型的记录里面。
mx记录的作用是给寄信者指明某个域名的邮件服务器有哪些。
SPF的作用跟mx相反,它向收
信者表明,哪些邮件服务器是经过某个域名认可会发送邮件的。
由定义可以看出,SPF的作用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件。
例如:
当coremail邮件服务器收到自称发件人是spam@的邮件,那么到底它是不是真的的邮件服务器发过来的呢?
那么我们可以查询的SPF记录
辅助服务器的优点:
1)容错能力
配置辅助服务器后,在该区主服务器崩溃的情况下,客户机仍能解析该区的名称。
一般把区的主服务器和区的辅助服务器安装在不同子网上,这样如果到一个子网的连接中断,DNS客户机还能直接查询另一个子网上的名称服务器。
2)减少广域链路的通信量
如果某个区在远程有大量客户机,用户就可以在远程添加该区的辅助服务器,并把远程的客户机配置成先查询这些服务器,这样就能防止远程客户机通过慢速链路通信来进行DNS查询。
3)减轻主服务器的负载
辅助服务器能回答该区的查询,从而减少该区主服务器必须回答的查询数。
DNS查询原理及流程
DNS相关概念
(1)DNS服务器
运行DNS服务器程序的计算机,储存DNS数据库信息。
DNS服务器会尝试解析客户机的查询请求。
在解答查询时,如果DNS服务器能提供所请求的信息,就直接回应解析结果,如果该DNS服务器没有相应的域名信息,则为客户机提供另一个能帮助解析查询的服务器地址,如果以上两种方法均失败,则回应客户机没有所请求的信息或请求的信息不存在。
(2)DNS缓存
DNS服务器在解析客户机请求时,如果本地没有该DNS信息,则可以会询问其他DNS服务器,当其他域名服务器返回查询结果时,该DNS服务器会将结果记录在本地的缓存中,成为DNS缓存。
当下一次客户机提交相同请求时,DNS服务器能够直接使用缓存中的DNS信息进行解析。
(3)资源记录
DNS服务器的信息数据,按照分类进行存储,能够解析客户端的DNS请求。
(4)区文件
包含区资源记录的文件,选择DNS服务器为授权服务器,管理该区域。
在大部分DNS实现中,用文本文件实现区。
递归查询和迭代查询
(1)递归查询
递归查询是一种DNS服务器的查询模式,在该模式下DNS服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。
如果DNS服务器本地没有存储查询DNS信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。
(2)迭代查询
DNS服务器另外一种查询方式为迭代查询,DNS服务器会向客户机提供其他能够解析查询请求的DNS服务器地址,当客户机发送查询请求时,DNS服务器并不直接回复查询结果,而是告诉客户机另一台DNS服务器地址,客户机再向这台DNS服务器提交请求,依次循环直到返回查询的结果为止。
1)正向解析
正向解析是指域名到IP地址的解析过程。
2)反向解析
反向解析是从IP地址到域名的解析过程。
反向解析的作用为服务器的身份验证。
1.8资源记录
为了将名字解析为IP地址,服务器查询它们的区(又叫DNS数据库文件或简单数据库文件)。
区中包含组成相关DNS域资源信息的资源记录(RR)。
例如,某些资源记录把友好名字映射成IP地址,另一些则把IP地址映射到友好名字。
某些资源记录不仅包括DNS域中服务器的信息,还可以用于定义域,即指定每台服务器授权了哪些域,这些资源记录就是SOA和NS资源记录。
1)SOA资源记录
每个区在区的开始处都包含了一个起始授权记录(StartofAuthorityRecord),简称SOA记录。
SOA定义了域的全局参数,进行整个域的管理设置。
一个区域文件只允许存在唯一的SOA记录。
2)NS资源记录
名称服务器(NS)资源记录表示该区的授权服务器,它们表示SOA资源记录中指定的该区的主和辅助服务器,也表示了任何授权区的服务器。
每个区在区根处至少包含一个NS记录。
3)A资源记录
地址(A)资源记录把FQDN映射到IP地址,因而解析器能查询FQDN对应的IP地址。
4)PTR资源记录
相对于A资源记录,指针(PTR)记录把IP地址映射到FQDN。
5)CNAME资源记录
规范名字(CNAME)资源记录创建特定FQDN的别名。
用户可以使用CNAME记录来隐藏用户网络的实现细节,使连接的客户机无法知道。
6)MX资源记录
邮件交换(MX)资源记录为DNS域名指定邮件交换服务器。
邮件交换服务器是为DNS域名处理或转发邮件的主机。
处理邮件指把邮件投递到目的地或转交另一不同类型的邮件传送者。
转发邮件指把邮件发送到最终目的服务器,用简单邮件传输协议SMTP把邮件发送给离最终目的地最近的邮件交换服务器,或使邮件经过一定时间的排队。
DNS理论和概念了解得差不多了,下面我们开始DNS安装和配置
Bind是BerkeleyInternetNameDomainService的简写,它是一款实现DNS服务器的开放源码软件。
Bind原本是美国DARPA资助伯克里大学(Berkeley)开设的一个研究生课题,后来经过多年的变化发展,已经成为世界上使用最为广泛的DNS服务器软件,目前Internet上绝大多数的DNS服务器有都是用Bind来架设的。
DNS服务介绍
后台进程:
named
脚本:
/etc/rc.d/init.d/named
使用端口:
53(tcp,udp)
所需RPM包:
bind-9.3.3-10.el5
相关RPM包:
bind-chroot
caching-nameserver
配置文件:
/var/named/chroot/etc/named.conf
相关路径:
/var/named/
1990年以后,bind-chroot增加了bind服务器的安全性,早期Linux服务都是以root权限启动和运行的,随着技术的发展,各种服务变得越来越复杂,导致BUG和漏洞越来越多。
黑客利用服务的漏洞入侵系统,能获得root级别的权限,从而控制整个系统。
为了减缓这种攻击所带来的负面影响,现在服务器软件通常设计为以root权限启动,然后服务器进程自行放弃root,再以某个低权限的系统账号来运行进程。
这种方式的好处在于该服务被攻击者利用漏洞入侵时,由于进程权限很低,攻击者得到的访问权限又是基于这个较低权限。
bind的主配置文件/etc/named.conf,我们先安装bind服务器
bind-9.3.3-10.el5.i386.rpm
bind-libbind-devel-9.3.3-10.el5.i386.rpm
bind-sdb-9.3.3-10.el5.i386.rpm
bind-devel-9.3.3-10.el5.i386.rpm
caching-nameserver-9.3.3-10.el5.i386.rpm
bind-chroot-9.3.3-10.el5.i386.rpm
bind的配置文件默认是没有的,需要自己手写,但是很多,容易写错,所以我们安装模板文件,然后来修改。
由于安装了chroot环境,所以我们的/etc/named.conf 应该在/var/named/chroot/etc/目录。
6.0版本需要注意。
1,服务配置文件在/etc/named.conf
2,区域配置文件在/var/name/
cp/var/named/chroot/etc/named.caching-nameserver.conf/var/named/chroot/etc/named.conf
编辑named.conf这个文件,把文件里面多余的东西删除了,只剩下如图中的内容,然后我们来写
先检查主机的名字,使用hostname
记住,linux的主机名要是FQDN的样式,把你们自己的主机名字改改,这个很重要的。
刚才讲了FQDN最后有根域的,把那个跟域去掉,就是你的主机名,改成那个样子。
linux修改主机名字修改三个地方,不知道大家还记得不?
第一步:
hostname主机名
第二步:
vim/etc/hosts
第三步:
vi/etc/sysconfig/network
修改完了把终端关闭了,然后重新打开就可以了
修改完了,我们继续
下面我以这个二级域名来建立一个域名服务器
全局配置(options)
options语句在每个配置文件中只有一个。
如果出现多个options,则第一个options的配置有效,并会产生一个警告信息。
listen-onport53{127.0.0.1;};
监听端口,修改成自己的IP地址,如果有多个IP,就写多个,每行要以;结束。
directory "/var/named";
zone文件的存放目录,这里的/var/named是相对目录,在chroot环境下/var/named目录下。
allow-query {localhost;};
允许查询的client,我们修改成本地网段192.168.1.0/24
下面我们开始写zone文件
区域配置(zone)
zone语句作用是定义DNS区域,在此语句中可定义DNS区域选项
zone区域设置,第一步,设置根区域
当DNS服务器处理递归查询时,如果本地区域文件不能进行查询的解析,就会转到根DNS服务器查询,所以在主配置文件named.conf文件中还要定义根区域。
zone"."IN{
typehint;
file"named.ca";
};
type:
设置域的类型
file:
设置根服务列表文件名
“.”意思的根区域
IN是internet记录
type是类型根的类型是hint
file是根区域文件
下面我们去看看根区域文件,根的类型
这些就是根服务器,数数,全球13台。
继续,指定正向解析的配置文件
记住,bind对配置文件要求很严格,就算是有些地方多了个空格,服务器都可能启动不了。
反向解析配置文件
一个简单的named
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dns