【澳门金沙30064.com】域名的DNS深入分析详解,Centos服务器构建免费的缓存DNS服务器

团结搭建递归DNS服务器

诚如意况下,当我们连接受多少个不熟悉的互联网蒙受时,我们会委托由DHCP告知的DNS服务器来做域名分析的干活。但以笔者之见,那样的做法具备异常的大的安全隐患。

使用旁人提供的DNS服务器,意味着你询问得到的结果是服务器管理员想要给你的结果。由于权威DNS的效应正是给本来从不域名的主机赋予域名(详细情形可查阅维基百科),因而在一般景色下,相信权威DNS的分析结果并不会有何难题,除非权威DNS的总指挥中出了叛徒:-)

而是非权威DNS就不一样等了:它们的成效并不是为主机赋予域名,而仅仅是深入分析由顾客端发来的域名,并付出结果。最广泛的非权威DNS是递归DNS,它按如下方式行事:

举个例子你准备向二个递归DNS查询www.bkjia.com的IP地址,而该递归DNS尚未缓存相关的全数地点,则递归DNS首先会向根权威DNS查询担负全部.com域名的上流DNS的地方,然后向该权威DNS(暂名称为A)查询担负bkjia.com的下一流权威DNS——B的地点,最后向B查询www.bkjia.com的地方,将获得的地点重临给客商端。可以看到,那是贰个递归式的经过,大家能够使用BIND附带的DNS调节和测验工具dig$ dig +trace <domain-name>的指令来察看这一进程。

但多少非权威DNS完全恐怕将服务器管理员设置的另一个地址重临给你,进而抵达一些偷偷的指标。其听从和DNS威胁有几分相似,然则在这种攻击场景中并不曾人篡改在网络中传输的DNS数据包,而是你选用的DNS重临的信息本人正是有标题标。

即便你直接使用的非权威DNS未有心怀叵测,权威DNS重回给它的询问结果还是有异常的大概率被曲解。就算DNSSEC提供了根据数字签名的建制来防御篡改,但大家照例无法明白大家运用的非权威DNS是或不是接纳了DNSSEC。

康宁是无法托付给外人的。以上现实际情情形都指向叁个减轻方案:在融洽的每一台Computer上搭建二个方可做递归查询的非权威DNS服务器,然后让那台微型计算机上的DNS客商端只行使它来做DNS查询。

那样的自由软件首要有Unbound和BIND,我利用的是野史最久远的DNS服务器软件——BIND。

BIND的默许配置便是三个递归DNS服务器,最新版的BIND还自带了DNSSEC的扶助。那象征当您打算剖析一个路过的各级权威DNS都配备了DNSSEC的域名(举个例子西藏地区的域名)时,任何篡改花招都会错过意义,况且只要篡改者无法阻拦真正的查询结果到达,你就总能获得不错的结果。

然则DNSSEC尚未完全分布,实情时常是最终一流权威DNS(即最后交由你谋算深入分析的域名对应IP地址的高贵DNS)没有DNSSEC帮助,那样最顽固的DNS缓存投毒攻击依然会污染大家的递归DNS服务器的缓存。但只要大家知晓一点非权威DNS,向它们查询有些特定的被污染域名总能给出精确的结果,我们还是能够运用BIND的DNS
zone功效(很缺憾unbound就像无此功用),让它碰着这一个域名时转到那些防污染DNS上剖析。

BIND的主配置文件named.conf一般会用include言语拆分成几个子配置文件分别管理。大家得以追加多少个子配置文件极度陈设zone,如

  1. include "/etc/bind/named.conf.zones";

下一场在那么些子配置文件中写入转载准则:

  1. zone "domain.example.com"{
  2. type forward;
  3. forwarders { ipaddr-of-server0; ipaddr-of-server1;...};
  4. };

自然,子配置文件还能够动用include语句进一步拆分。越来越尖端的用法能够参谋BIND的man
pages。

那样一来,绝半数以上域名还是依靠安顿在本机的非权威DNS实行带缓存的递归查询,避开了离谱的、由客人提供的、参数不明的非权威DNS;而个别传染严重的域名则转交给相应的防污染DNS解析,这一个针对特定防污染DNS的zone可以随发掘随增多。综合那三种艺术能够抵御常见的大大多与DNS相关的口诛笔伐。

若果您改写了BIND的安插文件,提议选取named-checkconf和named-checkzone检查其语法。必要再度起动BIND使配置生效。注意:那些操作一般都必要root权限。

安吹嘘IND并用dig测验,确认它能健康办事后,在您的dhclient.conf(地点恐怕与发行版有关)中增添一行:

  1. prepend domain-name-servers 127.0.0.1;

或把这么些文字前边的笺注符号去掉。重新连接互联网之后/etc/resolv.conf文件会被更新,机器上的顾客端就能够依据当中的音信应用监听于本机53端口的DNS服务器做DNS查询,DHCP给出的DNS将被屏蔽掉。

掩饰DHCP给出的DNS是担当更新resolv.conf的resolvconf程序的暗许配置TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS的功效。如若你须要DHCP给出的DNS,能够在/etc/default/resolvconf(地点可能与发行版有关)中校其安装为no来关闭这一保卫安全,但因前文所述理由这么做会有安全隐患,作者不推荐关闭这一功力。假若急需对付某个公共有线局域网火热的挂号流程,能够将DHCP给出的DNS消息手动写入resolv.conf,注册成功后再去掉;我也在商讨更安全的对付注册流程的不二秘技。当然小编曾见过好几特别恶劣的国有无线局域网火爆,个中不指向DHCP提供的DNS的兼具查询都会被挡住,境遇这种流氓火热你独一能做的正是躲着走了。

