DNS服务器的管理与配置

目录

一、相关知识

域名空间

DNS服务器分类

域名解析过程

资源记录

二、安装DNS服务

安装bind软件包 

DNS服务的启动与停止

配置主要名称服务器

主配置文件

从例子学起:

(1)建立主配置文件named.conf

(2)建立smile.com.zone区域文件

(3)配置反向解析区域

(4)将/etc/named.conf 、正反向区域文件属组由root改为named

(5)关闭防火墙后重启named服务

(6)在Linux客户端测试配置效果

3.区域文件与资源记录格式

SOA资源记录

NS记录      

A资源记录      

其他常用资源记录        

根区域设置及对应区域文件

实现直接解析域名      

实现泛域名解析          

下面我们来看一个具体实例

DNS服务器配置实例      

step1:修改named.conf文件的属组为named。

step2:设置named.conf文件

step3:建立“sales.com.zone”区域文件

step4:建立“3.0.168.192.zone”区域文件,并修改文件的属组为named。

step5:重启服务

测试结果:

配置辅助DNS服务器

1.辅助域名服务器      

2.区域传输      

3.配置辅助域名服务器

(1)配置主域名服务器。      

(2)修改正向解析区域文件smile.com.zone。

(3)修改反向解析区域文件3.0.168.192.zone。

(4)配置辅助域名服务器。

(5)数据同步测试。

(6)在客户端测试辅助DNS服务器 将客户端计算机的首要DNS服务器地址设为192.168.0.200。然后利用nslookup测试成功。

建立子域并进行区域委派

1.子域应用环境        

2.管理子域        

3.配置区域委派      

(1)父域设置区域委派。(2)添加sales.com区域文件。

(3)在父域服务器上添加sales.com反向区域文件。

(4)在子域服务器192.168.0.200上进行子域设置。

(5)在子域服务器192.168.0.200上进行子域设置,添加test.sales.com域的正向解析区域文件。

(6)在子域服务器192.168.0.200上进行子域设置,添加test.sales.com域的反向解析区域文件 。

配置转发服务器

配置缓存服务器

配置DNS客户端


一、相关知识

域名空间

        域和域名

        DNS树的每个节点代表一个域,通过这些节点,对整个域名空间进行划分,成为一个层次结构。域名空间的每个域的名字通过域名进行表示。域名通常由一个完全正式域名(FQDN)标识。

        Internet域名空间

        DNS根域下面是顶级域,也由Internet域名注册授权机构管理。共有3种类型的顶级域,包括net,org,com。

        区(Zone)    
        区是DNS名称空间的一个连续部分,其包含了一组存储在DNS服务器上的资源记录。

DNS服务器分类

        主DNS服务器(Master或Primary)、辅助DNS服务器(Slave或Secondary)、转发DNS服务器、唯高速缓存DNS服务器(Caching-only DNS server)

DNS查询模式

        递归查询,转寄查询(迭代查询)

域名解析过程

DNS域名解析的工作过程如下

① 客户机提交域名解析请求,并将该请求发送给本地的域名服务器

② 当本地的域名服务器收到请求后,就先查询本地的缓存。如果有查询的DNS信息记录,则直接返回查询的结果。如果没有该记录,本地域名服务器就把请求发给根域名服务器

③ 根域名服务器再返回给本地域名服务器一个所查询域的顶级域名服务器的地址
④ 本地服务器再向返回的域名服务器发送请求
⑤ 接收到该查询请求的域名服务器查询其缓存和记录,如果有相关信息则返回客户机查询结果否则通知客户机下级的域名服务器的地址

本地域名服务器将查询请求发送给返回的DNS服务器。

⑦ 域名服务器返回本地服务器查询结果(如果该域名服务器不包含查询的DNS信息,查询过程将重复⑥、⑦步骤,直到返回解析信息或解析失败的回应)

⑧ 本地域名服务器将返回的结果保存到缓存,并且将结果返回给客户机。

正向解析与反向解析 

        正向解析。正向解析是指域名到IP地址的解析过程。

        反向解析。反向解析是从IP地址到域名的解析过程。反向解析的作用为服务器的身份验证。

 

