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,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
存储 缓存 网络协议
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
|
7月前
|
安全 Linux 开发工具
【Linux】vim使用与配置教程
Vim是一款功能强大的文本编辑器,广泛应用于Linux环境,是开发者和系统管理员的必备工具。本文介绍了Vim的基本操作与简单配置,涵盖命令模式、插入模式和底行模式的使用方法,以及光标定位、复制粘贴、搜索替换等常用技巧。同时,文章还提供了实用的分屏操作和代码注释方法,并分享了通过`.vimrc`文件进行个性化配置(如显示行号、语法高亮、自动缩进等)的技巧,帮助用户提升文本编辑效率。掌握这些内容,能让Vim更好地服务于日常工作与开发需求。
482 3
|
5月前
|
域名解析 应用服务中间件 Shell
使用nps配置内网穿透加域名解析
使用nps配置内网穿透加域名解析
695 76
|
5月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
392 11
|
4月前
|
Linux 网络安全 开发工具
在Linux下配置gitee与Github的远程仓库
注意,git push后,是输入你的账号与密码。这个步骤可以通过特殊设置省去,但是一开始还是不要太省。
247 0
|
6月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
246 10
|
7月前
|
Java Linux 应用服务中间件
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
1165 21
|
6月前
|
人工智能 Kubernetes Ubuntu
linux配置IP
linux配置IP
578 1
|
7月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
8月前
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
936 12