本文永远更新链接地址:

一般情形下,当我们连接受贰个来历不明的网络蒙受时,咱们会委托由DHCP告知的DNS服务器来做域名解析的职业。但在自家…

实施背景:小诺集团脚下的网络际遇是持有顾客都得以上国农林科技大学网,况兼选取的DNS是通过DHCP服务器获获得到的,DHCP服务器上填入的DNS地址为公网络一台注册的DNS服务器。而小诺集团并不曾搭建DNS服务器。随着业务的充实,小诺集团职工上网的频率更大,由于域名解析的主题素材平常产生互联网的围堵,并且平日有职工抱怨浏览的网页在做事之间(浏览高峰期)总是超时。未来公司须要采取Linux搭建一台缓存型DNS服务器,将职员和工人经常浏览的网址和相应的IP地址缓存到地头DNS服务器上,当职员和工人再度访谈访谈过的网址时,只须求在该地缓存DNS服务器上举办域名深入分析,进而裁减了互连网不通难点。安装缓存型DNS并无需在公网络开展登记,只对客户查询过的域名深入分析记录进行缓存,当客户第贰次开展某域名的查询时,缓存服务器将向其余DNS服务器进行域名查询并将查询结果保存在缓存中。缓存服务器大大进步了常用域名的查询速度,由此特别契合于在局域网里面采纳,其重大目标是巩固域名深入分析的速度和节约对网络访谈的出口带宽。尝试步骤:**一、安装域名服务(BIND服务器软件包)BIND软件包是眼前Linux下行使最普及的DNS服务器安装包,它能够运作到大多数UNIX服务器中,也席卷Linux系统。PRADOHEL4暗中认可未有安装逼IND服务器软件包,而只设置了名字为bind-libs和bind-utils的多少个域名分析相关的软件包,bind-libs软件中提供了贯彻域名剖判功用必不可缺的库文件,bing-utils中提供了对DNS服务器的测验工具程序。澳门金沙30064.com 1奇骏HEL4种类中提供了RPM格式的BIND服务器软件包,位于第4章光盘中,安装文件的名称是bind-9.2.4-2.i386.rpm。由于未有暗中认可实行设置,必要管理员使用rpm命令举办手动安装。澳门金沙30064.com 2BIND服务器的服务程序(脚本)名称是named,该服务程序在BIND服务器安装后暗许不活动运维,供给接纳chkconfig命令举行手动设置在运作品级3和5的启航状态。澳门金沙30064.com 3BIND服务器的主配置文件是named.conf,保存在“/etc”目录中,该文件是安装bind软件包时生成的,并不是归纳在该软件包中的。澳门金沙30064.com 4BIND服务器中的域名区域文件须要保留在职业目录“/var/named/”中,bind软件包安装后,该目录富含八个空的子目录,管理员必要在该目录中保存DNS服务器的区域文件。目录data中保存全部主区域文件的数据库,slaves中保留全体从主DNS复制过来的区域文件,何况默以为只读。澳门金沙30064.com 5*【澳门金沙30064.com】域名的DNS深入分析详解,Centos服务器构建免费的缓存DNS服务器。*二、安装caching-nameserver软件包逍客HEL4系统为布局缓存域名服务器特地提供了名称为caching-nameserver的软件包,该软件包保存在第一张安装光盘中,系统暗中认可未有设置,需求选取rpm命令进行手动安装。澳门金沙30064.com 6安装实现以后,caching-nameserver将对BIND服务器的安插文件named.conf的内容举办改换,原有文件中的内容被封存在文书“/etc/named.conf.rpmorig”中。澳门金沙30064.com 7**

什么是DNS

域名

如:www.baidu.com,那是三个主机名,
它事实上有三个显明的定义叫Full Qualified Domain
Name,即完全限定域名.那个主机名对应的着实域名是.com和.baidu.com.由此可见,其实域名,是指必将限制内主机名的集结.
Domain Name Service(DNS)名称解析服务,
实际上是在进展名称调换,背后有三个多少查询的经过,以达成二种指标名称的附和调换.而DNS正是这种将FQDN转变来IP地址的服务.如:

119.75.213.61 ---> www.baidu.com
211.98.71.195 ---> www.bilibili.com

由此存在主机名和IP地之间名称转变的标题,能够这么明白.
人的想想格局连接与Computer分化的,对于Computer来说,全体的言语最后都不过是数字,由此Computer之间通讯用以区分相互的是IP地址.但人类也急需经过和煦能领略的不二等秘书技去分别主机,用IP地址分明不可回想,因些大家透过主机名来识别网络中的每一台主机.

nsswitch框架: /etc/nsswitch.conf是那么些框架的求实体现

给名称剖判提供三个阳台,而事实上到位名称深入分析操作的是现实性的一个个的百货店.那么些框架依据linux系统调用库工具帮忙现实贯彻名称分析的次第完毕名称解析.这多个库是之类

  • libnss_files.so
  • libnss_dns.so

/etc/nsswitch.conf中有一行内容为hosts: files dns

这里的files是libnss_files去/etc/hosts文件,通过这么些文件实现主机名称到ip地址的映照关系;dns则是指dns服务.

由此当我们去伏乞贰个主机名时,系统会调用一个库函数完结主机名到ip的调换,这一个进度由stub
resolvers完成.那么些进程能够透过网际合同ping来查看.