资源记录

        SOA资源记录

        每个区在区的开始处都包含了一个起始授权记录(Start of Authority Record),简称SOA记录。SOA定义了域的全局参数,进行整个域的管理设置,一个区域文件只允许存在唯一的SOA记录。

其他的包括:NS资源记录;A资源记录;PTR资源记录;CNAME资源记录;MX资源记录。

        /etc/hosts文件

        hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,以ASCII格式保存在/etc目录下,文件名为“hosts”。hosts文件的格式如下:

例:  假设要添加域名为www.smile.com,IP地址为192.168.0.1;www.long.com,IP地址为192.168.1.1。则可在hosts文件中添加如下记录。

192.168.0.1  www.smile.com                

192.168.1.1  www.long.com     

二、安装DNS服务

bind

        BIND是一款实现DNS服务器的开放源码软件。

安装bind软件包 

[root@RHEL6 ~]# yum clean all             //安装前先清除缓存

[root@RHEL6 ~]# yum  install  -y bind

[root@RHEL6 ~]# rpm -qa|grep bind  // 检查是否安装成功

 

DNS服务的启动与停止

[root@RHEL6 ~]# service named start

[root@RHEL6 ~]# service named stop

[root@RHEL6 ~]# service named restart

 

配置主要名称服务器

        一般的DNS配置文件和正反向解析区域声明文件必须存在4个文件,其结构如下:

/etc/named.conf                                   区域配置主文件

/etc/named/named.ca                          根区域文件

/etc/named/named.domain                  正向解析区域声明文件

/var/named/named.domain.arpa         反向解析区域声明文件

主配置文件

        BIND的主配置文件是named.conf,存放在/etc目录下,主要是用来声明域名服务器的Cache文件、正反向解析区域文件的名称及放置位置。

        如果要在域名服务器上设置存取限制,或者进行其他特殊设置,都必须在/etc/named.conf文件中定义。

        其中,Cache文件主要用来设置DNS服务器查询域名解析后的结果(域名与IP地址的对应关系);正向解析区域(Zone)文件默认存放在/var/named目录下,主要用来完成域名到IP地址的对应转换工作;反向解析区域(Reverse Zone)文件默认也存放在/var/named目录下,其作用是完成从IP地址到对应域名的转换.。

named.conf配置文件分为整体和局部两个部分。

type字段指定区域的类型,对于区域的管理至关重要,一共分为6种,如表

从例子学起:

        搭建一个简单的DNS服务器      授权DNS服务器管理smile.com区域,并把该区域的区域文件命名为smile.com.zone。服务器是192.168.2.2,Mail服务器是192.168.2.10,WWW服务器是192.168.2.100。本例至少需要2台Linux服务器,一台安装DNS,一台作为客户端。

(1)建立主配置文件named.conf

(2)建立smile.com.zone区域文件

        @是区域名称的简写。如果在正向解析区域文件中遇到@符号,则都可以替换成“named.conf”中声明的相关正向解析区域名称,比如smile.com,在第一行进行了声明。

(3)配置反向解析区域

        ① 在 named.conf 文件中增加内容

        ② 建立反向区域文件。

(4)将/etc/named.conf 、正反向区域文件属组由root改为named

(5)关闭防火墙后重启named服务

systemctl stop firewalld
systemctl disable firewalld

(6)在Linux客户端测试配置效果

3.区域文件与资源记录格式

SOA资源记录

SOA资源记录语法格式如下:

 

SOA资源记录字段含义如下:

主域名服务器

管理员

序列号

刷新间隔

重试间隔

过期间隔

最小(默认)TTL

NS记录      

        用于指定一个区域的权威DNS服务器,通过在NS资源记录中列出服务器的名字,其他主机就认为它是该区域的权威服务器。@已声明为smile.com.。      

NS资源记录语法格式: 

A资源记录      

A资源记录是使用最为频繁的一种,通常用于将指定的主机名称解析为它们对应的IP地址。      

