DNS三部曲之DNS的迭代、递归、转发

一、DNS迭代与递归

 

DNS的迭代和递归就是一个概念,在正常的完成一整串DNS查询流程的时候,我们需要用这么一个概念来区分它们。

递归:A查询B,如果B找不到,那么就会B向C发起请求,直到找到请求,后将结果发送給A.

迭代:A查询B,如果B找不到,但是知道C有,那么告诉B的C服务器地址,让B去向C服务器发起请求。

其实不必纠结它们细节的称呼,如果我面试一个人,能答出这句话,我就算他这题过了。

 

1、bind关闭递归测试

options{

        directory" /var/named";

        recursion no; 

};

zone "imoocc.com" {

        typemaster;

        file"imoocc.com.zone";

};

zone "iaskjob.com" {

        typemaster;

        file"iaskjob.com.zone";

};

zone "11.156.10.in-addr.arpa" {

        typemaster;

        file"10.156.11.zone";

};

客户端查看效果:

2、客户端默认发起递归查询

[root@Iaskjob opt]# dig @www.iaskjob.com www.imooccc.com

 

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6 <<>> @www.iaskjob.com www.imooccc.com

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 55372

;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; WARNING: recursion requested but not available

 

;; QUESTION SECTION:

;www.imooccc.com.INA

2、客户端发起迭代查询请求

dig +norecurse @199.7.91.13 www.imoocc.com

dig +norecurse @192.33.14.30 www.imoocc.com

dig +norecurse @111.30.136.110 www.imoocc.com

 

二、NS记录

在我答案中,我没有确定的域名,但是能告诉你谁能有这个更精确的答案。

服务器和服务器的的迭代查询也是一个道理,我们接触比较多的就是DNS的子域授权。


父域


imooc.com


子域


test.imoocc.com

1、案例搭建子域授权系统

A服务器(IP:30.96.8.232) 负责imoocc域名解析,并授权B服务器test.imoocc.com的域名解析

A服务器:

$TTL 7200

@  IN  SOA  imoocc.com.   jeson.imoocc.com. (222 1H 15M 1W 1D) 

imoocc.com.   IN    NS    dns1.imoocc.com.

dns1  IN A  10.156.11.232

www  IN  A  115.182.41.180

@ IN  MX10  mail

mail   IN   A  10.156.11.233

test.imoocc.com.  IN  NS  ns1.test     --将test.imoocc.com的这个子域授权給了ns1.test 30.96.8.233来作

ns1.test         IN      A    30.96.8.233

~                            

B服务器(IP:30.96.8.233),完成整段子域授权:

$TTL 7200                                                                       

@ IN SOA  test.imoocc.com.  jeson.test.imooccc.com. (222 1H 15M 1W 1D) 

    IN NS dns1

dns1   IN     A  30.96.8.233

www   IN     A  30.96.8.233

 2、客户端测试

dig @30.96.8.232 www.test.imoocc.com -trace

 

三、DNS转发

如果我没法解析,那么我就指定一台DNS来解析。

注意:bind9版本后,可以支持指定域来转发。

 

说明:这里要注意,转发器本身不用做任何设置,而是对需要转发器的其他 DNS server 做以上配置。还有,如果该 DNS Server 无法联系到转发器,那么 BIND 会自己尝试解析。
如果你要禁止 BIND 在无法联系到转发器时不做任何操作,那么你还可以使用 forward only 命令,这样 BIND 只能使用区的权威数据和缓存来响应查询了( 在连接不到转发器的情况下 )。

forward first说明先把dns请求转发出去然后再查本机的dns记录

1、场景演练

B服务(30.96.8.233)

设置将iaskjob.com这个域,转发由A服务器解析

vim name.conf

zone "iaskjob.com" {

                type forward;

                forwarders { 30.96.8.232; };

};

 

A服务器(30.96.8.232)

设置机器的权威域

$TTL 7200

iaskjob.com.                IN   SOA     iaskjob.com.iaskjob.163.com. ( 20140122

100 1H 15M 1W 1D)  

iaskjob.com.       IN   NS      dns1.iaskjob.com.

dns1.iaskjob.com.  IN   A       10.156.11.232    

www  IN   A       10.156.11.232   

2、客户端测试

 dig @30.96.8.233 www.iaskjob.com -trace

时间: 2024-11-03 04:16:50

DNS三部曲之DNS的迭代、递归、转发的相关文章

DNS三部曲之DNS主从复制