➜  ~ ping http://www.bilibili.com/
PING http://www.bilibili.com/ (211.98.71.195): 56 data bytes
64 bytes from 211.98.71.195: icmp_seq=0 ttl=250 time=3.399 ms
64 bytes from 211.98.71.195: icmp_seq=1 ttl=250 time=4.362 ms
64 bytes from 211.98.71.195: icmp_seq=2 ttl=250 time=6.390 ms
64 bytes from 211.98.71.195: icmp_seq=3 ttl=250 time=6.101 ms
64 bytes from 211.98.71.195: icmp_seq=4 ttl=250 time=4.439 ms

早期主机名—>IP的措施,通过hosts文件,那时候的主机很少

IPADDR            FQDN                Aliases
211.98.71.195     www.bilibili.com    www

IANA和ICANN

IANA担当维护主机名与IP地址的照射关系.IANA即互连网名称分配机构.IANA通过ftp服务器保存三个hosts文件.全体的主机网络中做客其余主机时,会先去IANA的ftp服务器上下载最新的hosts文件,进而得到要诉求主机对应的IP地址.

  • 周期性任务改进hosts文件
  • Server:
    由发送的哀求指标主机在服务器端更新,之后将指标主机名对应的IP发送给客商端

    • 澳门金沙30064.com,即时的基准,央浼抵达1KW条时,导致服务器不堪重负,查询也慢.
  • 布满式数据库
    • 按Level管理域名
    • 自顶向下为: 根,拔尖,二级…
    • 上级仅知道其一向下级
    • 下属仅知道根的职分
    • 按Level管理域名
    • TLD(Top Level Domain)
      • 组织域: .com, .org, .net, .cc
      • 国家域: .cn, .jp, .hk, .tw, .ca, .iq
      • 反向域: IP—>FQDN

但随着互连网中主机数量增大,后来民间创建了一个ICANN替代了IANA的功能.

名称解析分类

  • 正向解析: FQDN—>IP
  • 反向分析: IP—>FQDN
  • 二个IP能够对应七个FQDN
  • 一个FQDN也能够对应七个IP,
    那是DNS的高级功效,恐怕达成负载均衡,进步服务器的载重技能

查询

  • 递归: 只发生贰次呼吁
  • 迭代: 发出累累伸手
  • 不无DNS乞求都是两段式: 前半段递归,后半段迭代
  • 查询结果会缓存下来

DNS服务器

  • 经受当地客商端的询问央求(递归)
  • 外界顾客端须要: 乞求权威答案的
    • 自然答案: TTL
    • 否定答案: TTL
  • 外界客商端央求非权威答案: 非上流答案,不给递归查询
  • 根或.com的域不会给任哪个人递归,安全起见

/etc/resolv.conf

以此文件中的nameserver IP必需是同意递归的服务器地址,而stub
resolver又是叁个须求必得有回答的递归央浼.因些,一旦写成不允许递归的IP,
stub resolver将得不到应答.

三、深入分析配置文件named.conf**1、named.conf中的全局设置directory用于设置BIND服务器的劳作目录,即域名区域文件保留的目录,设置的暗许值为“/var/named”。dump-file用于安装域名缓存文件的保留地点和文书名。澳门金沙30064.com 8**2、根区域设置及根区域文件根区域是互连网中存有域名的上马,使用句号(.)表示,缓存服务器唯有能够访问DNS根服务器才干提供平时的域名深入分析服务。配置新闻如下:type设置为hint表示该区域的项目是根区域。file用于安装区域文件,根区域文件的称号是name.ca,该文件保留在BIND的劳作目录中,即“/var/named”目录中。name.ca文件中总结了大地范围内网络使用的具备DNS根服务器的地址剖析音讯,是由互连网管理机构统一宣布的,因而不须求客商更动内部的内容。澳门金沙30064.com 9负有配置的区域文件都保存在“/var/named/”中澳门金沙30064.com 10name.ca文件去除注释行后的内容和式样如下所示:显示的举国13台根DNS服务器的IP地址以及对应的域名。澳门金沙30064.com 11**3、localhos正向深入分析Localhost区域的法力是对主机名称localhost和环绕地址127.0.0.1之内开展深入分析,代表本机,可作本机的网卡测量检验用。使用的参数含义如下:typemaster代表该区域的类型为主服务器。file设置localhost域的区域文件名称叫localhost.zone澳门金沙30064.com 12localhost.zone区域文件为localhost.zone,能够查阅到一条A记录对应127.0.0.1。澳门金沙30064.com 134、localhos的反向分析文件**在DNS区域中,每个地区的正向深入分析必然有对应的反向深入分析区域,反向剖析区域的意义是将IP地址调换为对应的域名。内容如下:Localhost的反向分析区域的名号是0.0.127.in-addr.arpa,名称后缀为“.in-addr.arpa”的区域都以反向深入分析区域,名称中0.0.127是IP地址127.0.0的倒置,那样的反向剖析区域名称是named.conf配置文件中的约定。澳门金沙30064.com 140.0.127.in-addr.arpa区域的体系是master,即主服务器。区域文件的称谓是named.local,该区域文件具备如下内容:在named.local区域文件中运用上面包车型大巴笔录设置了IP地址127.0.0.1应和的主机域名字为localhost。澳门金沙30064.com 15四、缓存域名服务器的起步和测量检验**缓存域名服务器在装置caching-nameserver软件包没有要求其它别的的安插就足以运转运作,只要那台DNS服务器能够访谈公网就足以了,使用的是这十三台根服务器,通过迭代的方法展开域名查询。运营named服务器。澳门金沙30064.com 16测验缓存域名服务器,测量检验localhost的正向剖判和127.0.0.1的反向分析。尽管能够上公网也足以测量检验互连网上某一域名的正向深入分析和反向分析。澳门金沙30064.com 17**