A资源记录语法格式:

 

其他常用资源记录        

(1)CNAME资源记录。        

  CNAME(别名)资源记录用于为某个主机指定一个别名。        

  CNAME资源记录语法格式:

(2)MX资源记录。          

  MX(邮件交换器)资源记录提供邮件传递信息。该记录会指定区域内的邮件服务器名称。     

  MX资源记录语法格式:

(3)PTR资源记录。          

  PTR(指针)资源记录。该记录与A记录相反,用于查询IP地址与主机名的对应关系。          

  PTR资源记录语法格式:

根区域设置及对应区域文件

        根区域是一个较为特殊的区域,记录列出了全球根域名服务器的信息,域名通常用“表示,类型为hint。

        因为域名服务器接收到查询请求后,如果该服务器没有相应的DNS信息,则会询问根区域中的根域名服务器进行迭代查询直到返回结果,所以根区域作用非常重要,不建议手写根区域文件。

        安装BIND主程序软件包时会自动建立根区域文件的范本。使用rpm -ql命令可以追踪所有安装后文件的路径。其中有一个名为named.root的文件就是根区域文件的范本。

 

        named.root记录了全球13台根域名服务器地址,将该文件复制到DNS的工作日录(/var/

named/)下即可,这样它就可以正常工作工作了。

 

实现直接解析域名      

        DNS服务器默认只能解析完全规范域名(FQDN),不能直接将域名解析成IP地址。为了方便用户访问,可以在DNS服务器的区域文件中加入下面一条特殊的A资源记录,以便支持实现直接解析域名功能。

实现泛域名解析          

        泛域名是指一个域名下的所有主机和子域名都被解析到同一个IP地址上。 可以在DNS服务器的区域文件末尾加入下面一条特殊的A资源记录(符号“*”是代表任何字符的通配符),以便支持实现泛域名解析功能。

DNS服务器配置流程 主要分为以下3步。

建立主配置文件。

建立区域文件。

重新加载配置文件或重新启动named服务使用配置生效。

 

下面我们来看一个具体实例

        客户端需要获得www.smile.com这台主机所对应的IP地址,将查询请求发送给DNS服务器。

        ●服务器接收到请求后,查询主配置文件named.conf,检查是否能够管理smile.com区域。而named.conf中记录着能够解析smile.com区域并提供smile.com区域文件所在路径及文件名。

        ●服务器则根据named.conf文件中提供的路径和文件名找到smile.com区域所对应的配置文件,并从中找到www.smile.com主机所对应的IP地址。

        ●将查询结果反馈给客户端,完成整个查询过程。

 

DNS服务器配置实例      

下面我们以一个简单的DNS服务器的配置为例来讲一下配置一台DNS服务器的工作流程。      

【例】售销部所在域为“sales.com”,部门内有3台主机,主机名分别是

computer1.sales.com(192.168.0.101),

computer2.sales.com(192.168.0.102),

computer3.sales.com(192.168.0.103).

另有测试客户机client.sales.com(192.168.0.100)1台。

现要求DNS服务器dns.sales.com(192.168.0.3)可以解析4台主机名和IP地址的对应关系。

 (此案例是DNS搭建的最基本配置。在搭建之前整理好设定流程。首先在服务器上建立主配置文件,设置可以解析“sales.com”区域。然后建立“sales.com”的区域文件,并在区域文件中设置SOA、NS以及A资源记录。最后配置客户端。)

配置主要步骤如下。

step1:修改named.conf文件的属组为named。

[root@RHEL6 桌面]# chgrp named /etc/named.conf

chown :named /etc/named.conf

