dns名称 linux_linux dns 服务器查看dns日志 - CSDN
  • linuxDNS配置及域名解析服务

    万次阅读 多人点赞 2018-08-23 12:03:44
    一.DNS(Domain Name System,域名系统)  因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP...

    一.DNS(Domain Name System,域名系统)

           因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。

          DNS 服务器将域名解析出来,找到域名对应的ip地址的服务,可以高速缓存从其他 DNS 服务器收到的 DNS 记录。 也可以在 DNS 客户服务中使用高速缓存,将其作为 DNS 客户端保存在最近的查询过程中得到的信息高速缓存的方法。 可以提高解析速度。

     

    二.配置实验环境

     

    1.安装DNS服务;

      yum install bind.x86_64 -y   利用yum将DNS服务下载下来


    2.firewall-config                     打开防火墙图形设置开启dns服务,将Configuration旁下拉勾选Permanent,然后勾选dns :

    然后点击Options下的Reload Firewalld重新加载防火墙

    3.firewall-cmd --list-all             查看是否修改成功,如图所示,dns服务已被防火墙允许:

     


    4.systemctl restart named       重新启动dns服务
    5.netstat -antlpe | grep named 查看53接口是否打开,下图表示53接口未对本机打开:

    6.vim /etc/named.conf             编辑dns配置文件,将接口打开:

    7.systemctl restart named        重启服务让修改生效
    8.netstat -antlpe | grep named  再次查看53接口是否被打开,由下图可知,已经打开:

    9.vim /etc/resolv.conf               将dns设置为本机ip

     

    dns服务安装配置完成


     

    三.下面简单介绍一下dns的域名解析服务:

     

    DNS 总揽

    权威名称服务器

    存储并提供某区域 ( 整个 DNS 域或 DNS 域的一部分 ) 的实际数据。

    权威名称服务器的类型包括 
    Master : 包含原始区域数据。有时称作 “主要 ”名称服务器 
    Slave : 备份服务器 , 通过区域传送从 Master 服务器获得的区域数据的副本。有时称作 “次要 ”名称服务器

    非权威 / 递归名称服务器

    – 客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括 
    存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具有权威性

    DNS 查找

    客户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器,如果名称服务器对于请求的信息具有权威性 , 会将权威答案发送至客户端,否则 , 如果名称服务器在其缓存中有请求的信息 , 则会将非权威答案发送至客户端,如果缓存中没有信息 , 名称服务器将搜索权威名称服务器以查找信息 , 从根区域开始 , 按照DNS 层次结构向下搜索, 直至对于信息有具有权威性的名称服务器 , 以此为客户端获得答案。在此情况中,名称服务器将信息传递至客户端并在自己的缓存中保留一个副本 , 以备以后查找。

    DNS资源记录

    DNS 区域采用资源记录的形式存储信息。每条资源记录均具有一个类型 , 表明其保留的数据类型。 
    – A : 名称至 IPv4 地址 
    – AAAA : 名称至 IPv6 地址 
    – CNAME : 名称至 ”规范名称 “ ( 包含 A/AAAA 记录的另一个名称 ) 
    – PTR : IPv4/IPv6 地址至名称 
    – MX : 用于名称的邮件交换器 ( 向何处发送其电子邮件 ) 
    – NS : 域名的名称服务器 
    – SOA :” 授权起始 “ , DNS 区域的信息 ( 管理信息 )

    DNS排错

    • 它显示来自 DNS 查找的详细信息 , 其中包括为什么查询失败 : 
    – NOERROR : 查询成功 
    – NXDOMAIN : DNS 服务器提示不存在这样的名称 
    – SERVFAIL : DNS 服务器停机或 DNSSEC 响应验证失败 
    – REFUSED : DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )

    dig输出的部分内容

    • 标题指出关于查询和答案的信息 , 其中包括响应状态和设置的任何特殊标记 ( aa 表示权威答案 , 等等 ) 
    – QUESTION : 提出实际的 DNS 查询 
    – ANSWER : 响应 ( 如果有 ) 
    – AUTHORITY : 负责域 / 区域的名称服务器 
    – ADDITIONAL : 提供的其他信息 , 通常是关于名称服务器 
    – 底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间

    缓存 DNS 服务器

    BIND 是最广泛使用的开源名称服务器,在 RHEL 中 , 通过 bind 软件包提供防火墙开启端口 53/TCP 和 53/UDP。BIND 的主配置文件是 /etc/named.conf 。/var/named 目录包含名称服务器所使用的其他数据文件

    /etc/named.conf 的语法

    • // 或 # 至行末尾是注释 ; /* 与 */ 之间的文本也是注释 ( 可以跨越多行 ) 
    • 指令以分号结束 (;) 
    • 许多指令认为地址匹配列表放在大括号中、以CIDR 表示法表示的 IP 地址或子网列表中 , 或者命名的 ACL 中 ( 例如 any; [ 所有主机 ] 和none; [ 无主机 ] )。 
    • 文件以 options 块开始 , 其中包含控制 named如何运作的指令。 
    • zone 块控制 named 如何查对于其具有权威性的根名称服务器和区域。

     


    ##(1)正向解析:通过域名,找到ip地址
    1.cd /var/named/         切换到/var/named/目录下
    2.cp -p named.localhost hk.com  将named.localhost里的内容复制生成新文件为hk.com (文件名自定义):
    3.vim /hk.com   编辑文件如下图所示:

    4.vim /etc/named.rfc1912.zones    编辑文件,将如下信息编辑到文件中:

    5.systemctl restart named              重启服务让修改生效
    6.测试
    dig news.hk.com                           输入域名让dns解析出ip:

    dig www.hk.com                            解析第二个域名:



    ###(2)反向解析:解析ip找到与之对应的域名
    1.cd /var/named/                              切换到/var/named/目录下
    2.cp -p named.loopback hk.com.ptr   复制named.loopback生成hk.com.ptr文件

     

    3.vim /hk.com.ptr                              编辑文件如图所示:


    4.vim /etc/named.rfc1912.zones  编辑文件如图所示:

    5.systemctl restart named                 重启服务让修改生效
    6.测试

     

     

    dig -x 172.25.254.121                       解析第一个ip :

     

     

    dig -x 172.25.254.122             接着解析第二个ip,解析出来的域名与之前编辑的文件内容一致:

     

     


    ###(3)解析反馈设置(给予不同ip用户不同答案)
    1.cd /var/named/                      切换到/var/named/目录下
    2.cp -p hk.com hk.com.net       复制生成hk.com.net文件

     

     

    3.vim /hk.com.net                     编辑文件如图所示:


    4.cp -p /etc/named.rfc1912.zones /etc/named.rfc1916.zones   复制产生一个新的文件/etc/named.rfc1916.zones
    5.vim /etc/named.rfc1916.zones  编辑文件如图所示:

    6.vim /etc/named.conf           编辑文件如图所示,给予不同ip用户不同答案,将文件中51到58行注释掉:

     

     

     

    然后编辑内容59到80行,如图所示,只有172.25.254.21能够看到/etc/named.rfc1912.zones文件中解析出来的ip,其他ip用户可以看到

    /etc/named.rfc1916.zones文件中解析出来的ip地址:

    7.systemctl restart named       重启服务,让修改生效

     

    8.测试 

     

    在ip为172.25.254.21的主机上编辑文件vim /etc/resolv.conf,将本机ip作为172.25.254.21的主机的dns:

     

     

    在ip为172.25.254.21的主机上访问 www.hk.com,成功解析出来ip,与之前文件中一致:

     


    本机自己访问 www.hk.com  和ip为172.25.254.21所看到解析出来的ip不同,说明配置成功:



    ###(4)dns集群:增加一个或多个主机一起解析,缓解主机压力(这次添加一台主机)

     

    1.在ip为172.25.254.221的主机上下载dns服务,并在防火墙设置中允许运行服务:

    firewall-config                         打开防火墙配置服务

    firewall-cmd --list-all                查看修改后被允许的服务信息:

    2.vim /etc/named.rfc1912.conf   编辑文件,将如图所示内容编辑到文件中:

     

    3.vim /etc/named.conf               修改文件,如图所示:

    4.将/var/named/slaves/目录下的文件删除
    5.systemctl restart named       重启服务,让修改生效

     

    6.查看/var/named/slaves/中是否有新的内容,可以看到本机的hk.com.net文件在目录下,说明配置没有问题:

     


    ###(5)同步:让两台或多台主机在进行域名解析时,所给出的答案一致
    1.vim /var/named/hk.con.net  修改文件中的参数,将之前www对应的122改为124,看ip为172.25.254.221主机是否能够同步:

    3.systemctl restart named            重启本机dns服务,让修改生效

     

     

    4.dig www.hk.com                       本机查看信息是否修改,如图已经修改:


    3.在ip为172.25.254.221主机,dig www.hk.com   查看信息是否与本机同步:

    解析一致,同步成功

    (6)加密key更新:(为了提升dns解析服务的安全性,需要进行加密更新配置,拥有密钥的的ip主机才能够对本机进行更新)
    1.dnssec-keygen -a HMAC-MD5 -b 128 -n HOST hongk     生成密钥
    2.cat Khongk.+157+06432.key                                  查看密钥密码:

    3.cp /etc/rndc.key /etc/hongk.key -p             生成dns的加密文件

     

     

    4.vim /etc/hongk.key                          编辑加密文件,如图所示:


    5.vim /etc/named.conf          指定dns服务读取的key文件:

     

     

    6.vim /etc/named.rfc1912.zones      编辑文件,指定更新域为hongk,如图所示:


    7.scp Khongk.+157+06432./* root@172.25.254.221:/mnt 将密钥发送给ip为i172.25.254.221的主机:
    8.在本机配置DHCP服务:
    vim /etc/dhcp/dhcpd.conf                编辑文件,如图所示:

     

     

    继续编辑,将加密信息编辑到dhcp配置文件中:

     

    9.systemctl restart dhcpd 重启dhcp服务

       systemctl restart named 重启dns服务

    10.给本机/var/named/目录修改权限:chmod g+w /var/named/

    11.测试:

    将一台主机的主机名改为music.hk.com,设置为dhcp模式获取ip,获取到的ip为172.25.254.55,为上面dhcp配置文件中的地址池ip:

    然后在本机 dig music.hk.com  可以解析到陌生主机名的ip:

     

    展开全文
  • Linux中搭建DNS服务器

    万次阅读 多人点赞 2020-08-04 12:25:08
    目录 ...DNS(Domain Name Service)域名解析服务,就是将域名和 ip 之间做相应的转换,利用 TCP 和 UDP 的53号端口DNS系统作用: 正向解析:根据域名查找对应的ip地址 反向解析:根据ip地址查...

    目录

    DNS

    域传送漏洞

    域名空间结构

    DNS解析过程 

    各种解析记录

    DNS服务器的安装与部署

    主从DNS服务器的搭建:

    转发DNS服务器的配置


    DNS

    DNS(Domain Name Service) 域名解析服务,就是将域名和 ip 之间做相应的转换,利用 TCP 和 UDP 的53号端口
    DNS系统作用:

    • 正向解析:根据域名查找对应的ip地址
    • 反向解析:根据ip地址查找对应的域名

    DNS服务器的分类:

    • 主要名称服务器:存放该区域中相关设置的DNS服务器,其存放的是区域文件的正本数据
    • 辅助名称服务器:从其他服务器中复制数据,数据为副本无法修改
    • 主控名称服务器:提供趋于数据复制的DNS服务器
    • 缓存域名服务器:通过像根或其他服务器查询获得域名到ip的解析关系,将查询结果缓存到本地,提高重复查找速度

    域传送漏洞

    域传送:是指后备服务器从主服务器拷贝数据,并用得到的数据更新自身数据库。 在主备服务器之间同步数据库,需要使用“DNS域传送”。

    域传送漏洞:是由于DNS服务器配置不当,导致匿名用户利用DNS域传送协议获取某个域的所有DNS记录。

    域传送漏洞的危害:网络拓扑结构泄露给潜在的攻击者,包括一些安全性较低的内部主机,如测试服务器等。直接加快、助长攻击者的入侵过程。

    测试过程:

    1) 输入nslookup命令进入交互式shell:nslookup
    2) server 命令参数设定查询将要使用的DNS服务器: server dns服务器
    3) ls命令列出某个域中的所有域名: ls 域名
    4) exit命令退出

    域名空间结构

    根域(.)

    顶级域(顶级域包括组织域和国家/地区顶级域 (net、edu、com、gov、mail、org、cn、uk.... )

       --组织顶级域 (net、edu、com、gov、mail、org....)

       --国家/地区顶级域(cn、uk...)

    二级域名(baidu、taobao...)

    三级域名(www、mail...)

    组织顶级域名

    说明

    gov

    政府部门

    com

    商业部门

    edu

    教育部门

    org

    民间团体组织

    net

    网络服务机构

    mil

    军事部门

    国家顶级域名

    说明

    cn

    中国

    hk

    中国香港

    uk

    英国

     

    DNS解析过程 

    DNS域名解析过程:

    客户机访问域名,先查看自己主机的DNS缓存(有时间限制),如果主机DNS缓存有,则直接访问对应ip。

    如果主机DNS缓存没有,则查看本地 hosts文件。

    如果 hosts 文件没有,则将该请求发送给主机指定的域名服务器。域名服务器收到请求后,先查询本地的缓存,如果有该纪录项,则域名服务器就直接把查询的结果返回。如果指定的域名服务器的缓存中没有该记录,则进行以下迭代查询。

    【迭代查询】

    本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它在根据结果逐层向下查询,直到得到最终结果。每次它都是以DNS客户机的身份去各个服务器查询,即迭代查询是本地服务器进行的操作。

    具体流程描述:

    (1)用户主机A先向本地域名服务器B递归查询abc.exmaple.com

    (2)B首先尝试使用本地DNS记录查询abc.exmaple.com,若本地不存在abc.example.com的相关记录,则B以DNS客户机的身份发起迭代查询abc.example.com

    (3)B向一个根域名服务器C查询abc.example.com

    (4)根域名服务器C告诉B下一步到.com顶级域名服务器D去查询,并告知D的IP地址1.2.3.4

    (5)B向.com顶级域名服务器D进行查询

    (6)D告诉本地域名服务器B,下一步请到.example.com权限服务器E去查询,并告知E的IP地址2.3.4.5

    (7)B向.example.com权限服务器E进行查询

    (8)E告诉本地域名服务器B所查询域名abc.example.com的主机是否存在,并告知其IP地址3.4.5.6

    (9)本地域名服务器B向用户主机A反馈所查询的域名abc.exmaple.com对用的IP地址为3.4.5.6

    所以,优先级:  本地DNS缓存 > hosts文件  > DNS服务器
    windows中hosts文件存放路径:  C:\Windows\System32\drivers\etc\hosts
    Linux中hosts文件存放路径:       /etc/hosts

    各种解析记录

    类型 说明
    A 主机记录,记录域名对应的ip
    PTR 反向地址解析记录,记录ip对应的域名
    CNAME 别名记录
    MX 邮箱交换记录
    NS 服务器记录
    SOA 权威记录
    TXT 为记录说明
    SRV 列出了正在提供特定服务的服务器
    AAAA ipv6地址记录

    A记录
    A (Address) 记录也叫主机记录,是用来指定域名对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的网页服务器(web server)上。同时也可以设置域名的子域名。通俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当输入域名的时候给你引导向设置在DNS的A记录所对应的服务器。在命令行下可以通过nslookup -qt=a www.baidu.com来查看A记录。

    PTR记录
    相对于A记录,PTR记录是把IP地址转换为域名



    CNAME记录
    CNAME记录也称别名记录,它允许你将多个记录映射到同一台计算机上。比如你建了如下几条记录:


    我们访问a1(a2,a3).baidu.com的时候,域名解析服务器会返回一个CNAME记录,并且指向a.baidu.com,然后我们的本地电脑会再发送一个请求,请求a.baidu.com的解析,然后域名服务器会返回a.baidu.com的IP地址。


    当我们要指向很多的域名到一台电脑上的时候,用CNAME比较方便,就如上面的例子,我们如果服务器更换IP了,我们只要更换 a.baidu.com 的A记录即可。
    在命令行下可以使用 nslookup -qt=cname a1.baidu.com 来查看CNAME记录。


    MX记录
    MX记录的权重对 mail 服务是很重要的,当发送邮件时,Mail 服务器先对域名进行解析,查找 mx 记录。先找权重数最小的服务器(比如说是 10),如果能连通,那么就将发送过去;如果无法连通 mx 记录为 10 的服务器,那么才将邮件发送到权重为 20 的 mail 服务器上。
    这里有一个重要的概念,权重 20 的服务器在配置上只是暂时缓存 mail ,当权重 20 的服务器能连通权重为 10 的服务器时,仍会将邮件发送的权重为 10 的 Mail 服务器上。当然,这个机制需要在 Mail 服务器上配置。
    在命令行下可以通过 nslookup  -qt=mx  baidu.com 来查看MX记录。


    TXT记录 
    TXT记录一般是为某条记录设置说明,比如你新建了一条 a.ezloo.com 的TXT记录,TXT记录内容"this is a test TXT record.",然后你用 nslookup -qt=txt a.ezloo.com ,你就能看到"this is a test TXT record"的字样。
    除外,TXT还可以用来验证域名的所有,比如你的域名使用了Google的某项服务,Google会要求你建一个TXT记录,然后Google验证你对此域名是否具备管理权限。
    在命令行下可以使用 nslookup -qt=txt    baidu.com 来查看TXT记录

    这里讲到TXT记录,我们就要谈谈TXT记录里面的 SPF 了。SPF是 Sender Policy Framework 的缩写,一种以IP地址认证电子邮件发件人身份的技术。 接收邮件方会首先检查域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回。
        SPF可以防止别人伪造你来发邮件,是一个反伪造性邮件的解决方案。当你定义了你域名的SPF记录之后, 接收邮件方会根据你的SPF记录来确定连接过来的IP地址是否被包含在SPF记录里面,如果在,则认为是一封正确的邮件,否则则认为是一封伪造的邮件。 
    设置正确的 SPF 记录可以提高邮件系统发送外域邮件的成功率,也可以一定程度上防止别人假冒你的域名发邮件。

    MX记录的作用是给寄信者指明某个域名的邮件服务器有哪些。SPF的作用跟MX相反,它向收信者表明,哪些邮件服务器是经过某个域名认证的可以发送邮件的。

    由定义可以看出,SPF的作用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件。

    AAAA记录
    AAAA记录是一个指向IPv6地址的记录。
    可以使用 nslookup -qt=aaaa  a.ezloo.com 来查看AAAA记录。
    NS记录
    NS记录是域名服务器记录,用来指定域名由哪台服务器来进行解析。
    可以使用 nslookup -qt=ns   baidu.com 来查看。


    TTL值
    TTL=time to live,表示解析记录在DNS服务器中的缓存时间。比如当我们请求解析www.ezloo.com的时候,DNS服务器发现没有该记录,就会向下个NS服务器发出请求,获得记录之后,该记录在DNS服务器上保存TTL的时间长度。当我们再次发出请求解析www.ezloo.com 的时候,DNS服务器直接返回刚才的记录,不去请求NS服务器。TTL的时间长度单位是秒,一般为3600秒

    SOA记录

    定义了该域中的权威名称服务器

    SRV记录

    列出了正在提供特定服务的服务器

    DNS服务器的安装与部署

    程序所需的包:  bind (DNS服务器软件包) 、bind-utils(DNS测试工具,包含dig、host、nslookup等)、bind-chroot(使BIND运行在指定的目录中的安全增强工具)、caching-nameserver(高速缓存DNS服务器的基本配置文件,建议一定安装)
    可执行文件所在目录: /usr/sbin/named (Rhel7)     /etc/init.d/named (Rhel6)
    配置文件所在目录:  /etc/named.conf
    区域配置文件所在目录:/var/named/xxx.zone

    1. 安装DNS程序: yum  -y  install  bind*
    2. 修改主配置文件:/etc/named.conf
    3. 添加并修改区域配置文件  /var/named/xxx.zone
    4. 修改文件权限: chown   named:named   /var/named/xxx.zone
    5. 开启服务,并验证     systemct  start  named  ;    nslookup  www.xie.com

    修改主配置文件: /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; };              //修改行
    }
    
    zone "." IN {                              //系统自定义的根域服务器,必须要有
            type hint;
            file "named.ca";
    };
    
    zone "xie.com." IN{                        //自定义的,添加正向解析
            type master;                       //主从DNS
            file "xie.com.zone";               //指定区域配置文件名,在/var/named/ 目录下
    }; 
    zone "10.168.192.in-addr.arpa" IN{        //自定义的,添加反向解析
            type master;
            file "xie.com.zone";                
    };
    
    zone "mi.com." IN {                       //添加对另一个域名的解析
            type master;
            file "mi.com.zone"
    }

    在 /var/named/ 目录下分别创建  xie.com.zone 和 mi.com.zone  文件 ,并且如下配置

    //  xie.com.zone 文件的配置
    $TTL 1D
    @       IN SOA  www.xie.com.  root.xie.com. (                      // @代表本机
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      www.xie.com.
            MX 10   root.xie.com.         //邮箱
    www     IN A    192.168.10.100       //这个必须写在第一条!!
    web     IN A    192.168.10.110
    root    IN A    192.168.10.120
    *       IN A    192.168.10.130     //添加一个默认匹配,当配置文件中的都没匹配,则匹配此条
    ftp     IN CNAME   www              //给www.xie.com添加一个别名 ftp.xie.com
    1       IN PTR  web1.xie.com.          //添加反向解析记录  192.168.10.1 解析为 web1.xie.com
    2       IN PTR  web2.xie.com. 
    
    
    // mi.com.zone 文件的配置
    
    $TTL 1D
    @       IN SOA  www.mi.com. root.mi.com. (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      www.mi.com.
            MX 10   root.mi.com.
    www     IN A    192.168.10.100
    web     IN A    192.168.10.200
    

      主从DNS服务器的搭建:

    主DNS服务器在上面配置的基础上,在主配置文件 /etc/named.conf 中加入下面一行,意思是允许转移

    allow-transfer  { 192.168.10.10; };     // 允许 从DNS服务器的ip地址

    然后从DNS服务器要同步哪个域名的就写哪个zone,我们这里只同步 xie.com 这个域名的 ,同步的文件路径默认是  /var/named/slaves 

    zone "xie.com." IN {
            type slave;
            file "slaves/xie.com.zone";            //指定配置文件目录
    	masters { 192.168.10.124; };              //指定主DNS IP
    	};
    zone "10.168.192.in-addr.arpa" IN{
            type slave;
            file "slaves/xie.com.zone";
            masters{ 192.168.10.128; };
    };

    配置完成以后重启 named 服务: systemctl restart  named  ,然后同步域配置文件:  rndc  reload

    转发DNS服务器的配置

    转发DNS服务器就是当你向一个DNS服务器请求DNS解析时,他把DNS请求转发到了另一个DNS服务器上

    转发DNS服务器也要求安装bind包: yum  -y  install  bind*

    然后修改主配置文件:/etc/named.conf

     option{
       listen-on port 53 { any; };   #修改
    
       allow-query     { any; };     #修改
       
       forwarders  { 192.168.10.10; };   # 指定你要把DNS请求转发给哪个DNS服务器
    }

    相关文章:子域名查询、DNS信息探测、IP转换经纬度

    展开全文
  • LinuxDNS(详解)

    万次阅读 2018-09-16 13:13:50
    什么是DNS?  DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须...

    什么是DNS?

            DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中域名必须对应一个IP地址,而IP地址不一定有域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。将域名映射为IP地址的过程就称为“域名解析”。在Internet上域名与IP地址之间是一对一(或者多对一)的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。 DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。因为,你在上网时输入的网址,是通过域名解析系统解析找到了相对应的IP地址,这样才能上网。其实,域名的最终指向是IP。通常情况下我们之用到了DNS服务器的正向解析功能,而DNS还有方向解析功能,就是把IP地址解析成主机名。

    DNS授权管理机制:

    最大域就是根域,用.表示接下来就是一级域,也就是顶级域。注:根域和顶级域是特殊的,不能由个人指定。

     然后就是二级域三级域等,直到最后的主机(这些是可以由公司、组织、个人申请使用的)

    通过上边实例我想大家大致明白了DNS的工作方式,但是又有一个问题出现了。

    上述实例过程中,主机具体是怎么问到www.baidu.com的地址呢?

    这里有两种方式:

    方式1(递归):主机问根域->根域问一级域->一级域问二级域->二级域找到www.baidu.com把信息返回给一级域->一级域再把信息返回给根域->根域再把信息返回给主机

    方:式2(迭代):主机问根域,根域说你去找一级域

                   主机问一级域,一级域说你去找二级域

                   主机问二级域,二级域把www.baidu.com的信息告诉主机

    到底是由哪种方式实现的呢?

    实际上DNS是由这来那个种方式结合实现的。

    【DNS具体实现过程】:事实上我们的主机是不能跟根域直接相连的,在解析过程中我们的主机事先是需要根域在哪的,主机在寻找根域的过程是用的递归的方式,而在找到根域后寻找目标主机时使用的是迭代方式。

    注:如果在根域寻找目标主机的过程中使用的递归的方式的话,每次查找到后还要再次反馈给根域那么势必会增加根域服务器的负担,所以为了减少根域服务器的负担,在查找目标主机的过程中使用的是迭代的方式。

    那么我们想要访问一台主机的话每次都这样去解析是很麻烦的一件事,而且势必会占用我们的带宽和时间。

    有没有一种办法让我们第一次解析以后访问都不用再解析呢?

    这就需要我们计算机中的缓存了,缓存的功能就是为了减轻DNS服务器的压力,第一次解析完成后就会把这条记录记忆在缓存中,下次访问的时候就会读取缓存中的记录,而不用去找DNS服务器解析。

    同样的,DNS服务器中也有缓存,目的就是为了让一台主机访问后其他主机访问的时候不在去找根域解析。大大减轻了服务器的负担。

    Linux 下的DNS服务的工具:bind

           其服务脚本为:/etc/rc.d/init.d/named

           其主配置文件为:/etc/named.conf     /etc/named.rfc1912.zones

           其区域解析库文件:/var/named/ZONE_NAME.zone

    DNS中的名称与对应的主机名不要求是一样的,一个名称可以对应多个IP,一个IP也可以对应多个名称。

    反向域:.in-addr.arpa(反向解析时使用)

    域:domain (逻辑概念)

    区域:zone (物理概念)

    【区域解析库】每一行一个资源记录rr(resource record)

                  资源记录:有类型概念,用于标记此记录解析的属性

                  资源记录类型:

                      SOA:起始授权记录,一个区域文件只能有一个

                      NS : name server 标记谁是解析服务器,可有多个

                      MX: 标记谁是域内的邮件服务器,可有多个(有优先级0-99)

                      A  : 主机名->IP的映射关系

                      PTR:IP->主机名的映射关系

                      AAAA:主机名->IPV6的映射关系

                      CNAME:正式名称   如:A CNAME B :A是B的别名

    注:A和PTR不能同时出现,一个解析库要么是正向解析库要么是反向解析库。

    【权威服务器】:负责某域内全部主机的DNS服务器

    【非权威应答】:通过本地缓存访问主机

    下面我们用实验说明配置DNS模拟根实现,子域委派,以及主辅同步。

    六台机器,分别模拟   根, .com,magedu.com,slave,client,caching

    关系如图所示:

    修改所有机器的 /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; };
            recursion no;
    
            dnssec-enable no;
            dnssec-validation no;
    

    除根外所有机器的  /var/named/named.ca 文件的主根服务器ip地址指向我们设置的根的idi地址如图所示:

    ; formerly NS.INTERNIC.NET
    ;
    .                        3600000      NS    A.ROOT-SERVERS.NET.
    A.ROOT-SERVERS.NET.      3600000      A     192.168.83.129
    ~                                                                                                                                                                                        
    ~                                                        

    接下来我们配置根root

    a. name.conf中删除name.ca的项目

    b. rfc1912文件
          

      zone "." IN {
                type master;
                file "root.zone";
            };


    c. root.zone
            

    $TTL 1D
            @    IN SOA    ns. admin. (
                                0    ; serial
                                1D    ; refresh
                                1H    ; retry
                                1W    ; expire
                                3H )    ; minimum
                NS    ns.
            ns.    A    rootip
            com.    NS    ns.com.
            ns.com.    A    .comip


     d.启动named

    配置com
        a. rfc1912文件       

     zone "com" IN {
                type master;
                file "com.zone";
            };

      b. com.zone   

      $TTL 1D
            @    IN SOA    ns.com. rname.invalid. (
                                0    ; serial
                                1D    ; refresh
                                1H    ; retry
                                1W    ; expire
                                3H )    ; minimum
                NS    ns.com.
            ns    A    192.168.153.8
            magedu.com.    NS ns1.magedu.com.
            magedu.com.    NS ns2.magedu.com.
            ns1.magedu.com.    A    主IP
            ns2.magedu.com.    A    从IP

    c.启动named

    配置主magedu.com
        a. rfc1912文件
            

    zone "magedu.com" IN {
                type master;
                file "magedu.com.zone";
            };

        b. magedu.com.zone
           

     $TTL 1D
            @    IN SOA    ns1.magedu.com. rname.invalid. (
                                2018091301    ; serial
                                1D    ; refresh
                                1H    ; retry
                                1W    ; expire
                                3H )    ; minimum
                NS    ns1.magedu.com.
                NS    ns2.magedu.com.
            ns1    A    主IP
            ns2    A    从IP
            www    A    1.1.1.1
            ftp    A    2.2.2.2
            *    A    10.10.10.10

       c.启动named

    配置从magedu.com
        a. rfc1912文件       

    zone "magedu.com" IN {
                type slave;
                masters { 主IP; };
                file "slaves/MAGEDU.COM.ZONE";
            };

        b. 启动named

    开始测试:

    关闭所有机器防火墙以及selinux

    [root@localhost ~]# nslookup 
    www.magedu.com
    Server:		192.168.83.132
    Address:	192.168.83.132#53
    
    Non-authoritative answer:
    Name:	www.magedu.com
    Address: 1.1.1.1
    > ftp.magedu.com
    Server:		192.168.83.132
    Address:	192.168.83.132#53
    
    Non-authoritative answer:
    Name:	ftp.magedu.com
    Address: 2.2.2.2
    > hha.magedu.com
    Server:		192.168.83.132
    Address:	192.168.83.132#53
    
    Non-authoritative answer:
    Name:	hha.magedu.com
    Address: 10.10.10.10
    

    测试主从

    在主上开启防火墙限制:

    [root@localhost ~]# iptables -A INPUT -p tcp --dport 53 -j REJECT
    

    去client测试

    root@localhost ~]# nslookup 
    www.magedu.com
    Server:		192.168.83.132
    Address:	192.168.83.132#53
    
    Non-authoritative answer:
    Name:	www.magedu.com
    Address: 1.1.1.1
    

    仍有结果所有从起作用了,

    接下来把主从都给开启防火墙

    [root@localhost ~]# nslookup www.magedu.com
    Server:		192.168.83.132
    Address:	192.168.83.132#53
    
    ** server can't find www.magedu.com: NXDOMAIN
    
    

    关闭防火墙接下来我们不在caching里清缓存,之前访问过的,在开启防火墙之后仍然可以访问,说明缓存里有记录,没访问过的则不能访问。说明缓存优先于本地查询。

    [root@localhost ~]# nslookup hsh.magedu.com
    Server:		192.168.83.132
    Address:	192.168.83.132#53
    
    Non-authoritative answer:
    Name:	hsh.magedu.com
    Address: 10.10.10.10
    
    [root@localhost ~]# nslookup hsh.magedu.com
    Server:		192.168.83.132
    Address:	192.168.83.132#53
    
    Non-authoritative answer:
    Name:	hsh.magedu.com
    Address: 10.10.10.10
    
    [root@localhost ~]# nslookup hh.magedu.com
    Server:		192.168.83.132
    Address:	192.168.83.132#53
    
    ** server can't find hh.magedu.com: NXDOMAIN
    

     

    展开全文
  • LinuxDNS服务器配置

    千次阅读 2018-11-07 16:28:40
    安装bind,bind-chroot,DNS基本配置:找对地,起对名,写对内容 。启动DNS服务器并更改本机DNS服务器地址,测试DNS服务器,易错点分析。

    写在前面

    环境用的redhat5.8,与dns主要相关的软件bind和bind-chroot。bind-chroot会改变bind的配置目录提高dns服务器的安全性。基础配置主要包括named.conf的配置,配置正向解析记录和反向解析记录。解析记录一般包括A记录,www,dns,ftp,mail等。

    安装bind,bind-chroot

    1. 查询是否系统是否已经安装对应软件。

      rpm -q bind
      rpm -q bind-chroot
      

      我这样的就是没安装,bind-libs,和bind-utils是系统自带的。
      在这里插入图片描述

    2. 安装

      yum install bind
      yum install bind-chroot
      

      安装完成后,查询已安装的软件包所包含的所有文件

      rpm -ql bind
      rpm -ql bind-chroot
      

      或者用下面的方式。
      在这里插入图片描述

    DNS基本配置

    设置域名为dnstest.com ,网络地址为192.168.64.0/24,添加dns,www,ftp主机名,添加别名记录,这些主机对应的IP地址为自己机器的IP地址,反向区域文件添加相应PTR记录。
    dns服务器地址为本机ip地址:192.168.64.130

    找对地,起对名,写对内容

    1. 编写主配置文件,直接复制下面内容,更改对应内容即可。
      注意一点要切记此文件的路径并不是"/var/named",而是如下所示:
      因为bind-chroot的原因,所有的和bind有关的配置文件都在chroot/路径的类根目录。这里面只有和bind有关的配置,更安全一点。

      [root@localhost etc]# pwd
      /var/named/chroot/etc
      
      options{
      directory "/var/named"; 
      };
      zone "dnstest.com." IN {
          type master; 
          file "dnstest.zone";
      };
      zone "64.168.192.in-addr.arpa" IN {
          type master;
          file "reverse.zone";
      };
      

      具体解释如下:

      • options{
        directory “/var/named”;
        };
        具体信息含义:
        options定义服务器的全局配置选项,在一个named.conf文件中只能有一个
        directory “/var/named”;区域文件的存放位置,而这里的/var/named默认是/var/named/chroot/var/named目录下

      • zone “dnstest.com.” IN {
        type master;
        file “dnstest.zone”;
        };

        zone语句用于定义区域,其中必须说明域名、DNS服务器的类型和区域文 件名等信息。这是正向记录。

      • zone “64.168.192.in-addr.arpa” IN {
        type master;
        file “reverse.zone”;
        };
        这是反向记录,切记,“64.168.192.in-addr.arpa” 前面的ip一点要反着写,原来是192.168.64. 一定要写成64.168.192. 。
        注意com后面有点 的地方,一定不能少。

    2. 编写正向解析数据文件
      文件目录:/var/named/chroot/var/named/dnstest.zone

      $TTL    86400  
      @    IN SOA  dns.dnstest.com.   root.dnstest.com. (
                                             2015111701
                                              3H              
                                              15M           
                                              1W              
                                              1D )            
              IN NS           dns.dnstest.com.
      dns     IN A            192.168.64.130
      www     IN A            192.168.64.2
      ftp     IN A            192.168.64.131
      

      具体解释如下:

      • @:指定域名
        dns.dnstest.com. 主机名,以.结尾,表示完整的主机名
        root.dnstest.com. 管理员的电子邮件地址
        IN:表示资源记录使用TCP/IP地址
        在这里插入图片描述

      • ()部分指定SOA记录各种选项的值,主要用于和辅助域名服务器同步数据时使用。关于几个时间的解释,(从上到下一一对照):

        Serial﹕序列号,每次更新该文件后,要将序列号增大,主要用master/slave模式的自动更新。其格式通常会是“年月日+修改次序”(但也不一定如此﹐您自己能够记得就行)。当 slave(辅助域名服务器) 要进行数据同步的时候﹐会比较这个号码。如果发现在这里的号码比它那边的数值“大”﹐就进行更新﹐否则忽略。不过设 serial 有一个地方您要留意:不能超过 10 位数字﹗

        Refresh﹕这里是是告诉 slave 要隔多久要进行数据同步(是否同步要看 Serial 的比较结果)。

        Retry﹕如果 slave 在进行更新失败后﹐要隔多久再进行重试。

        Expire﹕这是记录逾期时间:当 slave 一直未能成功与 master 取得联络﹐那到这里就放弃 retry﹐同时这里的数据也将标识为过期( expired )。

        Minimum﹕指定资源记录信息存放在缓存中的时间,这是最小预设 TTL 值﹐如果您在前面没有用“$TTL”来定义﹐就会以此值为准。

      • NS记录:名称服务器,指明区域中DNS服务器的主机名,也是区域文件中不可缺少的资源记录。
        在这里插入图片描述

    3. 编写反向解析数据文件
      文件目录:/var/named/chroot/var/named/reverse.zone

      $TTL    86400
      @   IN   SOA  dns.dnstest.com.  root.dnstest.com. (
                                            2015111701
                                            3H              
                                            15M           
                                            1W              
                                            1D ) 
             IN      NS      dns.dnstest.com.
      130    IN      PTR     dns.dnstest.com.
      2		 IN      PTR     www.dnstest.com.
      131     IN      PTR     ftp.dnstest.com.
      

    启动DNS服务器

    service named start
    service named restart
    

    在这里插入图片描述

    更改本机DNS服务器地址

    /etc/resolv.conf,该文件是DNS客户端配置文件,修改 nameserver 的地址为你刚配置dns服务器的地址即可。
    在这里插入图片描述

    测试DNS服务器

    测试DNS的命令有,nslookup,host,dig,一般最常用的nslookup,windows下也可以用。
    在这里插入图片描述

    在这里插入图片描述

    资源记录

    1. 别名记录CNAME
      如下为www.dnstest.com添加CNAME记录之后,www.dnstest.com就可以用abc.dnstest.com访问。
      abc     IN CNAME        www.dnstest.com.
      
    2. 邮件解析记录
      host -t dnstest.com 用该命令测试邮件交换记录。
      mail                IN A            [ip add(邮件服务器地址)]
      dnstest.com.  IN MX 10  mail.dnstest.com.
      

    DNS其他配置

    1. 泛域名解析记录
      所有的解析记录中没有的全都指向下面这个IP地址。
      *.dnstest.com.     IN A            IP地址
      
    2. 实现直接解析域名
      直接访问dnstest.com解析的IP地址。
      dnstest.com.     IN A            【IP地址】
      
    3. 实现负载均衡功能
      三台FTP服务器内容相同,DNS服务器将为客户的每个ftp.dnstest.com 查询按顺序返回不同的解析结果,将客户访问引导到不同计算机上,使客户访问不同的服务器。如下:
      ftp     IN A            192.168.64.50
      ftp     IN A            192.168.64.51
      ftp     IN A            192.168.64.52
      

    DNS辅助域名服务器的配置

    辅助域名服务器只需要修改named.conf文件即可,不需要创建区域文件,因为区域文件将从主域名服务器上自动复制到辅助域名服务器的slave目录下。
    named.conf

    options{
    directory "/var/named";
    };
    zone "zhoudi.com." IN {
            type slave;
            file "slaves/正向解析(自定义).zone";
            masters {主dns的ip;};
    };
    zone "132.17.172.in-addr.arpa" IN {
            type slave;
            file "slaves/反向解析(自定义).zone";
            masters {主dns的ip;};
    };
    
    

    易错点

    我在学习的过程中遇到以下错误,如果不幸你也遇到,可以参考参考。

    文件路径问题

    如下图,保错找不到dnstest.zone,最后发现是路径问题,可以仔细参考上面教程,就能解决。
    在这里插入图片描述

    反向解析记录

    如果你路径正确,但是就是nslookup解析不出来,可以看这里。
    在named.conf中,这里的ip要反着写。
    在这里插入图片描述

    记得更改DNS服务器的地址

    配置文件是这个哦:/etc/resolv.conf

    展开全文
  • 下面来探讨一下如何在Linux系统下进行DNS服务器的架设,具体如下: 1、DNS的概念与发展历史 1》DNS 的概念:Internet 中最常用的协议是 TCP/IP 协议,当我们需要传输数据时,首先我们应当知道对方的 IP,否则数据...
  • LinuxDNS配置及用命令方式修改网络

    万次阅读 2018-10-24 17:17:07
    什么是DNSDNS(Domain Name System)域名系统,可以将域名与IP地址相互映射的一个分布式数据库,能够方便去访问互联网,而不去记住计算机读取的IP数串。例如当我们访问百度时候,直接可以输入百度网址,而网址...
  •  今天在linux主机上,要查询一个域名是在哪个DNS上进行解析的,这个域名下面还有哪些的地址 操作过程: 1.linux环境中通过nslookup命令来进行查看 [deployer@CBSS-DMZ-19 ~]$ nslookup mall.10010.com Server: ...
  • LinuxDNS详解

    2018-01-11 00:21:57
    标签:DNS 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lanlian.blog.51cto.com/6790106/1274830 一、DNS的原理 DNS(DomainName ...
  • linuxdns配置详细步骤

    万次阅读 2012-01-10 03:42:16
    ………………………………………………DNS的配置步骤:…………………………………………………… 一、配置静态IP地址: #vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static ...
  • LINUXdns的搭建(主dns和辅助dns

    千次阅读 2018-04-25 11:43:08
    首先,看看dns是否安装,这里的包名为bind这里就说明所有dns需要的包已经安装。如果没有安装,我们直接连接镜像文件,直接界面化安装,也可以用命令来安装(需要注意安装顺序)注:如果已经安装,则下面安装步骤可以...
  • Linux(RHEL7及CentOS7)下DNS服务器的搭建与配置

    万次阅读 热门讨论 2019-05-07 16:38:38
    一、基本概念 DNS即Domain Name System,域名系统,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被...在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS
  • linuxdns服务器的搭建

    万次阅读 2019-06-16 11:17:05
    1,使用rpm -qa 选项查看系统中是否有已经安装dns服务如果系统中没有dns服务用户可以通过修改yum源使用yum -y install 或rpm -ivh进行安装,由于dns的依赖包较多建议使用yum -y insatll安装,这里采用yum -y install...
  • 现在UNIX类操纵系统(UNIX、Linux、BSD)的域名服务器绝大多数都是用BIND来架设的。由于DNS服务器负责域名的解析工作,其重要性不言而喻。如果在Linux网络中无法进行域名解析,很... Linux中的DNS配置文件 Linux下...
  • LINUX C语言 DNS

    2016-02-25 17:30:43
    LINUX C语言 DNS本文使用的glibc版本是2.19资源下载地址1.GNU LIB C 手册[http://ftp.gnu.org/old-gnu/Manuals/glibc-2.2.3/pdf/libc.pdf]其实这算是LINUX下C语言的库函数手册,大部分函数的简单说明都能在里面查到。...
  • 局域网内的简单linux DNS搭建

    万次阅读 2017-02-06 10:35:46
    公司要求在服务器上搭建DNS server,方便客户端设备软件的初始化参数可以写死域名,通过这种方式简化客户端的设置工作量(公司产品形态决定了客户端数量比较大,300+以上的情况比较普遍,而且实施不方便)。...
  • linux更改主机名称 vi /etc/sysconfig/network打开配置文件设置HOSTNAME=hadoop(自己想更改的名称)退出保存即可测试:重启机器 设置DNS域名解析 vi /etc/hosts打开配置文件在最后加入...
  • Linux的本地DNS缓存服务器

    千次阅读 2014-08-12 14:09:06
    Linux的本地DNS缓存服务器 域名系统服务器的软件,在PC上,可以翻译的网站名称进入真正的IP地址上运行。在不同的话,如果你样的互联网地址到你的网页浏览器,你的互联网服务提供商的DNS服务器会考虑它的信息,并寻求...
  • linux 下修改IP 网关和DNS

    万次阅读 2017-06-16 10:57:50
    临时修改IP地址、网关、主机名、DNS,马上生效,无需重启(重启后失效)1.修改主机名复制代码代码如下:#hostname Slyar2.修改IP地址(eth0为网卡名称)复制代码代码如下:#ifconfig eth0 192.168.1.5 netmask 255.255.255...
  • 1. DNS系统 (1)DNS系统的作用 正向解析:根据主机名称(域名)查找对应的IP地址; 反向解析:根据IP地址查找对应的主机域名; (2)DNS系统的类型 缓存域名服务器: 也称为高速缓存服务器(提高重复查询...
1 2 3 4 5 ... 20
收藏数 61,624
精华内容 24,649
关键字:

dns名称 linux