DNS服务器

差别的域名层级实际就是由一台一台的域名服务器组织起来的.

根服务器

芸芸众生一共有A-M排列的13组根服务器,共504台.其中中华人民共和国都城有四台根镜像.域名格式为a.root-servers.net.

DNS服务器主从协会

尽管一台DNS服务器,意味着那一个台DNS服务器管理的具备主机都将不得达.那是分外漏脯充饥的,进而有供给提供安全机制,避防守DNS服务器挂掉后造成不可想像的后果.

  • MASTEHighlander DNS服务器: 数据修改
  • SLAVE DNS服务器: 诉求数据同步,唯有有需求时才会pull数据
    • serials number: 版本号
    • refresh: 多久检查一遍MASTE宝马X3的本子号
    • retry: 重试时间
    • expire: 感觉MASTEPRADO挂掉的年月
    • negative answer TTL: 否定答案缓存时长

缓存DNS服务器

不提供任何权威答案,只肩负缓存

转发DNS服务器

不提供权威答案,也不缓存,只将诉求转载出来

NOTE:

DNS服务器是由上级在数据库授权的

小诺公司方今的网络遭逢是全部客商都能够上国航空航天高校网,何况选择的DNS是透过DHCP服务器获取获得的,DHCP服务器上填入的DNS地址为公…

DNS主机剧中人物

全部域中的主机都有本人的剧中人物,举个例子有的是邮件服务器,有的是www的服务器等等.

在数据库中的每一个条约叫作多个能源记录,每条记下中的凯雷德RT(财富记录类型)字段用以区分那条记下最后要转变到什么.格式:

$TTL 600;
NAME  TTL(可省略,但必须提供全局变量)    IN    RRT    VALUE
www.baidu.com                       IN    A      1.1.1.1
1.1.1.1                             IN    PTR    www.baidu.com

财富记录类型LacrosseRT

用来表示那条记下要剖判的值在DNS内部是怎么着角色.

  • A
  • AAAA
  • NS
  • MX
  • WWW
  • PTR
  • @: 用来代表域名zone name

A记录

FQDN           ---> IPv4
www.baidu.com. ---> 119.75.213.61

AAAA记录

FQDN           ---> IPv6
www.baidu.com. ---> 2001:503:ba3e::2:30

NS记录

在叁个zone内,允许有多台NS服务器,而这么些服务器的主从关系是透过陈设文件加以区分.

Zone Name      ---> FQDN

baidu.com.     ---> ns1.baidu.com.(NS记录)
ns1.baidu.com. ---> 119.75.213.61(A记录)

ZoneName      TTL    IN    RRT   VALUE     
baidu.com.    600    IN    NS    ns1.baidu.com.
ns1.baidu.com.600    IN    A     1.1.1.1

SOA:起初授权记录

是因为三个zone内,允许有多台NS服务器,主干之间怎么联合数据,以及起先授权对象是哪个人,这些发明通过SOA记录肩负完结.那条记下必需出现在数据文件的第一条.

邮箱格式符合规律为
nora@126.com,
然而在能源记录中要写成nora.126.com.因为在财富记录中这些@是三个通配符,代表zone
name.

# MASTER FQDN 是主DNS服务器主机全限定主名称
# 主从之间请求的几个参数可以用的单位有: H, M, D, W, 默认是S
# serial number最长不能超过10位,一般使用时间戳,数据文件每修改一次,serialnumber也要修改一次
# 这个资源数据文件中注释用`;`开头
$TTL 600;
ZONE NAME    IN     RRT     MASTER FQDN    ADMINISTRATOR_MAILBOX (
                                         serial number
                                         refresh
                                         retry
                                         expire
                                         negative answer)
baidu.com    IN     SOA     ns1.baidu.com. admin.baidu.com. (
                                         201706241641 ; 版本号
                                         1H
                                         1M
                                         1W
                                         1D )

MX(Mail Exchanger)

谈到底指向有个别域内邮件服务器的主机名,一般会有多台,由预先级字段决定利用中的是哪台.优先级从0-99,数字越小优先级越高.
同期也要像NS一样,要付出那台邮件服务器对应的A记录,以报告伏乞者那台服务器的IP地址.

ZONE NAME      ---> FQDN

ZONE NAME         TTL     IN    RRT    PRI    VALUE
baidu.com.        600     IN    MX     10     mail.baidu.com.
mail.baidu.com.   600     IN    A             1.1.1.1

PTLAND记录: 反向分析,交换IP转变到FQDN

IP             ---> FQDN
1.1.1.1    600    IN    PTR    www.baidu.com

CNAME: Canonical Name 正式名称

FQDN              ---> FQDN
zone name           TTL     IN      RRT     VALUE
www2.baidu.com. 600     IN      CNAME   www.baidu.com.

再有一对定义

  • 域: Domain是叁个逻辑概念.
  • 区域: Zone是二个物理概念.

NOTE:
Zone是多少个物理概念.贰个域名在DNS分析的长河中依附深入分析数据文件,正向深入分析信赖正向剖判文件,反向分析正视反向剖判文件,正向剖析文件即正向区域,反向解析文件即反向区域.那七个区域组成的长空即为域.但是域与区域之内平素不必然的盈盈关系.因为域由上级授权,授权通过区域完毕,因而域来自于区域文件.同有时候,正向域与反向域的授权是分离实行的.正向区域的zone
name与域名一样,可是反向区域的zone name却是与域名有相当的大的分裂.

