Linux DNS服务器配置

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

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,如需转载请自行联系原作者
目录
相关文章
|
12天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
39 9
|
14天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
30 5
|
19天前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
53 4
|
20天前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
27天前
|
域名解析 存储 缓存
DNS是什么?内网电脑需要配置吗?
【10月更文挑战第22天】DNS是什么?内网电脑需要配置吗?
94 1
|
28天前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
47 2
|
1月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
309 3
|
1月前
|
机器学习/深度学习 调度
mmseg配置解析 Polynomial Decay 多项式衰减
Polynomial Decay(多项式衰减)是一种常用的学习率调度方法,通过多项式函数逐步减少学习率,帮助模型更好地收敛。公式为:\[ lr = (lr_{initial} - \eta_{min}) \times \left(1 - \frac{current\_iter}{max\_iters}\right)^{power} + \eta_{min} \]。参数包括初始学习率、最小学习率、当前迭代次数、总迭代次数和衰减指数。适用于需要平滑降低学习率的场景,特别在训练后期微调模型参数。
65 0
mmseg配置解析 Polynomial Decay 多项式衰减
|
1月前
|
JSON JavaScript 前端开发
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
87 0
|
1月前
|
编解码 计算机视觉
mmseg配置解析 align_corners=False
`align_corners=False` 是图像插值操作中的一个参数,影响输入和输出图像的角点对齐方式。`align_corners=True` 严格对齐角点,而 `align_corners=False` 均匀分布像素点,更适用于保持整体比例关系的任务,如语义分割。
33 0

相关产品

  • 云解析DNS
  • 下一篇
    无影云桌面