精华内容
下载资源
问答
  • DNS域名解析详解

    2019-03-24 21:35:49
    文章目录DNS域名解析详解域名DNS服务器区域数据库文件Bind的安装和配置正反解析区域的配置流程主从服务器搭建子域授权bind中的安全相关配置文末,再简单用一句话理解下DNS服务器中,递归查询和迭代查询 DNS域名解析...

    DNS域名解析详解

    在我们日常浏览网页中,DNS解析是不可缺少的一环,用户在浏览器输入一个网址,计算机会将该地址解析成为ip地址,而后根据ip地址寻找到对应的服务器,请求服务!

    那么,将网址转换为IP地址,是如何实现的呢? 这就是本文的重点内容!

    DNS是Domain Name System的简写,域名系统,他是Internet上一项非常重要的服务,也是一个分布式的数据库,其作用是将域名和ip地址相互映射,使人们能够更加方便的访问互联网

    所谓的分布式数据库,就是将一个大的数据库,分割成n多小的数据库,统一管理

    域名

    拿www.baidu.com 来举例,这就是一个三级域名,它由n段由.号隔开的字符串组成,自由向左分别是顶级域、二级域、三级域!

    • 顶级域(TLD:Top-Level Domain)

      • 组织域: 常见的组织域有 .com,.net,.ort,.gov,.edu等等。

      • 国家域:大部分国家都有自己的国家域,例如lq,cn等,cn就是中国的国家域

      顶级域直接由根域管理

    • 二级域

      二级域需要向所在地区的顶级域代理申请,如果你想申请一个以.com结尾的域名,那么你就要想你所在地区的域名代理商申请一个子域,这个子域不能和其他.com顶级域的子域重名,必须具备唯一性,中国著名的两个域名代理商是“万网”和“新网” ,大家如果想注册域名,搜索一下这两个网站即可

    • 三级域

      这个一般都是免费的,申请到二级域后,三级域随便你怎么玩,因为每一个上级域,都负责管理其子域,你拿到二级域的管理权后,其下的子域,都是你的!还可以有四级域,五级域

    域名申请成功后,你需要一个服务器来负责解析该域内的子域,或者说主机,这个服务器就是DNS服务器。

    DNS服务器

    早期的域名解析,是全靠计算机本地的一个hosts文件完成的,我们把要解析的域名和ip地址的对应关系手动编辑保存至这个文件中(现在这个文件也依旧存在),后来由于互联网的膨胀式发展,导致域名数量太多,所以引入了DNS这个服务,它是一个分布式的数据库,将互联网中所有的域名和ip地址对应关系保存至数据库中,供用户查询!

    • 域名解析过程:

      当你在浏览器中输入一个网址后,计算机解析的过程如下

      hosts文件–>本地DNS缓存–>DNS服务器(这里分为两种情况,一种是你请求的域名,刚好是该服务器负责的域,那么它将直接返回结果,如果不是,那么它会帮你找到根域,层层迭代最后找到结果返回给你!)而后基于ip地址访问目标服务器!

      注意:DNS服务器又分为两种,一种是缓存DNS服务器,它不负责任何域的解析,只负责帮你迭代查询,而后将结果缓存到服务器上,当你下次再次请求解析时,就直接返回结果给你!

      另外一种就是负责特定域的解析工作的服务器了!

    • 返回结果的分类:

      根据是否查询到答案,分为肯定答案和否定答案,否定答案表示没有查询对应的映射关系,否定答案也会被缓存下来,该缓存的生命周期(TTL:Time to Live)由服务器中的数据库定义

      根据由何种服务器返回的结果,分为权威答案和非权威答案,权威答案表示由直接负责特定域解析的服务器返回的结果,其他缓存服务器返回的结果则属于非权威答案!

    • DNS服务器的主从关系

      负责同一个域解析的服务器,可以有多台,其中一台为主服务器,其他的均为从服务器,二者的数据库必须保持一致,为了达到该目的,数据库就有了序列号的概念,从服务器每隔多长时间(这个时间称为刷新时间),会请求主服务器对比序列号,如果序列号不同,则同步数据库!当然这还不够,主服务器在有数据改动的时候,也会通知从服务器同步数据。

      注意:从服务器只能从主服务器或者其他从服务器中同步数据,没有写权限,只接受查询,不可更改内容!

      当从服务器联系不上主服务器时,每隔多久重新联系一次,这个时间称为重试时间(retry),联系不上后,多久时间放弃联系,这个时间称为过期时间、最后从服务器一旦联系不上主服务器,那么它将停止提供服务。

      主从服务器的同步方式还分为全量传送和增量传送 顾名思义,增量传送表示只同步更改过得内容,而全量传送,一般只会在刚建立从服务器的时候使用一次

    最后再补充三点

    每个DNS服务器接受到解析请求时,如果不是自己负责的域,那么它将直接去找根节点服务器,而非上级

    根节点服务器全球一共十一台,瑞典一台,日本一台,剩下的均在美国! 根节点的服务器安全等级比白宫高,因为十一台根节点服务器一旦挂掉,全球互联网将陷入瘫痪。

    什么是域和区域?

    域是一个逻辑概念,看不见摸不着,区域才是物理概念,一个域由正向解析区域和反向解析区域组成! 大致理解就成

    区域数据库文件

    数据库中存放数据,我们称之为资源记录RR(Resource Record)

    语法格式:name [TTL] IN RR_TYPE value

    该记录又分为A、AAAA、PTR、SOA、NS、CNAME和MX几种不同的类型

    • SOA(Start Of Authority)起始授权记录

      格式:

      name:当前区域名称:例如magedu.com

      value:由多部分组成

      1. 当前区域名称(也可以是DNS服务器名)

      2. 当前管理员的邮箱,注意@符号需要用.号代替

      3. (一串数字,主从协调属性的定义以及否定答案的TTL) 注意要用括号括起来

        例如:

        magedu.com. 86400 IN SOA magedu.com. admin.magedu.com.(

        201701080 ;序列号,不超过十位

        2H ;refresh刷新时间

        10M ;retry重试时间

        1W ;expire过期时间

        1D ;negative answer ttl否定答案生命周期

        )

        注意:“;”后面的是注释信息,M,H,D,W分别表示分,时,天,周

      注意:起始授权记录一个区域有且只能有一条,且必须为第一条

    • NS(Name Service) 域名服务记录,标明该区域的DNS服务器

      格式:

      name:当前区域名

      value:当前区域某DNS服务器的主机名,可以有多个

      例如:

      magedu.com. 86400 IN NS ns1.magedu.com

      magedu.com. 86400 IN NS ns2.magedu.com

    • MX邮件交换器

      格式:

      name:当前区域的区域名称

      value:当前区域某邮件交换器的主机名,MX可以有多条记录,每条记录的value前需要有一个数字,表示优先级,数字越小,优先级越高,范围1-99

      例:

      magedu.com IN MX 10 mx1.magedu.com

      magedu.com IN MX 20 mx2.magedu.com

    • A(IPv4 address)

      格式:

      name:某FQDN,例:www.magedu.com

      value:某IPv4地址:

      例如:

      www.magedu.com IN A 1.1.1.1

      bbs.magedu.com IN A 1.1.1.1

      bbs.magedu.com IN A 1.1.1.2

      注意:一个主机可以有多个ip,一个ip也可以有多个主机

    • AAAA:ipv4的位数是32位,ipv6的地址是128位,也就是四个ipv4,所以你懂的,格式和上面一样,就不多说了

    • PIR(Point)指针,或者说反向记录

      格式

      name:IP地址,有特定格式,例如1.2.3.4的ip地址需要些成4.3.2.1.in-addr.arpa

      value:某FQDN

      例如:

      4.3.2.1.in-addr arpa IN PIR www.magedu.com

    • CNAME:别名

      格式:

      name:FQDN格式的别名

      value:FQDN格式的正式名

      例如

      web.magedu.com IN CNAME www.magedu.com

    注:

    1. TTL可以从全局继承
    2. @符号可以表示当前区域的名称
    3. 相邻的两条记录的名字如果相同,后面的可以省略
    4. MX,NS等类的记录,value为一个FQDN,此FQDN应该有一个A记录(只是应该,不是必须)

    Bind的安装和配置

    Berkeley Internet Name Domain的简写,该工具目前由ISC组织代为维护,站点:ISC.org

    Bind是DNS协议的一种实现,其运行的进程名为named

    • 常用程序包

      bind:提供DNS服务器程序和几个常用的测试工具named-checkconf,named-checkzone等

      bind-utils:bind客户端程序集,例如dig,nslookup,host等

      bind-libs:提供被bind和*.utls包中的程序共同用到的库文件

      bind-chroot:选装:为安全目的,实现将named程序运行在一个沙箱中

    • 配置文件:

      /etc/named.conf:主配置文件,文件中可以使用include关键字将其他文件包含进来

      文件格式:

      named主配置文件

      其中options表示全局配置段、logging表示日志配置段、zone表示区域配置段(由本级负责解析的区域)

      该文件每个配置语句必须以分号结尾,支持c语言格式的注释风格

    • /var/named/ 该目录下存放解析文件库,一般文件名为ZONE_NAME.zone

    正反解析区域的配置流程

    bind安装完成后,默认即可作为缓存服务器使用,前提是它能访问互联网(需要能够找到根节点),如果没有专门负责解析的区域,可直接启动之

    1. 修改主配置文件/etc/named.conf,将全局配置段的监听地址改为能与外部通信的ip地址

      bind配置文件1

    2. 学习时,建议关闭dnssec功能,改成no

    3. 在/etc/named.rfc1912.zones添加区域解析区域

      例:

      zone "tianfeng.com" IN {
      				type maseter;
      				file "tianfeng.com.zone";
      };
      
    4. 在/var/named/目录下创建和上一步file后同名的区域数据库文件,格式前面已经说过了

      例:

      $TTL 3600
      @	IN	SOA	tianfen.com.	admin.tianfeng.com. (
      		2019032401
      		10M
      		5M
      		2H
      		1H
      )
      www	IN	A	192.168.0.2
      bbs	IN	A	192.168.0.3
      mx	IN	A	192.168.0.4
      @	IN	NS	ns1.tianfeng.com
      ns1.tianfeng.com	IN	A	192.168.0.5
      192.168.0.6	IN	PTR	www.tianfeng.com
      
      

      此处填写FQDN的位置,会自动补全/etc/named.rfc1912.conf文件中定义的区域名,也可以在文件头加$ORIGIN 定义自动补全的后缀(即域名)。 注意:此文件编辑完后应当将其他人的权限设置为0

    5. 检查主配置文件和区域库文件语法,没问题的话重启named服务

      named-checkconf
      named-checkzone tianfeng.com /var/named/tianfeng.com.zone
      systemctl restart named.service
      

      也可以使用rndc reload 重载配置文件,效果一样

      至此,一个DNS服务器就搭建完成

      • 反向解析区域搭建同理,只是需要注意几点
        1. 在/etc/named.rfc1912.conf中定义区域时,ip地址有特定格式,例如192.168.1网段应该写成1.168.192.in-addr.arpa
        2. 区域解析库文件中,主要用于定义PTR记录,前面的主要用于定义A记录

    问题 笔者在这一步遇到一个问题,目前还未解决,在自己的虚拟和物理机上,搭建named服务,只能解析本地主机和自己配置的域,解析不了外网,但是,在云实例上却没有问题,暂时怀疑是本地网络问题! (路由器我都拆了,直接拨号上网,都解决不了,一个头两个大:wq)

    主从服务器搭建

    值得注意的是,这里的主从,是基于区域的主从,不是整个域的主从!

    就拿上面配置的tianfeng.com 正向解析区域为例,这里为这个正向解析区域配置一个从服务器,分为两个阶段

    • 在从服务器上

      安装bind程序,完成主配置文件修改后,定义区域

    zone "tianfeng.com" IN {
        type slave;
        file "slave/tianfeng.com.zone";
    };
    

    注意这里和前面的不同,type类型是slave,file后面是相对于/var/named/目录的相对路径!

    • 在主服务器上

      1. 确保在区域数据库中,为每一台从服务器都配置了一个NS记录,并且该NS记录对应的还应该有一个A记录,指向真正的从服务器ip地址,例如,现在,我应该在主服务器中的tianfeng.com.zone区域数据库文件中添加两行(假设上面从服务器的ip地址是192.168.0.100)

        ns	IN	NS	ns1.tianfeng.com
        ns1	IN	A	192.168.0.100
        

        这里的ns1主机名可以随便取,只要保证ip地址真正指向你的从服务器,还有:主从服务器的时间必须同步 可以使用ntpdate命令将两个主机连到一个时间服务器以保证时间的同步

      2. 重启主从服务器就可以了!此时,正常情况下,从服务器应该已经将数据库文件同步到/var/named/slave目录下

    子域授权

    • 流程
      1. 在区域数据库中添加子域解析服务器的NS记录
      2. 在子服务器中配置区域解析记录和资源记录文件
      3. 检查语法,重启服务

    假如现在,我要在tianfeng.com这个域下再添加一个opt.tianfeng.com的三级域!并且有192.168.0.101这台主机负责解析子域

    1. 在负责解析tianfeng.com域的资源记录中,添加如下两行

      opt.tianfeng.com	IN	NS	ns1.opt.tianfeng.com
      ns1.opt.tianfeng.com	IN	A	192.168.0.101
      

      注意:在有主从服务器的情况下,任何时候修改资源记录文件,都必须更新序列号

    2. 在192.168.0.101主机上编辑配置文件/etc/named.rfc1912.conf文件,添加如下内容

      zone "opt.tianfeng.com" IN {
          type master;
          file "opt.tianfeng.com.zone";
      };
      
    3. 创建/var/named/opt.tianfeng.com资源记录文件

      $TTL 3600
      @	IN	SOA	@	admin.opt.tianfeng.com (
      					2019032401
      					10M
      					3M
      					1D
      					1D )
      www	IN	A	192.168.220
      bbs	IN	A	192.168.221
      mx	IN	A	192.168.222
      
    4. 检查语法,并重启主服务器,和子域服务器!

      这里又有一个非常非常非常值得注意的地方,务必要将主配置文件中的仅允许本机访问选项关闭,不然会出现子域服务器无法解析父域,父域服务器无法解析子域的问题,如下图所示

      bind主配置文件注意点

      这个值修改成any,或者指定ip

    bind中的安全相关配置

    acl:访问控制列表:

    可以在主配置文件中,将一个或多个地址合并成为一个名称的集合,随后便可以通过该名称统一调用,类似于给变量赋值后调用变量名

    定义格式:

    acl acl_name {
        IP;
        网段/掩码长度;
    }
    

    bind中内置有四个acl,其实前面我们已经见过了

    • none:空地址,没有任何主机的意思
    • any;none的反义词,任何主机
    • localhost:仅指代本机
    • localnet:包括本机所在的ip所属的网络

    常用的访问控制选项:

    • allow-query {}:允许查询的主机,定义子域的时候,就需要修改此值
    • allow-transfer {}:允许向哪些主机做区域传送,默认是所有,但是应该改为仅向从服务器传送,不然所有人都可以传送去,公司内部的拓扑图就很容易外泄,这很危险
    • allow-recursion {}:允许哪些主机向当前DNS服务器发起递归查询请求(什么是递归,随后我就稍加解释,不保证正确性)
    • allow-update {}:DDNS,允许动态更新区域数据库文件中的内容(这一条我暂时也不太懂,欢迎留言)

    这些选项,可以在主配置文件中,也可以在区域配置文件中(/etc/named.rfc1912.conf)

    最后还有一个bind view 视图功能,它的功能是解析分离,同一个主机名,根据来自不同ip的请求,解析出不同的结果;

    例如:在/etc/named.rfc1912.conf 添加如下内容

    view local {
    	match-cliets {192.168.0.0/24;};
    	zone "tianfeng.com" IN {
            type master;
            file "tianfeng.com/local";
    	};
    };
    view net {
        match-cliets {any;};
        zone "tianfeng.com" IN {
            type master;
            file "tianfeng.com/net";
        };
    };
    

    然后创建两个不同的资源记录文件,local和net

    这表示,来自192.168.0.0/24网络中的解析请求,将返回local数据库中的答案

    否则,返回net文件中的答案

    文末,再简单用一句话理解下DNS服务器中,递归查询和迭代查询

    所谓递归,就是我给你一个请求,我不管你用什么方式,你反正给我一个结果

    所谓迭代,就是一级一级的查找,例如,缓存服务器找到根服务器,它不会直接返回给你结果,而是告诉你,你应该去找谁,就这用一级一级的往下找,这就叫迭代查询

    其实,我再c语言的书中,看到的递归算法,它的意思是,一个函数,自身调用自身,一直调用下去,直到满足特定条件,然后再一层一层返回结果!

    是一个先朔源,后递推的过程,很消耗内存和cpu资源,因为要保存许多了临时数据

    普通人掌握循环,神才掌握递归! 啊哈哈哈,去年的某个夜里,被一个经典的汉诺塔题目,虐的死去活来!,脑袋都要打结了!

    展开全文
  • 从小白到入门———DNS域名解析详解 我们都知道想要访问某个网站只需要输入其对应的网址就可以访问到网站的页面,我们也知道在互联网中IP地址是唯一的身份标识,那么计算机只识别IP地址又是如何识别网址的呢? 说到...

    从小白到入门———DNS域名解析详解

    我们都知道想要访问某个网站只需要输入其对应的网址就可以访问到网站的页面,我们也知道在互联网中IP地址是唯一的身份标识,那么计算机只识别IP地址又是如何识别网址的呢?

    说到这我就要科普一下,我们所输入的网址其实是域名,计算机无法识别域名但是计算机可以将域名解析成行对应的IP地址。这个过程叫做域名解析,而解析域名的服务器叫做DNS服务器。

    我用nslookup命令来查看www.baidu.com的IP地址。见图一可以发现百度的真正于域名为www.a.shifen.com百度的IP地址为:112.80.248.75
    图一、域名解析
    在这里插入图片描述

    (一)、域名详解

    我拿百度网址为例,百度的网址其实是:www.baidu.com.将其拆分为两个部分:一个部分为,“.baidu.com.”;另一个部分为,**“www”**其中“.baidu,com.”是域名,“www”是主机名称。计算机先是解析域名,然后在解析主机名称。其中域名也可以拆分,我们从“根”开始即“.”,后面是“.com”,最后是“.baidu”,见图二。人们为了方便访问对应的网站于是决定给难以记住的IP地址起个别名,于是域名就诞生了。
    图二
    在这里插入图片描述

    (二)、DNS服务配置

    我以centos7系统为例,在系统中安装bind软件,其称为伯克利Internet域名服务。其主要的配置文件在**/etc/named.conf进入可以发现,named服务使用的是53号端口见图三,经过我的设置将其监听地址改为任何IP都可以,任何IP都能查询解析服务。named服务主配置文件里还显示了区域配置文件的路径位置,/etc/named,rfc1912.zones**见图四。
    图三
    在这里插入图片描述
    查看UDP53端口用于传输DNS结果
    在这里插入图片描述
    TCP 53端口用于解析
    在这里插入图片描述

    在rfc1912.zones区域配置文件里,需要输入区域名,DNS服务器类型,A记录等。见图五
    图五
    在这里插入图片描述
    区域数据配置文件在/var目录中,在**/var/named/named.localhost一般的我们将namedlocalhost文件使用保留权限在当前路径下进行复制改名。见图六。进入我们可以看到许多代码见图七,我将其做成表格见图八。在其中还有如“A”、“CNAME”、“*”等,我来一一讲解。“A”代表A记录用于正向解析域名。“CNAME”代表别名,如百度其真实域名为a.shifen.com. 。“ * ”代表任意主机名,意思是如果输入的主机名不在区域数据文件中那么久解析为所指定好的IP地址。
    图六、复制需要保留权限
    在这里插入图片描述
    图七、区域数据配置文件
    这里的
    www IN A 14.0.0.14意思是在这个域名下(test.com.)其主机名为www的解析地址为14.0.0.14 。
    在这里插入图片描述
    图八在这里插入图片描述
    在此之后,我们需要声明一段话
    echo “nameserver 13.0.0.13” > /etc/resolv.conf**意思是将13.0.0.13地址的服务器作为DNS域名解析服务器,这就有点像Windows系统当中的手动添加DNS地址一样。

    小结

    在配置DNS域名解析服务时一定要注意何时需要在域名后面加“根”,何时要加。今天只讲解了DNS的正向解析,我还会在今后持续跟新DNS的主从复制以及反向解析。此外再次强调下在复制区域数据文件时一定要保留权限复制否则服务会开不起来。
    希望喜欢我的博客的观众老爷们点赞收藏哦!

    展开全文
  • 说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。 互联网中的地址是数字的IP地址,域名解析的作用主要就

    概述

    域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。
    
    域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。
    
    互联网中的地址是数字的IP地址,域名解析的作用主要就是为了便于记忆。
    

    BIND域名服务基础

    DNS服务软件BIND(Berkeley Internet Name Domain,伯克利因特网域名)
    服务:可通俗理解为主配置文件+运行脚本
    

    DNS系统的作用及类型
    DNS系统的作用

    DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或者反向的地址查询服务,及正向解析和反向解析
        正向解析:根据主机名称(域名,如www.baidu.com)查找对应的IP地址
        反向解析:(一般维护的时候使用)根据IP地址查找对应的主机域名
    
    
    
    分析www.sina.com.cn
    部分	解释
    www	主机位
    sina	二级域名
    com.cn	顶级域名
    .	根域名
    

    DNS系统的类型

    实际上,每一台DNS服务器都只负责管理一个有限范围(一个或几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为“zone”(区域)
    
    根据地址解析的方向不同,DNS区域相应地分为正向区域(包含域名到IP地址的解析记录,)和反向区域(包含IP地址到域名的解析记录)
    
    根据所管理的区域数据的来源不同,DNS系统可以分为不同的类型。
    
    在同一台DNS服务器中,相对于不同的区域来说,也拥有不同的身份。
    
        常见的几种类型
    
        缓存域名服务器
    
        只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。
    
        构建缓存域名服务器时,必须设置根域或者指定其他DNS服务器作为解析来源
    
        主域名服务器
    
        维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器,官方服务器。
    
        构建主域名服务器时,需要自行建立所负责区域的地址数据文件
    
        从域名服务器
    
        与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。
    
        构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库
    

    BIND的安装文件

    BIND不是唯一能够提供域名服务的DNS服务程序,但它却是应用最为广泛的,BIND可以运行在大多数Linux/UNIX主机中
    
    BIND
    
    伯克利Internet域名服务
    
    官方站点:https://www/isc/org/
    
    可以直接使用yum安装
    
    相关软件包
    软件包	作用
    bind	提供了域名服务的主要程序及相关文件
    bind-utils	提供了对DNS服务器的测试工具,如nslookup等
    bind-libs	提供了bind,bind-utils需要使用的库函数
    bind-chroot	为BIND服务提供一个伪装的根目录(/var/named/chroot)以提高安全性
    
    BIND服务器端程序
    
    主要执行程序:/usr/sbiin/named
    
    默认监听端口:53
    
    主配置文件: /etc/named.conf
    
    保存DNS解析记录的数据文件位于: /var/named/
    

    BIND的配置文件

    [root@localhost ~]# rpm -qc bind		'查看配置文件位置'
    /etc/logrotate.d/named
    /etc/named.conf
    /etc/named.iscdlv.key
    /etc/named.rfc1912.zones
    /etc/named.root.key
    /etc/rndc.conf
    /etc/rndc.key
    /etc/sysconfig/named
    /var/named/named.ca
    /var/named/named.empty
    /var/named/named.localhost
    /var/named/named.loopback
    

    named.conf主配置文件

    全局配置部分
    
    设置DNS服务器的全局参数
    
    包括监听地址/端口,数据文件的默认位置等
    
    使用options{…};的配置段
    
    [root@localhost ~]# vim /etc/named.conf
    options {
        listen-on port 53 { any; };		'ipv4 监听地址和端口 {一般更改为any}'
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";		'区域数据文件的默认存放位置'
           ...省略内容
            allow-query     { any; };		'允许使用本DNS服务的网段:{一般更改为any}'
    }
    
    
    区域配置部分
    
    设置本服务器提供域名解析的特定DNS区域
    
    包括域名,服务器角色,数据文件名等
    
    使用zone“区域名”IN{…};的配置段
    
    [root@localhost ~]# vim /etc/named.rfc1912.zones 
    正向解析
    zone "wemz.com" IN {
            type master;		'类型,主域名服务器'
            file "wemz.com.zone";		'区域数据文件名'
            allow-update { none; };
    };
    
    反向解析
    zone "10.168.192.in-addr.arpa" IN {
            type master;
            file "192.168.10.arpa";
            allow-update { none; };
    };
    

    区域数据配置文件

    1.全局TTL配置项及SOA记录
    
    $TTL(Time To Live,生存时间)记录
    
    SOA(Start Of Authority,授权信息开始)记录
    
    分号“;”开始的部分表示注释信息
    
    $TTL 1D		'有效解析记录的生存周期'
    @       IN SOA  @ rname.invalid. (		'SOA标记,域名,管理邮箱'
                                            2011030502  	'更新序列号,可以是10位以内的整数'   	
                                            1D     '无效解析记录的生存周期'  
                                            1W    	'失效时间,超过改时间仍无法下载则放弃'
                                            3H )    '刷新时间,重新下载地址数据的间隔'
         
    M  分
    H  时
    W  周
    D  天
    
    
    2.域名解析记录
    
    地址解析记录用来设置DNS区域内的域名,IP地址印社关系,包括正向解析记录和反向解析记录
    
    NS域名服务器(Name Server )记录
    
    MX 邮件交换(Mail Exchange)记录
    
    A 地址 (Address)记录,只用在正向解析区域中
    
    CNAME别名(Canonical Name)记录
    
    @		IN		NS		ns1.bdqn.com.	'当前区域DNS服务器的'
    		IN		MX 10	mail.bdqn.com.
    ns1		IN		A		65.65.656.56
    www		IN		A		2.2.2.2
    mail	IN 		A		5.5.5.5
    ftp		IN		CNAME	www
    *		IN 		A		3.3.3.3		'泛域名解析,未匹配到的主机头到到此地址'
    
    
    3.反向区域数据文件
    
    在反向区域数据文件中,不会用到A地址记录,而是使用PTR指针(point)记录。
    
    例如,对于反向区域10.168.192.in-addr.arpa,添加的反向解析记录可以是以下形式
    
    1 IN PTR www.eee.com.		'表示IP地址为192.168.192.1的主机的域名时www.eee.com'
    5 IN PTR mail.eee.com.		'表示IP地址为192.168.192.5的主机的域名时mail.eee.com'
    
    
    4.使用netstat命令查看服务状态
    
    [root@localhost ~]# netstat -nuap | grep named		'以数字形式显示当前系统中所有的UDP连接信息,同时显示对应的进程信息。'
    udp        0      0 192.168.122.1:53        0.0.0.0:*                           65212/named         
    udp        0      0 192.168.197.142:53      0.0.0.0:*                           65212/named         
    udp        0      0 127.0.0.1:53            0.0.0.0:*                           65212/named         
    udp6       0      0 ::1:53                  :::*                                65212/named         
    [root@localhost ~]# netstat -ntap | grep named		'以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。'
    tcp        0      0 192.168.197.142:53      0.0.0.0:*               LISTEN      65212/named         
    tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      65212/named         
    tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      65212/named         
    tcp6       0      0 ::1:53                  :::*                    LISTEN      65212/named         
    tcp6       0      0 ::1:953                 :::*                    LISTEN      65212/named 
        TCP: 用于连接
        UDP: 用于快速解析
    

    区域数据配置文件的特殊应用

    基于域名解析的负载均衡
    
    同一域名对应到多个IP地址
    
    泛域名解析
    
    找不到精确对应的A记录时,使用“*”进行匹配
    
    www 		IN		A		192.168.100.100		'轮询负载均衡'
    www 		IN		A		192.168.100.101
    www 		IN		A		192.168.100.102
    
    
    *			IN		A		192.168.100.100	'泛域名解析'
    

    对配置文件进行语法检查

    修改完区域数据文件以后,可以执行named-checkconf命令对该文件进行语法检查
    
    若zone文件中没有语法错误,系统将给出“OK”的提示信息
    
    named-checkconf工具基本格式
    named-checkconf -z [主配置文件]
    [root@localhost ~]# named-checkconf -z /etc/named.conf
    zone localhost.localdomain/IN: loaded serial 0
    zone localhost/IN: loaded serial 0
    zone kgc.com/IN: loaded serial 0
    zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
    zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
    zone 0.in-addr.arpa/IN: loaded serial 0
    
    
    
    named-checkzone工具基本格式
    named-checkzone <域名><区域数据文件>
    [root@localhost ~]# named-checkzone kgc.com /var/named/kgc.com.zone 
    zone kgc.com/IN: kgc.com/MX 'mail.kog.com' (out of zone) is a CNAME 'mail.kog.com.netsolmail.net' (illegal)
    zone kgc.com/IN: loaded serial 0
    OK
    

    使用BIND构建域名服务器

    构建主,从域名服务器

    构建主从服务器主要命令
    主要命令:
    /etc/named.rfc1912.zones
    allow-transfer { 从域名服务器地址}
    
    /etc/named.rfc1912.zones
    masters {主域名服务器地址}
    

    构建主从服务器

    '环境'
    打开两台centos主机:分别设置主域名服务器和从域名服务器
    打开一台win10主机:用来验证
    主域名服务器centos 7-1 IP地址为192.168.197.141
    从域名服务器centos 7-2 IP地址为192.168.197.142
    
    '第一步设置从域名服务器(centos 7-2)主配置文件'
    [root@localhost ~]# yum install bind -y	'安装bind工具'
        
    [root@localhost ~]# vim /etc/named.conf		
        ...省略内容
    options {
            listen-on port 53 { any; };	'修改成any'
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
      ...省略
            secroots-file   "/var/named/data/named.secroots";
            allow-query     { any; };	'修改成any'
    ...省略内容
    
    '第二步设置从域名服务器(centos 7-2)的区域配置文件'
    [root@localhost ~]# vim /etc/named.rfc1912.zones 
    ...省略内容		'添加以下内容'
    zone "666.com" IN {		'设置域名'
            type slave;		'类型设置成从域名'
            file "slaves/666.com.zone";	'指定文件'
            masters {192.168.197.139; };	'设置主域名服务器的IP地址'
    };
    ...省略内容
    [root@localhost named]# ls /var/named/slaves
    '发现没有文件,是因为主域名服务器还没有设置好,主域名服务器设置完成后,就可以同步自动生成666.com.zone文件了'
    
    '第三步设置主域名服务器(centos 7-1)的主配置文件'
    [root@localhost ~]# yum install bind -y	'安装bind工具'
    [root@localhost named]# rpm -qc bind
    /etc/logrotate.d/named
    /etc/named.conf
    /etc/named.iscdlv.key
    /etc/named.rfc1912.zones
    /etc/named.root.key
    /etc/rndc.conf
    /etc/rndc.key
    /etc/sysconfig/named
    /var/named/named.ca
    /var/named/named.empty
    /var/named/named.localhost
    /var/named/named.loopback
    
    [root@localhost ~]# vim /etc/named.conf		
        ...省略内容
    options {
            listen-on port 53 { any; };	'修改成any'
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
      ...省略
            secroots-file   "/var/named/data/named.secroots";
            allow-query     { any; };	'修改成any'
    ...省略内容
    
    '第四步设置主域名服务器(centos 7-1)的区域配置文件'
    [root@localhost ~]# vim /etc/named.rfc1912.zones 
        ...省略内容  '添加以下内容'
    zone "666.com" IN {
            type master;	'设置类型为主服务器'
            file "666.com.zone";	'生成区域配置文件'
            allow-transfer { 192.168.197.142; };	'设置从服务器IP地址'
    };
    
    [root@localhost ~]# cd /var/named
    [root@localhost named]# ls
    data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
    [root@localhost named]# cp -p named.localhost 666.com.zone	'将区域配置文件模板保留权限复制并改名为设置的666.com.zone'
    [root@localhost named]# vim 666.com.zone 
    $TTL 1D
    @       IN SOA  666.com. rname.invalid. (		'域名设置666.com'
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      666.com.	'域名设置666.com'
            A       127.0.0.1
    www IN  A       6.6.6.6		'设置www.666.com对应的IP地址'
    
    '主域名路由器开启服务并关闭防火墙'
    [root@localhost named]# systemctl restart named
    [root@localhost named]# systemctl stop firewalld.service 
    [root@localhost named]# setenforce 0
    '从域名路由器开启服务并关闭防火墙'
    [root@localhost named]# systemctl restart named
    [root@localhost named]# systemctl stop firewalld.service 
    [root@localhost named]# setenforce 0
    [root@localhost named]# ls slaves		'再次查看,发现slaves文件已经自动同步'
    666.com.zone
    
    展开全文
  • 域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢?这是因为在这种因特网的命名系统中使用了...

    1.域名系统概述
    域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢?这是因为在这种因特网的命名系统中使用了许多的“域(domain)”,因此就出现了“域名”这个名词。“域名系统”明确地指明这种系统是应用在因特网中。

    我们都知道,IP地址是由32位的二进制数字组成的。用户与因特网上某台主机通信时,显然不愿意使用很难记忆的长达32位的二进制主机地址。即使是点分十进制IP地址也并不太容易记忆。相反,大家愿意使用比较容易记忆的主机名字。但是,机器在处理IP数据报时,并不是使用域名而是使用IP地址。这是因为IP地址长度固定,而域名的长度不固定,机器处理起来比较困难。

    因为因特网规模很大,所以整个因特网只使用一个域名服务器是不可行的。因此,早在1983年因特网开始采用层次树状结构的命名方法,并使用分布式的域名系统DNS。并采用客户服务器方式。DNS使大多数名字都在本地解析(resolve),仅有少量解析需要在因特网上通信,因此DNS系统的效率很高。由于DNS是分布式系统,即使单个计算机除了故障,也不会妨碍整个DNS系统的正常运行。

    域名到IP地址的解析是由分布在因特网上的许多域名服务器程序共同完成的。域名服务器程序在专设的结点上运行,而人们也常把运行域名服务器程序的机器称为域名服务器。

    域名到IP地址的解析过程的要点如下:

    当某一个应用需要把主机名解析为IP地址时,该应用进程就调用解析程序,并称为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器。
    本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用程序获得目的主机的IP地址后即可进行通信。
    若本地域名服务器不能回答该请求,则此域名服务器就暂时称为DNS的另一个客户,并向其他域名服务器发出查询请求。

    2.因特网的域名结构

    由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。这里,“域”(domain)是名字空间中一个可被管理的划分。

    从语法上讲,每一个域名都是有标号(label)序列组成,而各标号之间用点(小数点)隔开。
    DNS既不规定一个域名需要包含多少个下级域名,也不规定每一级域名代表什么意思。各级域名由其上一级的域名管理机构管理,而最高的顶级域名则由ICANN进行管理。用这种方法可使每一个域名在整个互联网范围内是唯一的,并且也容易设计出一种查找域名的机制。

    编号 类型 详情
    (1) 国家顶级域名nTLD 采用ISO3166的规定。如:cn代表中国,us代表美国,uk代表英国,等等。国家域名又常记为ccTLD(cc表示国家代码contry-code)。
    (2) 通用顶级域名gTLD 最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。
    (3) 基础结构域名(infrastructure domain) 这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名。(2)通用顶级域名gTLD:最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。

    3、域名服务器

    如果采用上述的树状结构,每一个节点都采用一个域名服务器,这样会使得域名服务器的数量太多,使域名服务器系统的运行效率降低。所以在DNS中,采用划分区的方法来解决。

    一个服务器所负责管辖(或有权限)的范围叫做区(zone)。
    各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机到域名IP地址的映射。

    总之,DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。区是DNS服务器实际管辖的范围。

    区 <= 域。
    根域名服务器:最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助根域名服务器。所以根域名服务器是最重要的域名服务器。假定所有的根域名服务器都瘫痪了,那么整个DNS系统就无法工作。需要注意的是,在很多情况下,根域名服务器并不直接把待查询的域名直接解析出IP地址,而是告诉本地域名服务器下一步应当找哪一个顶级域名服务器进行查询。

    顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。

    权限域名服务器:负责一个“区”的域名服务器。

    本地域名服务器:本地服务器不属于下图的域名服务器的层次结构,但是它对域名系统非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。

    从”根域名服务器”查到”顶级域名服务器”的NS记录和A记录(IP地址)
    从”顶级域名服务器”查到”次级域名服务器”的NS记录和A记录(IP地址)
    从”次级域名服务器”查出”主机名”的IP地址

    4、域名的解析过程

    注意:

    一、主机向本地域名服务器的查询一般都是采用递归查询。
    所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。

    二、本地域名服务器向根域名服务器的查询的迭代查询。
    迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机。

    5.下面举一个例子演示整个查询过程:
    假定域名为m.xyz.com的主机想知道另一个主机y.abc.com的IP地址。例如,主机m.xyz.com打算发送邮件给y.abc.com。这时就必须知道主机y.abc.com的IP地址。下面是的几个查询步骤:

    1、主机m.abc.com先向本地服务器dns.xyz.com进行递归查询。
    2、本地服务器采用迭代查询。它先向一个根域名服务器查询。
    3、根域名服务器告诉本地服务器,下一次应查询的顶级域名服务器dns.com的IP地址。
    4、本地域名服务器向顶级域名服务器dns.com进行查询。
    5、顶级域名服务器dns.com告诉本地域名服务器,下一步应查询的权限服务器dns.abc.com的IP地址。
    6、本地域名服务器向权限域名服务器dns.abc.com进行查询。
    7、权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的IP地址。
    8、本地域名服务器最后把查询结果告诉m.xyz.com。
    
    

    关于DNS解析的TTL参数:

    我们在配置DNS解析的时候,有一个参数常常容易忽略,就是DNS解析的TTL参数,Time To Live。TTL这个参数告诉本地DNS服务器,域名缓存的最长时间。用阿里云解析来举例,阿里云解析默认的TTL是10分钟,10分钟的含义是,本地DNS服务器对于域名的缓存时间是10分钟,10分钟之后,本地DNS服务器就会删除这条记录,删除之后,如果有用户访问这个域名,就要重复一遍上述复杂的流程。

    其实,如果网站已经进入稳定发展的状态,不会轻易更换IP地址,我们完全可以将TTL设置到协议最大值,即24小时。带来的好处是,让域名解析记录能够更长时间的存放在本地DNS服务器中,以加快所有用户的访问。设置成24小时,其实,还解决了Googlebot在全球部署的服务器抓取网站可能带来的问题,这个问题麦新杰专门有一篇博文,请参考:“Googlebot无法访问您的站点”问题理解和处理方法

    阿里云之所以只将TTL设置成10分钟,是为了让域名解析更快生效而已。因为之前的解析会在最长10分钟之后失效(本地DNS服务器将对应的解析条目删除),然后新的解析生效。如果是24小时,这个生效的时间最长就是24小时,甚至更长(本地DNS服务器要有用户请求,才会发起查询)。

    IP地址分类

    最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。

    序号 类别 解释
    1 A类IP地址 一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。
    2 B类IP地址 一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机 。
    3 C类IP地址 一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。
    4 D类地址用于多点广播(Multicast)。 D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。224.0.0.0到239.255.255.255用于多点广播 。
    5 E类 E类IP地址 以“llll0”开始,为将来使用保留。240.0.0.0到255.255.255.254,255.255.255.255用于广播地址。全零(“0.0.0.0”)地址对应于当前主机。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。
    在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:

    A类地址:10.0.0.0~10.255.255.255
    B类地址:172.16.0.0~172.31.255.255
    C类地址:192.168.0.0~192.168.255.255
    A类地址的第一组数字为1~126。其中0代表任何地址,127为回环测试地址,注意,数字0和 127不作为A类地址,数字127保留给内部回送函数,而数字0则表示该地址是本地宿主机,不能传送。

    B类地址的第一组数字为128~191。C类地址的第一组数字为192~223。

    1. A类地址 A类地址的表示范围为:0.0.0.0~126.255.255.255,默认网络掩码为:255.0.0.0;A类地址分配给规模特别大的网络使用。A类网络用第一组数字表示网络本身的地址,后面三组数字作为连接于网络上的主机的地址。分配给具有大量主机(直接个人用户)而局域网络个数较少的大型网络。例如IBM公司的网络。
    2. B类地址B类地址的表示范围为:128.0.0.0~191.255.255.255,默认网络掩码为:255.255.0.0;B类地址分配给一般的中型网络。B类网络用第一、二组数字表示网络的地址,后面两组数字代表网络上的主机地址。
    3. C类地址 C类地址的表示范围为:192.0.0.0~223.255.255.255,默认网络掩码为:255.255.255.0;C类地址分配给小型网络,如一般的局域网和校园网,它可连接的主机数量是最少的,采用把所属的用户分为若干的网段进行管理。C类网络用前三组数字表示网络的地址,最后一组数字作为网络上的主机地址。

    实际上,还存在着D类地址和E类地址。但这两类地址用途比较特殊,在这里只是简单介绍一下:D类地址称为广播地址,供特殊协议向选定的节点发送信息时用。E类地址保留给将来使用。

    DNS配置文件

    /etc/named.conf          主配置文件 服务器主要运行参数
    
    /etc/named.rfc1912.zones  区域文件,主要指定要解析哪个域名
    
    /var/named/xxx.xx        数据文件,用来正向和反向的解析
    

    资源记录的类型

    (1)A记录(Address)正向解析
    A记录是将一个主机名(全称域名FQDN)和一个IP地址关联起来。这也是大多数客户端程序默认的查询类型。

    (2)PTR记录(Pointer)反向解析
    PTR记录将一个IP地址对应到主机名(全称域名FQDN)。这些记录保存在in-addr.arpa域中。

    (3)CNAME记录(Canonical Name)别名
    别名记录,也称为规范名字(Canonical Name)。这种记录允许您将多个名字映射到同一台计算机。

    (4)MX记录(Mail eXchange)
    MX记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。MX记录也叫做邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操控所有的邮箱设置。

    当有多个MX记录(即有多个邮件服务器)时,则需要设置数值来确定其优先级。通过设置优先级数字来指明首选服务器,数字越小表示优先级越高。

    (5)NS记录(Name Server)
    NS(Name Server)记录是域名服务器记录,也称为授权服务器,用来指定该域名由哪个DNS服务器来进行解析。

    将网站的NS记录指向到目标地址,在设置NS记录的同时还需要设置目标网站的指向,否则NS记录将无法正常解析

    NS记录优先于A记录。即,如果一个主机地址同时存在NS记录和A记录,则A记录不生效。

    DNS服务的配置方法

    提示:本次DNS环境配置是在centos7.x中进行的。

    (1)配置前的准备工作
    1、配置好本地光盘yum源或者配置网络yum源

    2、设置好防火墙开放UDP的53端口,或者直接关闭防火墙

    防火墙永久关闭:/etc/init.d/iptables stop

       service iptables stop
    

    3、关闭selinux

    selinux临时关闭:setenforce 0

    selinux永久关闭:sed -i“7s/enforcing/disabled/g”/etc/selinux/config

    (2)安装bind软件

    [root@localhost ~]# yum -y install bind
    

    (3)修改主配置文件/etc/named.conf两个地方为{any}
    [root@localhost ~]# vim /etc/named.conf

    options {
    
            listen-on port 53 { any; };
    
            listen-on-v6 port 53 { ::1; };
    
            directory       "/var/named";
    
            dump-file       "/var/named/data/cache_dump.db";
    
            statistics-file "/var/named/data/named_stats.txt";
    
            memstatistics-file "/var/named/data/named_mem_stats.txt";
    
            allow-query     { any; };
    

    (4)修改区域文件/etc/named.rfc1912.zones
    配置文件说明:

    blob.png
    
    [root@localhost ~]# vim /etc/named.rfc1912.zones
    
    zone "long.com" IN {
    
            type master;
    
            file "named.zheng";   正向解析文件名(名称可以自定义)
    
            allow-update { none; };
    
    };
    
     
    
    zone "115.168.192.in-addr.arpa" IN {
    
            type master;
    
            file "named.fan";    反向解析文件名(名称可以自定义)
    
            allow-update { none; };
    
    };
    

    提示:上面的配置文件可以只保留两个地方,一个正向解析域名,一个反向解析域名,其余都可以删除

    [root@localhost ~]# cd /var/named/
    
    [root@localhost named]# ls
    
    data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
    

    生成上面的/etc/named.rfc1912.zones配置文件中指定的正反解析文件

    [root@localhost named]# cp -a named.localhost named.zheng
    
    [root@localhost named]# cp -a named.loopback named.fan
    

    (5)修改上面的正向解析文件和反向解析文件
    解析文件named.*的说明:

    blob.png

    正向解析文件named.zheng的修改

    [root@localhost named]# vim named.zheng
    
    $TTL 1D
    
    @   IN SOA  long.com. rname.invalid. (
    
                                            0       ; serial
    
                                            1D      ; refresh
    
                                            1H      ; retry
    
                                            1W      ; expire
    
                                            3H )    ; minimum
    
            NS      dns.long.com.
    
    dns     A       192.168.115.120    dns服务器的IP地址
    
    www     A       192.168.115.130   www服务器的IP地址
    
            AAAA    ::1
    
    ~                   
    

    反向解析文件named.fan的修改:

    [root@localhost named]# vim named.fan
    
    $TTL 1D
    
    @       IN SOA  long.com. rname.invalid. (
    
                                            0       ; serial
    
                                            1D      ; refresh
    
                                            1H      ; retry
    
                                            1W      ; expire
    
                                            3H )    ; minimum
    
            NS      dns.long.com.
    
    120     PTR     dns.long.com.
    
    130     PTR     www.long.com.
    
     
    

    [root@localhost named]# systemctl start named.service 启动dns服务

    (6)找一个客户端,把DNS修改成成我们的DNS 服务器IP地址,然后保存退出,重启网卡

    [root@localhost network-scripts]# systemctl restart network.service
    
    [root@localhost network-scripts]# cat /etc/resolv.conf   查看DNS已经修改成我们搭建的了
    

    Generated by NetworkManager

    search long.com

    nameserver 192.168.115.120

    [root@localhost network-scripts]# yum install bind-utils 安装nslookup命令的软件包

    [root@localhost network-scripts]# nslookup

    > 192.168.115.130     查看用ip能否解析成域名
    

    Server: 192.168.115.120

    Address: 192.168.115.120#53

    130.115.168.192.in-addr.arpa name = www.long.com.

    > www.long.com      查看用域名能否解析成IP地址
    

    Server: 192.168.115.120

    Address: 192.168.115.120#53

    Name: www.long.com

    Address: 192.168.115.130

    (7)再创建一台虚拟机作为网页服务器,把IP地址修改为我们DNS服务器解析的IP地址,然后安装httpd服务
    [root@localhost network-scripts]# yum -y install httpd

    [root@localhost network-scripts]# systemctl start httpd.service

    (8)在客户机上输入网址解析即可
    [root@localhost network-scripts]# yum -y install elinks

    [root@localhost network-scripts]# elinks www.long.com

    输入这个地址后就会弹出下面的网页服务窗口

    blob.png

    到了这里我们的DNS服务器就已经搭建完成了。

    展开全文
  • 文章目录前言一:BIND域名服务基础1.1:DNS系统的...Centos7-1 安装并启动DNS服务1.1:安装DNS域名解析服务1.2:修改三个配置配置文件三:Win10 客户机访问kgc进行域名解析四:利用httpd服务搭建web访问 前言 域名解
  • DNS 系统在网络中的作用就是维护一个地址数据库,其中记录了各种主机域名与 IP 地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正向解析与反向解析 BIND 域名服务概述 BIND 不是唯一能够提供域名...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,567
精华内容 6,626
关键字:

dns域名解析详解