我们知道用户在与互联网上的主机通信时,必须知道对方的 IP 地址。但是每个 IP 地址都是由 32 位的二进制组成,即使是十进制的 IP 地址表示形式,用户想要记住也是很难的一件事,况且互联网有那么多的主机。
互联网中的主机通常不仅仅只有 IP 地址,还有对应的便于用户记忆的主机名字,比如 www.baidu.com/。产生于应用层上的域名系统 NDS(Domain Name System)就可以用来把互联网上的主机名转换成 IP 地址。
互联网中的域名系统 DNS 被设计成一个层次树状结构的联机分布式数据库系统,并且采取的是客户服务器的方式。DNS 使大多数名字都在本地进行解析,只有少量的解析需要在互联网通信,因此效率很高。采取分布式的一个好处是,即使单个计算机出了故障,也不会妨碍 DNS 系统的正常运行。
域名到 IP 地址的解析是通过许多分布在互联网上的域名服务器完成的。解析的主要过程如下:当一个主机中的进程需要把域名解析为 IP 地址时,该进程就会调用解析程序,并成为 DNS 的 一个客户,把待解析的域名放在 DNS 的请求报中,以 UDP 用户数据报方式发送给本地域名服务器。本地域名服务器在查找域名后,把对应的 IP 地址放在回答报文中返回。获得 IP 地址的后主机即可进行通信。
我们通过域名树的方式来查看域名的结构,可以看出来,它实际上是一个倒过来的树,最上面的是根,没有对应的名字。因为根没有名字,所以根下面的一级节点就是顶级域名,往下同理。我们以 www.baidu.com/ 为例,www 是三级域名,baidu 是二级域名,com 是顶级域名,各级域名之间通过 . 相连。每个互联网上的主机域名都对应一个 IP 地址,并且这个域名在互联网中是唯一的。
根据域名服务器所起到的作用,可以把域名服务器分为四种不同的类型。
(1)根域名服务器
根域名服务器(root name server)是最高层次的域名服务器,也是最重要的域名服务器,全球共设有 13 个根域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址。当其他的域名服务器无法解析域名时,会首先求助于根域名服务器。假如所有的根域名服务器都挂了,那么整个互联网的 DNS 系统就无法工作了,因为采取的分布式结构,所以只要有一台能够正常工作,互联网的 DNS 系统就不会受到影响。
(2)顶级域名服务器(TLD)
顶级域名服务器(top-level-domain) 负责管理在该顶级域名服务器上注册的所有二级域名。当收到 DNS 查询请求时,就给出相应的回答。
(3)权限域名服务器
它是负责一个区的域名服务器,当一个权限域名服务器没有给出最后的查询结果时,就会告诉发出查询请求的 DNS 客户,下一步应当查询哪一个权限域名服务器。
(4)本地域名服务器
本地域名服务器(local name server)并不属于上面图示的服务器层次结构,但是它在域名服务系统却发挥着至关重要的作用。当一台主机发出 DNS 查询请求时,这个查询请求报文就会发送给本地域名服务器。每一个互联网提供者,或者一个大学,甚至小到一个学院,都可以拥有一台本地域名服务器,这种域名服务器也被称为默认域名服务器。我们本地网络服务连接的域名服务器指的就是本地域名服务器。
域名解析查询的方式有两种:迭代查询与递归查询。
(1)迭代查询
本地域名服务器向根域名服务器的查询方式通常采取迭代查询(iterative query)。迭代查询有以下的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“我这里没有你要的查询结果,你需要向哪一台域名服务器进行查询”。然后本地域名服务器进行后续的查询(不替代本地域名服务器)。
(2)递归查询
主机向本地域名服务器的查询一般都采用递归查询(recursive query)。所谓的递归查询就是:如果主机所询问的本地域名服务器不知道被查出来的域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文(替代该主机继续查询),而不是主机自己进行下一步的查询。因此,递归查询返回的结果要么是所查询的 IP 地址,要么报错,表示无法查到所需要的 IP。
针对上面两种方式,我们可以知道不管是递归查询还是迭代查询,都会发送 8 个 UDP 用户数据报的报文。为了提高 DNS 的查询效率,减轻根域名服务器的负荷和 DNS 数据报的查询数量,在域名服务器中广泛地使用了高速缓存。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
假设我们要查询www.baidu.com/域名对应的 IP 地址,如果本地域名服务器上有该域名对应的 IP 地址,那么可以直接从本地域名服务器上获得对应的 IP 地址,而不需要到根域名服务器上进行查询。当本地域名服务器查询不到 IP 地址时,本地域名服务器也可以不向根域名服务器发送请求报文,而是直接向顶级域名服务器发送查询请求报文。
不仅在本地域名服务器中有高速缓存,在主机中也有。很多主机在启动的时候从本地域名服务器下载名字和地址的全部数据库,维护存放自己使用的域名的高速缓存,只有在缓存中找不到名字时才使用域名服务器。
BIND(Berkeley Internet Name Domain,伯克利因特网名称域)服务是全球范围内使用最广泛、最安全可靠且高效的域名解析服务程序。DNS域名解析服务作为互联网基础设施服务,其责任之重可想而知,因此建议大家在生产环境中安装部署bind服务程序时加上chroot(俗称牢笼机制)扩展包,以便有效地限制bind服务程序仅能对自身的配置文件进行操作,以确保整个服务器的安全。
BIND(Berkeley Internet Name Daemon) 伯克利Internet域名服务 相关软件包 bind-9.9.4-37.el7.x86_64.rpm bind-untils-9.9.4-37.el7.x86_64.rpm bind-libs-9.9.4-37.el7.x86_64.rpm bind-chroot-9.9.4-37.el7.x86_64.rpm
主要执行程序: /usr/sbin/named 默认监听端口:53 TCP负责连接控制,UDP负责快速解析 主配置文件: /etc/bind/named.conf 保存DNS解析记录的数据文件位于 /var/named/
全局配置部分 设置DNS服务器的全局参数 包括监听地址/端口、数据文件的默认位置等 使用options { … };的配置段
设置本服务器提供域名解析的特定DNS区域 包括域名、服务器角色、数据文件名等 使用zone “区域名” IN { … }; 的配置段
邮件交换记录(MX)解析
第一步:先将域名mail.XXX.XXX用A记录解析到对应服务器IP,如:这里将mail.etlfreight.com用A记录解析到122.49.1.217;
第二步:将域名XXX.XXX用MX解析到mail.XXX.XXX,如这里将etlfreight.com用MX解析到mail.etlfreight.com;
主域名服务器:通常架设在Internet环境中,提供某一个或某几个域内的主机名与IP地址的查询服务。
从服务器:为了分担域名查询的压力,提供区域数据的备份,有时还会另外架设一台从域名服务器,与主域名服务器同时提供服务。
DNS的分离解析,是指根据不同的客户端提供不同的域名解析记录。来自不同地址的客户机请求解析同一域名时,为其提供不同的解析结果。也就是内外网客户请求访问相同的域名时,能解析出不同的IP地址,实现负载均衡。 比如说,国内有一家跨国公司,而且这家公司业务非常繁忙,如果把此公司的web服务部署在北京机房,国外的用户访问速度肯定会受到限制。但如果把web服务部署在国外机房,国内用户的访问速率也肯定会很慢。 那么,怎么来解决我们这个问题呢?这就是我们今天要说的DNS分离解析技术
第一步、DNS服务器加一块网卡、配置双网卡ip地址
因为这里是copy ens33的UUID所以要注释掉、 别忘了把网卡名字改了 配置外网的win10的ip以及dns
第二步、配置dns主配置文件
如下、直接改成any就行
第三步、更改区域文件
区域文件直留着这些,剩下全部干掉 然后重新回到主文件内 将这段复制过后直接干掉
第四步 配置区域数据文件
外网wan配置文件 内网lan配置文件
第五步、使得dns服务器具有路由功能,内网和外网互通
具体编辑如下
第六步、启动服务 、关闭防火墙、增强型安全防护
不仅服务器要关 其它两台也得关
第七步、验证
这时已经解析出来了,
以上就是本篇文章【搞它!!!深入了解DNS域名解析服务,教你搭建一个属于自己的DNS服务器(正向解析、反向解析、泛域名解析、邮件交换解析、别名解析、分离解析,主从结构解析)】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/2600.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多