# 注册了一个域名 xpercent.com
# 又从ICANN获得了一个网段 10.211.55.0/24
# xpercent.com域中 域名解析服务器主机为 10.211.55.2
# xpercent.com域中 还有一台MX邮件服务器, 主机IP为 10.211.55.3
# 从上级获取授权, 写一个授权记录
# 授权记录
Zone Name           IN      RRT     VALUE
xpercent.com.       IN      NS      ns1.xpercent.com.
ns1.xpercent.com.IN     A       10.211.55.2

# 正向区域文件
Zone Name            IN     RRT     FQDN    ADMIN_MAILBOX
xpercent.com.    IN     SOA     ns1.xpercent.com. mail.xpercent.com. (
                                201706241641 ; 版本号
                                1H
                                5M
                                1W
                                1D )
xpercent.com.    IN     MX      10.211.55.3
www.xpercent.com. IN    A       10.211.55.2

注意,soa的zone name写成@,@知道自己处于哪个域内,这是通过配置文件实现的.
而此后的所有记录zone name都可以将域名去掉后只写前半段.**不可加上`.`**

# 反向区域文件
# ZONE NAME是网段地址的逆序且加上.in-addr.arpa后缀
Zone Name                        IN     RRT     VALUE
55.211.55.in-addr.arpa.      IN     SOA     
2.55.211.10.in-addr.arpa.   IN  PTR     www.xpercent.com.
# 上面的PTR记录zone name可简写为2
  • 区域传送的项目
    • 全然区域传送: axfr
    • 增量区域传送: ixfr
  • 骨干区域类型
    • 主区域: 主DNS服务器 MASTER
    • 从区域: 从DNS服务器 SLAVE
    • 提醒区域: 自个儿找不到的,依据hint找到根的职位 HINT
    • 转载区域: 加多一条可递归的DNS服务器 FOWranglerWA哈弗

DNS服务器搭建

规划

  • 注册域名: xpercent.me
  • 网段号: 10.211.55.0/24
  • 搭一台缓冲DNS服务器: 10.211.55.1 担当解析注册域的具有FQDN工作
  • www.xpercent.me
    10.211.55.1, 10.211.55.3
  • mail.xpercent.me 10.211.55.2
  • ftp.xpercent.me
    www.xpercent.me

BIND安装

shell> rpm -qa | grep "^bind"
shell> rpm install -y bind-lib, bind-utils, bind
shell> rpm -qlv bind # 查看bind最后的安装目录及配置文件等
# 文件列表如下
drwxr-x---    2 root  named  0 May  9 21:43 /etc/named
-rw-r-----    1 root  named  984 Nov 20 2015 /etc/named.conf
-rw-r--r--    1 root  named  2389 May  9 21:43 /etc/named.iscdlv.key
-rw-r-----    1 root  named  931 Jun 21  2007 /etc/named.rfc1912.zones
-rw-r--r--    1 root  named  487 Jul 19  2010 /etc/named.root.key
# 守护进程脚本
-rwxr-xr-x    1 root  root   7992 May  9 21:43 /etc/rc.d/init.d/named
# 守护进程脚本的配置文件
-rw-r--r--    1 root    root 1695 May  9 21:43 /etc/sysconfig/named
# rndc文件
-rw-r-----    1 root    named  0 May  9 21:43 /etc/rndc.conf
-rw-r-----    1 root    named  0 May  9 21:43 /etc/rndc.key
# 二进制程序
-rwxr-xr-x    2 root    root   550744 May  9 21:43 /usr/sbin/named
-rwxr-xr-x    1 root    root   28464 May  9 21:43 /usr/sbin/named-checkconf
-rwxr-xr-x    1 root    root   24416 May  9 21:43 /usr/sbin/named-
checkzone
# 区域数据文件
-rw-r-----    1 root  named  3171 Jan 11  2016 /var/named/named.ca
-rw-r-----    1 root  named  152 Dec 15  2009 /var/named/named.empty
-rw-r-----    1 root  named  152 Jun 21  2007 /var/named/named.localhost
-rw-r-----    1 root  named  168 Dec 15  2009 /var/named/named.loopback

BIND相关文件

  • /etc/named
  • /etc/named.conf
    BIND进度的劳作性质,区域的概念等主配置文件,也便是已经安装caching-server
  • /etc/rndc.key
    • rndc: 远程域名调节进度
    • rndc.key: 是远程管理使用的密钥
    • 布置文件其实是: /etc/rndc.conf
  • /var/named: 区域数据文件存款和储蓄地点
  • /etc/rc.d/named: start|stop|restart|reload|status|configtest
  • /var/log/message: dns运营时日志文件
  • named: 二进制造进度序,位于/usr/sbin/named
  • named-checkconfig: 检查区域布局文件的语法
  • named-checkzone: 检查区域布局文件的语法
  • named.ca: 13组根结点
  • named.localhost: 将localhost解析成127.0.0.1及::1
  • named.loopback: 本地主机名的正反向分析

DNS监听的端口

  • UDP 53, 暗中同意的查询央浼合同
  • TCP 53, 从服务器同步数据时用TCP
  • TCP 953, EvoqueNDC监听的端口

数据文件注意事项

格式: 全文全体括号前后有空格,每四个总身体语言句必需以;结束.

