开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Linux DNS服务器配置

简介:
+关注继续查看

DNS概述
DNS 是Domain Name System)的缩写,是一种层次结构的计算机IP和网络服务命名系统。它的作用是:把域名转换成为网络可以识别的 IP 地址,并告诉给客户端。

DNS查询过程
DNS的查询过程是指客户端是通过访问DNS服务器将一个IP地址转换为一个域名、或域名转换为一个IP地址的过程。
   1.按查询方式分类为:
      a.递归查询:当DNS服务器接收到查询请求时,要么做出查询成功响应,要么做出查询失败的响应。递归查询一般发生在DNS客户端与DNS服务器之间。
      b.迭代查询:DNS服务器根据自己的高速缓存或区域的数据,以最佳结果响应。如果DNS服务器无法解析,它可能返回一个指针,指针指向有下级域名的DNS服务器,继续该过程,直到找到拥有所查询名字的DNS服务器,或直到出错、超时为止。迭代查询一般发生在DNS服务器之间。
   2.按查询内容分为:
     a.正向查询;域名--》IP
     b.反向查询:IP----》域名

DNS在Linux下的安装(以CentOS7为例)

  1. DNS服务的安装
    安装DNS服务器
    yum install bind bind-chroot bind-utils
    安装DNS缓存服务
    yum install caching-nameserver
     

     

     

     image

  2. 配置DNS服务器
    a. 修改主配置文件/etc/named.conf
     

     

     

     image
    b. 修改配置文件/etc/named.rfc1912.zones增加新域定义 
        
     2N2@$H)N3CBQ~@E%DQGE[@Q 
     

     

     

     type类型有三种,它们分别是master,slave和hint,它们的含义分别是:
     

     

     

     

     

     

     

     

     Master:表示定义的是主域名服务器。
     

     

     

     

     

     

     

     

     slave:表示定义的是辅助域名服务器。
     

     

     

     

     

     

     

     

     hint:表示是互联网中根域名服务器。
     

     

     

     file用来指定存放DNS记录的文件
     

     

     

     allow-update定义是否允许客户主机或服务器自行更新DNS记录,上面指定的这个正向区域不允许更新DNS记录

    c.增加正向域名解析配置文件/var/named/named.docker
     

     

     

     $TTL 

     

     

     1D
     

     

     

     @ 

     

     

     

     

     

     

     IN 

     

     

     SOA 

     ns.docker.freebody.com. root.docker.freebody.com.(
     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     0 

     

     

     

     

     

     ; serial
     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     1D 

     

     

     

     

     ; refresh
     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     1H 

     

     

     

     

     ; retry
     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     1W 

     

     

     

     

     ; expire
     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     3H ) 

     

     

     ; minimum
     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     NS 

     

     

     

     

     @
     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     A 

     

     

     

     

     

     192.168.81.131

  3. K~6MS8(X(K636`T9EKK5$F2         
        正向解析数据文件内容说明:
             第一行是一个TTL设定,定义区域数据文件里面的各项记录的默认TTL值为86400 秒,缺少此行不影响使用,但是会出现警告信息。
             第二行﹐是一个SOA记录的设定,“@”代表相应的域名,也就是在named.conf中设定的zone,IN表示后面的数据使用的是INTERNET标准。SOA,全称是“Start Of Authority”的意思,表示目前区域授权开始。每一个区域数据文件只能有一个SOA,不能重复,而且必须是所负责的zone中第一个“记录”。在SOA后面分别指定了这个区域的授权主机名称和管理者的信箱,特别注意,授权主机名和管理员信箱后面都要有一个“.”,而且授权主机名称必须能够在DNS设置中找到一个A记录(下面会讲到),由于“@”在区域数据文件中有其它含义,因此管理员信箱邮件地址中用“.”代替“@”符号。
    接下来包含在括弧中的5组数字是作为与slave服务器同步信息而设置的,含义如下:
                  Serial:表示配置文件的修改版本,格式是年月日加上修改的次数,每次修改这个配置文件时都应该修改这个数字,因为slave DNS进行信息同步时,会比较这个数值,如果这个数值比自身的数值大,那么就进行更新,否则忽略更新。注意,这个设置很重要,如果你在修改区域数据文件后,没有更新该值,那么所作的更改就不会更新到网上的其它DNS服务器。
                  refresh:用来设定slave DNS与Master DNS进行同步的间隔时间。
                  retry:如果slave DNS在进行更新失败后,要隔多久再进行重试。
                  expiry:设定slave DNS在与Master DNS同步失败后,多长时间清除对应的记录。
                  Minimum:这是默认的最小TTL值,如果在前面没有指定TTL值,就以这个为基准。
           以上的数字都是以秒为单位,但也可以用 H(小时)、D(天)、W(星期)来做单位。 
           A指针:定义了一个A记录,即域名到IP的记录。
    d.增加反向域名解析配置文件/var/named/named.docker.loopback 
        $TTL   1D
        @       IN      SOA    ns.docker.freebody.com. root.docker.freebody.com.(
                              0       ; serial
                              1D      ; refres
                              1H      ; retry
                              1W      ; expire
                              3H )    ; minimum
                NS      @
                PTR     ns.docker.freebody.com
                A       192.168.81.131

    ADQX(5RAUEKO1JK$G~32C2Y
         可以看出,基本结构与正向区域数据文件完全相同,只不过这里多出了一个PTR选项。PTR用来定义一个反向记录,也就是通过IP可以查到对应的域名信息

  4. 检查配置文件
    可能使用named-checkconf命令检查配置文件的正确性,使用方法如下:
    named-checkconf/etc/named.conf

  5. 修改防火墙
    修改linux防火墙配置文件/etc/sysconfig/iptables增加以下配置期项,放通DNS服务的端口
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
    -A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 953 -j ACCEPT
    service iptables restart #重启防火墙,使规则生效

  6. 启动DNS server服务
    systemctl start named.service

  7. 测试DNS是否正常
    host docker.freebody.com
    E4JMM2~{B6LF}1RAE524Y}X










本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1891531,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
+关注
20376
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载