step2:设置named.conf文件

        添加“sales.com”区域,指定正向解析区域文件名为sales.com.zone,反向解析区域文件名为3.0.168.192.zone。

        “options {”中的“{”的两边需要各加一个空格。

step3:建立“sales.com.zone”区域文件

step4:建立“3.0.168.192.zone”区域文件,并修改文件的属组为named。

内容修改如图

step5:重启服务

service named restart

测试结果:

配置辅助DNS服务器

1.辅助域名服务器      

        DNS划分若干区域进行管理,每个区域由一个或多个域名服务器负责解析。对于存在多个域名服务器的区域,必须选择一台主域名服务器(master),保存并管理整个区域的信息,其他服务器称为辅助域名服务器(slave)。

        管理区域时,使用辅助域名服务器有如下几点好处。    

        (1)辅助DNS服务器提供区域冗余,能够在该区域的主服务器停止响应时为客户端解析该区域的DNS名称。     

        (2)创建辅助DNS服务器可以减少DNS网络通信量。采用分布式结构,在低速广域网链路中添加DNS服务器能有效地管理和减少网络通信量。    

        (3)辅助服务器可以用于减少区域的主服务器的负载。

2.区域传输      

        为了保证DNS数据相同,所有服务器必须进行数据同步,辅助域名服务器从主域名服务器获得区域副本,这个过程称为区域传输。区域传输存在两种方式:完全区域传输(AXFR)和增量区域传输(IXFR)。满足发生区域传输的条件时,辅助域名服务器向主服务器发送查询请求,更新其区域文件。  

3.配置辅助域名服务器

 【例】主域名服务器的IP地址是192.168.0.3,辅助域名服务器的地址是192.168.0.200,区域是“sales.com”,两台主机分别是 computer1.sales.com(192.168.0.101)、computer2.sales.com(192.168.0.102)。测试客户端是client2.sales.com(192.168.0.100)。请给出配置过程。           

(1)配置主域名服务器。      

        在服务器192.168.0.3上修改主配置文件named.conf添加smile.com区域。

(2)修改正向解析区域文件smile.com.zone。

(3)修改反向解析区域文件3.0.168.192.zone。

(4)配置辅助域名服务器。

        在服务器192.168.0.200上修改主配置文件named.conf添加smile.com区域

(5)数据同步测试。

查看辅助域名服务器系统日志,通过ls命令查看辅助域名服务器/var/named/slaves目录,区域文件smile.com.zone复制完毕。

建议配置区域复制时关闭Selinux功能,否则区域数据可能无法复制。

(6)在客户端测试辅助DNS服务器 将客户端计算机的首要DNS服务器地址设为192.168.0.200。然后利用nslookup测试成功。

建立子域并进行区域委派

1.子域应用环境        

        当要为一个域附加子域时,请检查是否属于以下3种情况。

2.管理子域        

        如果根据需要,决定添加子域,可以有两种方法进行子域的管理。      

        (1)区域委派。      

        (2)虚拟子域。

3.配置区域委派      

【例】  公司提供虚拟主机服务,所有主机后缀域名为sales.com。随着虚拟主机注册量大幅增加,DNS查询速度明显变慢,并且域名的管理维护工作非常困难。

(1)父域设置区域委派。(2)添加sales.com区域文件。

   ① 指定委派区域test.sales.com管理工作由域名服务器dns1.test.sales.com负责。

   ② 添加dns1.test.sales.com的A记录信息,定位子域test.sales.com的权威服务器。

(3)在父域服务器上添加sales.com反向区域文件。

(4)在子域服务器192.168.0.200上进行子域设置。

        编辑/etc/named.conf并添加test.sales.com区域记录。

(5)在子域服务器192.168.0.200上进行子域设置,添加test.sales.com域的正向解析区域文件。

    computer1                IN              A            192.168.0.101    //为方便后面测试,增加一条A记录

(6)在子域服务器192.168.0.200上进行子域设置,添加test.sales.com域的反向解析区域文件 。

后面要关闭防火墙,设置主配置文件和区域文件的属组为named,然后重启DNS服务。

配置转发服务器

按照转发类型的区别,转发服务器可以分为以下两种类型。

(1)完全转发服务器。        

        DNS服务器配置为完全转发会将所有区域的DNS查询请求发送到其他DNS服务器。可以通过设置named.conf文件的options字段实现该功能。

(2)条件转发服务器。      

        该服务器类型只能转发指定域的DNS查询请求,需要修改named.conf文件并添加转发区域的设置。    

【例】  对域smile.com设置转发服务器192.168.0.198和192.168.0.199。

设置转发服务器的注意事项如下: 

        转发服务器的查询模式必须允许递归查询,否则无法正确完成转发。

        转发服务器列表如果为多个DNS服务器则会依次为尝试,直到获得查询信息为止。

        配置区域委派时如果使用权转发服务器,有可能会产生区域引用的错误。

搭建转发服务器需要掌握以下操作技巧: ① 转发列表配置精简。 ② 避免链接转发器。 ③ 减少转发器负荷。 ④ 避免转发器配置错误。

配置缓存服务器

【例】  公司网络中为了提高客户端访问外部WEB站点的速度并减少网络流量需要在内部建立缓存服务器。

    缓存服务器不需要建立独立的区域,可以直接对named.conf文件进行设置,实现缓存的功能。

配置DNS客户端

设置DNS客户端比较简单,直接编辑/etc/resolv.conf文件,然后使用nameserver参数来指定DNS服务器的IP地址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/554047.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

酒店管理系统

文章目录 酒店管理系统一、项目演示二、项目介绍三、15000字论文参考四、部分功能截图五、部分代码展示六、底部获取项目源码和万字论文参考(9.9¥带走) 酒店管理系统 一、项目演示 酒店管理系统 二、项目介绍 基于springbootvue前后端分离的…

亿级流量系统多级缓存架构6

亿级流量系统多级缓存架构6 服务限流 什么叫限流? Ab测试 yum install httpd-tools即限制流量进入 缓存,是用来增加系统吞吐量,提升访问速度提供高并发。 降级,是在系统某些服务组件不可用的时候、流量暴增、资源耗尽等情况…

宠物店小程序如何搭建制作?宠物店小程序核心功能有哪些?

随着宠物经济的兴起,宠物店的线上服务需求日益增长。微信小程序作为一种便捷的线上服务平台,为宠物店提供了一个与爱宠人士建立联系的新渠道。面对市场上众多的小程序开发选项,宠物店应该如何选择或制作一款适合自己的小程序呢?本…

[spring] Spring Boot REST API - CRUD 操作

Spring Boot REST API - CRUD 操作 这里主要提一下 spring boot 创建 rest api,并对其进行 CRUD 操作 jackson & gson 目前浏览器和服务端主流的交互方式是使用 JSON(JavaScript Object Notation),但是 JSON 没有办法直接和 Java 的 POJO 创建对应…

【网络运维知识】—路由器与交换机区别

【网络运维知识】—路由器与交换机区别 一、路由器(Router)和交换机(Switch)对比1.1 功能1.2 转发方式1.3 范围1.4 处理方式 💖The Begin💖点点关注,收藏不迷路💖 路由器&#xff08…

ShadowFormer:Global Context Helps Images Shadow Removal

本论文主要是对图像阴影去除工作的研究。现有工作都是针对于局部阴影或阴影部分分别进行优化,这就会导致在分界线上有明显不同(光照不一致,伪影情况)。因此,本文提出一种全局优化算法shandowFormer来解决分界不一致问题…

Springboot+Vue项目-基于Java+MySQL的企业客户管理系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

数据结构中的顺序表的删除和查找

对于顺序表,它包括:初始化,取值,查找,插入,以及删除。接下来就讲一讲删除和查找。 删除:它包括头删和尾删,为什么顺序表中要用到删除呢?按我的理解就是:为插入…

SRIO系列-基本概念及IP核使用

参考:串行RapidIO: 高性能嵌入式互连技术 | 德州仪器 SRIO协议技术分析 - 知乎 PG007 目录 一、SRIO介绍 1.1 概要 1.2 SRIO与传统互联方式的比较 1.3 串行SRIO标准 1.4 SRIO层次结构: 1.4.1 逻辑层 1.4.2 传输层协议 1.4.3 物理层 二、Xilinx…

内网隧道技术总结

隧道技术解决的是网络通信问题,因为在内网环境下,我们不同的内网主机管理员会进行不同的网络配置,我们就需要使用不同的方式去控制我们的内网主机。隧道技术是一个后渗透的过程,是可以是我们已经取得了一定的权限,在这…

【Visual Studio 2012中文版】下载安装以及使用方法

文章目录 前言一、下载安装包二、安装步骤1.双击VS2012_ULT_chs.iso文件打开2.双击vs_ultimate.exe打开安装程序3.选择要安装的功能4.软件正在安装,请耐心等待10分钟5.安装成功,点击“启动”6.激活码(产品密钥) 三、VS2012使用&am…

软考 系统架构设计师系列知识点之大数据设计理论与实践(10)

接前一篇文章:软考 系统架构设计师系列知识点之大数据设计理论与实践(9) 所属章节: 第19章. 大数据架构设计理论与实践 第3节 Lambda架构 19.3.5 Lambda架构优缺点 1. 优点 (1)容错性好 Lambda架构为大数…

HTML:Form表单控件主要标签及属性。name属性,value属性,id属性详解。表单内容的传递流程,get和post数据传递样式。表单数据传递实例

form表单 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </head> &…

Vue源码解读学习

Vue源码 观察者模式 & 发布订阅 观察者模式&#xff1a;中心一对多 系统单点间的灵活和拓展&#xff08;广播的方式&#xff09; 发布订阅&#xff1a;将注册列表遍历发布给订阅者 initInject initState initProvide他们挂载顺序为什么这样设计&#xff1f; initstate…

【春秋云镜】CVE-2023-43291 emlog SQL注入

靶场介绍 emlog是一款轻量级博客及CMS建站系统&#xff0c;在emlog pro v.2.1.15及更早版本中的不受信任数据反序列化允许远程攻击者通过cache.php组件执行SQL语句。 不感兴趣的可以直接拉到最后面&#xff0c;直接获取flag 备注&#xff1a;没有通过sql注入获取到flag&…

C语言 【基础语法】

一、编程环境搭建 编译器&#xff1a;gcc 集成开发环境&#xff1a;vscode 1.1 安装vscode 1.2 设置中文包 插件 1.3 设置C/C扩展 安装 C/C Compile Run extension 和 C/C Extension Pack 扩展 二、基础语法 2.1 第一个c语言程序 2.2 数据类型 2.2.1 变量的语法(重点) …

RK3588 Android13 TvSetting 中增加 Usb 模式 Host/OTG 切换

前言 电视产品,客户要求在设置中设备偏好设置子菜单下增加一个USB模式切换菜单,一开始准备直接开整。但发现在开发者选项里就已经包含了一个USB模式 菜单了,只是没有 OTG HOST 这两选项,那就把这个菜单挪出来再增加一下就完事了,开整。 客户提供对比机图 效果图 framew…

OpenCV从入门到精通实战(六)——多目标追踪

基于原生的追踪 使用OpenCV库实现基于视频的对象追踪。通过以下步骤和Python代码&#xff0c;您将能够选择不同的追踪器&#xff0c;并对视频中的对象进行实时追踪。 步骤 1: 导入必要的库 首先&#xff0c;我们需要导入一些必要的Python库&#xff0c;包括argparse、time、…

Redis从入门到精通(十四)Redis分布式缓存(二)Redis哨兵集群的搭建和原理分析

文章目录 前言5.3 Redis哨兵5.3.1 哨兵原理5.3.1.1 集群的结构和作用5.3.1.2 集群监控原理5.3.1.3 集群故障恢复原理 5.3.2 搭建哨兵集群5.3.3 RedisTemplate5.3.3.1 搭建测试项目5.3.3.2 场景测试 前言 Redis分布式缓存系列文章&#xff1a; Redis从入门到精通(十三)Redis分…

回文链表题解

题目&#xff1a;回文链表 分析 这道题目标签为简单题&#xff0c;但是如果要实现下面的进阶过程不是很简单。 拿到题目一般来说就是赶时间&#xff0c;没有要求的情况下直接使用一个列表存储所有的数值&#xff0c;然后判断这个列表是否满足回文&#xff0c;这个思路是比较简…