ZONE "ZONE NAME" IN {
    type master|slave|hint|forward
    file "相对option中的directory而言"
};
  • options: 全局选项,对每种zone有效
    • directory:
      定义数据目录,是个相对路径,文件中任何目录都相对那个门路来讲
    • recursion: 是或不是给所接受的乞求实行递归查询
  • ZONE:
    • 根区域: type hint;
    • 主区域: type master;
    • 从区域: type slave;
  • include:

搭建流程

用到的某个命令及基表达

shell> mv /etc/named.conf /etc/named.conf.backup
shell> cp /etc/named.conf.backup /etc/named.conf -p
shell> named-checkconfig
shell> named-checkzone "." /var/named/named.ca
# named-checkzone "zone name" filename
shell> named-checkzone "localhost" /var/named/named.localhost
shell> named-checkzone "loopback" /var/named/named.loopback
shell> getenforce # 确认selinux是否开启,开启的话要关闭
shell> setenforce 0 # 临时性的关闭selinux
shell> servcie named start
shell> tail /var/log/message
shell> netstat -npl#p父进程id/l列表/n以ip:port形式显示进程/t:tcp/u:udp
shell> ping www.baidu.com # 能ping能表示服务器搭建成功
shell> dig -t "RT" "ZONE NAME"
shell> dig -t NS    xpercent.me
shell> dig -t A www.xpercent.me.
shell> dig -t MX mail.xpercent.me.
shell> dig -x IP

# dig: domain information gropher,在域名服务器系统中查看相关信息
shell> dig -t NS . # 查找要域的所有DNS服务器,前提是运行dig进程的主机必须要能访问互联网
shell> dig -t NS . @A.ROOT-SERVERS.NET. # 直接通过A.ROOT-SERVERS.NET.这个域查找根域的信息

DNS服务器配置文件/etc/named.conf

options {
    directory "/var/named";
};
zone "." IN {
    type hint;
    file "named.ca";
};
zone "localhost" IN {
    type master;
    file "named.localhost";
};
zone "loopback" IN {
    type master;
    file "named.loopback";
};
zone "xpercent.me" IN {
    type master;
    file "xpercent.me.zone";
};
zone "55.211.10.in-addr.arpa" IN {
    type master;
    file "10.211.55.zone";
};

正向区域文件/var/named/xpercent.me.zone

$TTL 86400;
@           IN      SOA ns1.xpercent.me.        admin.xpercent.me. (
                    201706241800
                    1H
                    5M
                    1W
                    1D )
            IN      NS          ns1
            IN      MX  10      mail
ns1         IN      A           10.211.55.1
www         IN      A           10.211.55.1
mail        IN      A           10.211.55.2
www         IN      A           10.211.55.3
ftp         IN      CNAME       www

反向区域文件 /var/named/10.211.55.1.zone

$TTL 86400;
@   IN  SOA ns1.xpercent.me.    admin.xpercent.me. (
                    201706241800
                    1H
                    5M
                    1W
                    1D )
    IN  NS  ns1.xpercent.me. ; 这里的FQDN必须写到`.`,
1   IN  PTR www.xpercent.me.
2   IN  PTR mail.xpercent.me.
3   IN  PTR www.xpercent.me.
  • /etc/resolv.conf

# 这里的nameserver必须指向一台可以联网的主机
nameserver 10.211.55.200

测量检验一下

# 正向测试
[root@os1 named]# dig -t A www.xpercent.me
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t A www.xpercent.me
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55993
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;www.xpercent.me.       IN  A

;; ANSWER SECTION:
www.xpercent.me.    86400   IN  A   10.211.55.1
www.xpercent.me.    86400   IN  A   10.211.55.3

;; AUTHORITY SECTION:
xpercent.me.        86400   IN  NS  www.xpercent.me.

;; Query time: 0 msec
;; SERVER: 10.211.55.200#53(10.211.55.200)
;; WHEN: Sat Jun 24 07:52:18 2017
;; MSG SIZE  rcvd: 79

# 反向测试
[root@os1 named]# dig -x 10.211.55.1
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -x 10.211.55.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50309
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;1.55.211.10.in-addr.arpa.  IN  PTR

;; ANSWER SECTION:
1.55.211.10.in-addr.arpa. 86400 IN  PTR www.xpercent.me.

;; AUTHORITY SECTION:
55.211.10.in-addr.arpa. 86400   IN  NS  ns1.xpercent.me.

;; ADDITIONAL SECTION:
ns1.xpercent.me.    86400   IN  A   10.211.55.1

;; Query time: 0 msec
;; SERVER: 10.211.55.200#53(10.211.55.200)
;; WHEN: Sat Jun 24 08:48:14 2017
;; MSG SIZE  rcvd: 105

递归与迭代的区别

递归查询

[root@os1 named]# dig -t A www.baidu.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -t A www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8910
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 5

;; QUESTION SECTION:
;www.baidu.com.         IN  A

;; ANSWER SECTION:
www.baidu.com.      1200    IN  CNAME   www.a.shifen.com.
www.a.shifen.com.   300 IN  A   111.13.100.91
www.a.shifen.com.   300 IN  A   111.13.100.92

;; AUTHORITY SECTION:
a.shifen.com.       1145    IN  NS  ns1.a.shifen.com.
a.shifen.com.       1145    IN  NS  ns2.a.shifen.com.
a.shifen.com.       1145    IN  NS  ns3.a.shifen.com.
a.shifen.com.       1145    IN  NS  ns5.a.shifen.com.
a.shifen.com.       1145    IN  NS  ns4.a.shifen.com.

