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,如需转载请自行联系原作者
目录
相关文章
|
1天前
|
Linux
如何将一个linux服务器挂载到另外一个linux服务器上
如何将一个linux服务器挂载到另外一个linux服务器上
13 1
|
1天前
|
Oracle Java 关系型数据库
Linux环境安装配置JDK11
Linux环境安装配置JDK11
18 0
|
1天前
|
分布式计算 网络协议 Hadoop
|
1天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
13 1
|
2天前
|
监控 Linux 网络安全
Linux服务器如何查询连接服务器的IP
【4月更文挑战第15天】Linux服务器如何查询连接服务器的IP
9 1
|
3天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
41 2
|
3天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
35 1
|
3天前
|
运维 网络协议 Linux
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
31 1
|
3天前
|
JavaScript IDE 编译器
TypeScript中模块路径解析与配置:深入剖析与最佳实践
【4月更文挑战第23天】本文深入探讨了TypeScript中模块路径解析的原理与配置优化,包括相对路径、Node.js模块解析和路径别名。通过配置`baseUrl`、`paths`、`rootDirs`以及避免裸模块名,可以提升开发效率和代码质量。建议使用路径别名增强代码可读性,保持路径结构一致性,并利用IDE插件辅助开发。正确配置能有效降低维护成本,构建高效可维护的代码库。
|
4天前
|
JSON Java Maven
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析
7 0
Javaweb之SpringBootWeb案例之自动配置以及常见方案的详细解析

相关产品

  • 云解析DNS