一.DNS中的区域 区域名称解析分为两类,一个是正向解析区域,一个是反向解析区域 区域传送类型      axfr    完全区域传送-------->传送区域内的所有解析信息 -------->第一次完成主从配置后全量.      ixfr     部分区域传送-------->只传输变化的内容 ---------------> 配置后,采用增量传输的模式.   二.主从同步原理 三.主从模式配置 A服务器主服务器(30.96.8.232) B服务器从服务器 (30.96.8.2

怎么修改DNS Win8修改DNS服务器地址的具体步骤图解

在网络优化以及网络安全防护中,我们可能会需用用到修改DNS服务器地址的情况,接下来小编就来与大家分享下怎么修改DNS地址,这里以目前最新的Win8系统为例,教您如何修改电脑DNS地址,有需要的朋友不妨参考下. 怎么修改DNS Win8修改DNS服务器地址方法 如果您不知道DNS是什么,那么建议您先阅读下:dns是什么 dns服务器是什么? 了解了DNS,以及其作用后,下面我们就来与大家分享下Win8如何修改DNS服务器地址,详细方法步骤如下: 1.首先点击桌面底部的网络图标右键,然后选择"打开网

通过开源程序同时解决DNS劫持和DNS污染的问题

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址.常用的手段有:DNS劫持和DNS污染.关于DNS劫持和DNS污染的区别,请查找相关文章.对付DNS劫持的方法很简单,只需要把系统的DNS设置改为为国外的DNS服务器的IP地址即可解决.但是对于DNS污染,一般除了使用代理服

DNS.COM免费DNS域名解析服务并且开通安全宝加速

仅仅是出于域名容易管理角度考虑,我们网站建设过程中需要用到域名解析的时候肯定会选择第三方DNS域名解析服务商,即便是免费的也比域名平台原始提供的稳定一些,毕竟大部分域名注册平台仅仅提供域名注册服务,稳定的解析服务还是第三方专注的商家专业一些. 如果我们是中文网站,一般用户会选择DNSPOD.CLOUDXNS.万网阿里DNS等等,或者直接使用第三方CDN加速服务商的DNS解析:如果是英文网站可以选择Namecheap免费DNS服务.HE.NET以及CLOUDFLARE居多.整体来看,一般免费DNS

浅谈DNS体系结构:DNS系列之一

DNS是目前互联网上最不可或缺的服务器之一,每天我们在互联网上冲浪都需要DNS的帮助.DNS服务器能够为我们解析域名,定位电子邮件服务器,找到域中的域控制器--面对这么一个重要的服务器角色,我们有必要对它进行一番深入研究,本文尝试探讨一下DNS的体系结构,从而让大家能更好地了解DNS的原理. DNS的主要工作是域名解析,也就是把计算机名翻译成IP地址,这样我们 就可以直接用易于联想记忆的计算机名来进行网络通讯而不用去记忆那些枯燥晦涩的IP地址了.现在我们给出一个问题,在DNS出现之前,互联网上是

什么是DNS劫持与DNS劫持常见手段总结

什么是DNS劫持?DNS劫持又称域名劫持,是指通过某些手段取得某域名的解析控制权,修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址.DNS劫持是一种黑客技术,通过这种域名欺诈达到投放病毒,骗取用户相关资料或入侵他人电脑的目的. 通常在下面几种情况下会遇到DNS劫持的问题: 1.用户计算机感染病毒,病毒篡改HOSTS文件,添加虚假的DNS解析记录.Windows系统中HOSTS文件的优先级高于DNS服务器,系统在访问某个域名

win10系统怎么修改dns win0电脑dns设置修改方法

1.在桌面找到右下角任务栏中的网络图标,然后点击"打开网络和共享中心",如图. 2.打开新窗口的网络和共享中心后,点击右侧已经连接上的网络名称,如本文图中的网络,如图.   3.再点击"属性",-"Internet版本协议4",-"属性",然后就可以进行Win10静态IP地址设置界面了,如图. 4.默认IP是自动获得了,我们要手工设置可以点击"使用下面的DNS服务器地址",然后输入需要更改后的首选DNS服务

MacBook怎么换Dns?MacBook改换dns的方法

第一步.添加 DNS 配置文件 1.如图所示我们在 Mac OS 偏好设置中找到"网络"点击进入.  2.现弹出的网络窗口中我们就可以设置dns了,我这里以有线为例子. 3.然后我们点击"编辑位置"进入,如下图所示. 4.在弹出对话框中我们点击"+"按钮,随后会新建一个位置的网络配置文件.我这里把它更改为"工作",好了以后点击"完成"按钮,如图所示 5.同样我们在网络窗口中点击"高级"图

【DNS服务器架设】Centos下转发DNS服务器的架设与测试

架设前的准备: 要架设DNS服务器,则必须安装可以提供DNS服务的软件程序,即bind软件,使用下面的命令即可安装: 1 yum install -y bind-chroot bind-utis 1.修改主配置文件/etc/named.conf 此服务器的架设相对简单,即实际上是把自己这台[所谓的DNS服务器]作为一个代理,向上执行查询DNS信息,这种环境下,只需要修改/etc/named.conf这个主配置文件即可,修改如下: 上面的配置完成后使用下面的命令来启动DNS服务: 1 /etc/i