;; ADDITIONAL SECTION:
ns1.a.shifen.com.   1145    IN  A   61.135.165.224
ns2.a.shifen.com.   1145    IN  A   180.149.133.241
ns3.a.shifen.com.   1145    IN  A   61.135.162.215
ns4.a.shifen.com.   545 IN  A   115.239.210.176
ns5.a.shifen.com.   1145    IN  A   119.75.222.17

;; Query time: 45 msec
;; SERVER: 10.211.55.200#53(10.211.55.200)
;; WHEN: Sat Jun 24 09:32:16 2017
;; MSG SIZE  rcvd: 260

迭代查询

Step1

[root@os1 named]# dig +norecurse -t www.baidu.com
;; Warning, ignoring invalid type www.baidu.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> +norecurse -t www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2486
;; flags: qr ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13

;; QUESTION SECTION:
;.              IN  NS

;; ANSWER SECTION:
.           517857  IN  NS  e.root-servers.net.
.           517857  IN  NS  m.root-servers.net.
.           517857  IN  NS  k.root-servers.net.
.           517857  IN  NS  i.root-servers.net.
.           517857  IN  NS  j.root-servers.net.
.           517857  IN  NS  f.root-servers.net.
.           517857  IN  NS  l.root-servers.net.
.           517857  IN  NS  c.root-servers.net.
.           517857  IN  NS  h.root-servers.net.
.           517857  IN  NS  a.root-servers.net.
.           517857  IN  NS  g.root-servers.net.
.           517857  IN  NS  b.root-servers.net.
.           517857  IN  NS  d.root-servers.net.

;; ADDITIONAL SECTION:
a.root-servers.net. 517857  IN  A   198.41.0.4
a.root-servers.net. 517857  IN  AAAA    2001:503:ba3e::2:30
b.root-servers.net. 517857  IN  A   192.228.79.201
b.root-servers.net. 517857  IN  AAAA    2001:500:200::b
c.root-servers.net. 517857  IN  A   192.33.4.12
c.root-servers.net. 517857  IN  AAAA    2001:500:2::c
d.root-servers.net. 517857  IN  A   199.7.91.13
d.root-servers.net. 517857  IN  AAAA    2001:500:2d::d
e.root-servers.net. 517857  IN  A   192.203.230.10
e.root-servers.net. 517857  IN  AAAA    2001:500:a8::e
f.root-servers.net. 517857  IN  A   192.5.5.241
f.root-servers.net. 517857  IN  AAAA    2001:500:2f::f
g.root-servers.net. 517857  IN  A   192.112.36.4

;; Query time: 0 msec
;; SERVER: 10.211.55.200#53(10.211.55.200)
;; WHEN: Sat Jun 24 09:34:19 2017
;; MSG SIZE  rcvd: 508

Step2

[root@os1 named]# dig +norecurse -t A www.baidu.com @a.gtld-servers.net.

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> +norecurse -t A www.baidu.com @a.gtld-servers.net.
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24622
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 5, ADDITIONAL: 5

;; QUESTION SECTION:
;www.baidu.com.         IN  A

;; AUTHORITY SECTION:
baidu.com.      172800  IN  NS  dns.baidu.com.
baidu.com.      172800  IN  NS  ns2.baidu.com.
baidu.com.      172800  IN  NS  ns3.baidu.com.
baidu.com.      172800  IN  NS  ns4.baidu.com.
baidu.com.      172800  IN  NS  ns7.baidu.com.

;; ADDITIONAL SECTION:
dns.baidu.com.      172800  IN  A   202.108.22.220
ns2.baidu.com.      172800  IN  A   61.135.165.235
ns3.baidu.com.      172800  IN  A   220.181.37.10
ns4.baidu.com.      172800  IN  A   220.181.38.10
ns7.baidu.com.      172800  IN  A   119.75.219.82

;; Query time: 113 msec
;; SERVER: 192.5.6.30#53(192.5.6.30)
;; WHEN: Sat Jun 24 09:35:41 2017
;; MSG SIZE  rcvd: 201

Step3

[root@os1 named]# dig +norecurse -t A www.baidu.com @dns.baidu.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> +norecurse -t A www.baidu.com @dns.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17196
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 5

;; QUESTION SECTION:
;www.baidu.com.         IN  A

;; ANSWER SECTION:
www.baidu.com.      1200    IN  CNAME   www.a.shifen.com.

;; AUTHORITY SECTION:
a.shifen.com.       1200    IN  NS  ns5.a.shifen.com.
a.shifen.com.       1200    IN  NS  ns3.a.shifen.com.
a.shifen.com.       1200    IN  NS  ns2.a.shifen.com.
a.shifen.com.       1200    IN  NS  ns1.a.shifen.com.
a.shifen.com.       1200    IN  NS  ns4.a.shifen.com.

;; ADDITIONAL SECTION:
ns1.a.shifen.com.   1200    IN  A   61.135.165.224
ns2.a.shifen.com.   1200    IN  A   180.149.133.241
ns3.a.shifen.com.   1200    IN  A   61.135.162.215
ns4.a.shifen.com.   1200    IN  A   115.239.210.176
ns5.a.shifen.com.   1200    IN  A   119.75.222.17

;; Query time: 7 msec
;; SERVER: 202.108.22.220#53(202.108.22.220)
;; WHEN: Sat Jun 24 09:36:45 2017
;; MSG SIZE  rcvd: 228

总结
一条命令追踪整个深入分析进程.

[root@os1 named]# dig +trace -t A www.baidu.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> +trace -t A www.baidu.com
;; global options: +cmd
.           517565  IN  NS  k.root-servers.net.
.           517565  IN  NS  d.root-servers.net.
.           517565  IN  NS  c.root-servers.net.
.           517565  IN  NS  l.root-servers.net.
.           517565  IN  NS  i.root-servers.net.
.           517565  IN  NS  a.root-servers.net.
.           517565  IN  NS  g.root-servers.net.
.           517565  IN  NS  f.root-servers.net.
.           517565  IN  NS  m.root-servers.net.
.           517565  IN  NS  e.root-servers.net.
.           517565  IN  NS  j.root-servers.net.
.           517565  IN  NS  b.root-servers.net.
.           517565  IN  NS  h.root-servers.net.
;; Received 508 bytes from 10.211.55.200#53(10.211.55.200) in 5 ms

com.            172800  IN  NS  c.gtld-servers.net.
com.            172800  IN  NS  j.gtld-servers.net.
com.            172800  IN  NS  l.gtld-servers.net.
com.            172800  IN  NS  f.gtld-servers.net.
com.            172800  IN  NS  d.gtld-servers.net.
com.            172800  IN  NS  a.gtld-servers.net.
com.            172800  IN  NS  k.gtld-servers.net.
com.            172800  IN  NS  i.gtld-servers.net.
com.            172800  IN  NS  h.gtld-servers.net.
com.            172800  IN  NS  m.gtld-servers.net.
com.            172800  IN  NS  b.gtld-servers.net.
com.            172800  IN  NS  g.gtld-servers.net.
com.            172800  IN  NS  e.gtld-servers.net.
;; Received 491 bytes from 192.33.4.12#53(192.33.4.12) in 3170 ms

baidu.com.      172800  IN  NS  dns.baidu.com.
baidu.com.      172800  IN  NS  ns2.baidu.com.
baidu.com.      172800  IN  NS  ns3.baidu.com.
baidu.com.      172800  IN  NS  ns4.baidu.com.
baidu.com.      172800  IN  NS  ns7.baidu.com.
;; Received 201 bytes from 192.48.79.30#53(192.48.79.30) in 116 ms

www.baidu.com.      1200    IN  CNAME   www.a.shifen.com.
a.shifen.com.       1200    IN  NS  ns2.a.shifen.com.
a.shifen.com.       1200    IN  NS  ns1.a.shifen.com.
a.shifen.com.       1200    IN  NS  ns5.a.shifen.com.
a.shifen.com.       1200    IN  NS  ns4.a.shifen.com.
a.shifen.com.       1200    IN  NS  ns3.a.shifen.com.
;; Received 228 bytes from 220.181.38.10#53(220.181.38.10) in 17 ms

域名与博客

需求

将xpercent.tech作为博客的探问入口

预备干活

  • 托管在github/coding/远程服务器上的hexo博客
  • github pages服务, repository中上传CNAME文件,内容为xpercent.tech
  • coding pages服务, CNAME同上

但愿结果

hexo博客 域名 github pages 码市 pages
http://xpercent.tech xpercent.tech noraxie.github.io xpercent.coding.me
http://www.xpercent.tech xpercent.tech noraxie.github.io xpercent.coding.me

域名解析财富记录表

选拔DNSPod域名剖判服务器.

区域名(ZONE NAME): xpercent.tech

正向区域文件

ZONE NAME RRT IN TTL VALUE
@ CNAME IN 600 noraxie.github.io.
@ CNAME IN 600 xpercent.coding.me.
@ NS IN 86400 f1g1ns1.dnspod.net.
@ NS IN 86400 f1g1ns1.dnspod.net.
www CNAME IN 600 noraxie.github.io.
www CNAME IN 600 xpercent.coding.me.

验证域名

➜  ~ dig @f1g1ns1.dnspod.net. xpercent.tech. CNAME

; <<>> DiG 9.8.3-P1 <<>> @f1g1ns1.dnspod.net. xpercent.tech. CNAME
; (5 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59769
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;xpercent.tech.         IN  CNAME

;; ANSWER SECTION:
xpercent.tech.      600 IN  CNAME   noraxie.github.io.

;; AUTHORITY SECTION:
xpercent.tech.      86400   IN  NS  f1g1ns2.dnspod.net.
xpercent.tech.      86400   IN  NS  f1g1ns1.dnspod.net.

;; Query time: 69 msec
;; SERVER: 180.163.19.15#53(180.163.19.15)
;; WHEN: Fri Jun 30 17:59:30 2017
;; MSG SIZE  rcvd: 126

======================================================

➜  ~ dig @f1g1ns1.dnspod.net. www.xpercent.tech. CNAME

; <<>> DiG 9.8.3-P1 <<>> @f1g1ns1.dnspod.net. www.xpercent.tech. CNAME
; (5 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13990
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;www.xpercent.tech.     IN  CNAME

;; ANSWER SECTION:
www.xpercent.tech.  600 IN  CNAME   xpercent.coding.me.

;; AUTHORITY SECTION:
xpercent.tech.      86400   IN  NS  f1g1ns1.dnspod.net.
xpercent.tech.      86400   IN  NS  f1g1ns2.dnspod.net.

;; Query time: 63 msec
;; SERVER: 180.163.19.15#53(180.163.19.15)
;; WHEN: Fri Jun 30 18:00:08 2017
;; MSG SIZE  rcvd: 131

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图