DNS服务器介绍(一)——创建DNS正反解析区域

简介:

背景介绍

DNS服务作为互联网上一个基础服务承担着将用户请求的名称转换成对应的IP或将IP转换为名称的功能。DNS实际上是将互联网上所有主机的FQDN以“.”分割成若干个区域,每一个区域都有特定的主机来进行管理。以正向解析为例:当用户发起对www.contoso.com名称的解析请求时,本地DNS服务器会先查询缓存内是否有该名称的IP,如果没有此时就分为两种情况:

wKiom1kLIQzCd_prAACimwhL0wM356.png

当客户端向本地的DNS服务器发起请求时(1),如果本地DNS服务器不允许递归查询,他会立即向客户端反馈找不到该名称对应的IP(2),此时的查询过程称为递归查询;如果本地DNS服务器允许递归查询,当他在缓存及本地的区域解析库文件中找不到该名称对应的IP时,首先会去根域进行查询(3),根域会告诉本地DNS服务器.com域的IP(4),本地DNS服务器再去找.com域进行查询(5),以此类推直到获得到www.contoso.com主机的IP后(10),本地DNS服务器才会将该地址告诉客户端(2),客户端再次使用得到的IP去访问www.contoso.com主机(11),本地DNS服务器同时将该名称和IP的对应信息记录在自己的缓存中。

通过上述得知,除了(2)是递归查询外,(3)-(10)都是迭代查询,由于允许递归会大量消耗服务器资源,所以很多大型的DNS服务器比如根域服务器就不允许做递归查询,打开或关闭的方法是在bind的配置文件/etc/named.conf中定义。

wKioL1kLIQ2BgU0xAABNpCQoQp8979.png

当用户输入一个地址后,例如www.contoso.com,如果本地DNS服务器没有该地址的记录它会去找根区域解析,通过前文得知区域是以“.”来进行划分的,每一个FQDN的结尾处其实都有一个用于结尾的“.”,只是该“.”可以省略,而结尾处的“.”就代表根区域的意思,www.contoso.com完整的FQDN为www.contoso.com.,DNS在解析时采用从后往前的方式逐一进行区域查找,全球一共有13个根域名解析服务器,而根区域“.”默认在安装DNS服务时就已经自带,在bind的配置文件/etc/named.conf中可以查看到记录根区域的文件。

wKiom1kLIQ3hcNQLAAAUlckiy5k448.png

创建正向解析DNS服务器

1.使用yum install bind -y 安装DNS服务。DNS的配置文件采取分段的方式除了主配置文件/etc/named.conf外,也可以在/etc/named.rfc912.zones文件中定义,默认情况下DNS服务安装完成后只侦听在自己的127.0.0.1:53套接字上,不对外提供任何服务,如果需要对外提供服务,需要将自己的IP地址添加到侦听列表中,并设置allow-query为any,允许任何人访问。dnssec是一种防止DNS被污染的机制,初学者或者测试阶段建议关闭该选项,bind配置文件中以//作为注释符。directory定义了区域解析库文件的存放目录,一般情况下区域解析库文件在/var/name目录下以XXXX.zone的名称存在。

wKioL1kLIQ2S3r8IAABXm3wPcYs765.png完成上述修改后,可以重启named服务或者使用rndc reload命令通知named服务重读配置文件,如果该服务器能访问互联网此时就是一个缓存DNS服务器。

2.创建解析区域。在/etc/named.rfc912.zones文件中添加要解析的区域,type定义了这台DNS服务器在contoso.com区域所扮演的角色,此处定义为主服务器,file指明了区域解析库文件的位置,由于在/etc/named.conf配置文件中设置了directory的值,所以此处可以使用相对路径,contoso.com.zone文件的绝对路径为/var/named/contoso.com.zone。

wKiom1kLIQ7xjnZEAAAkMeKIb30203.png

3.创建区域解析库文件。区域解析库文件是由众多RR(Resource Record)值组成,资源记录的格式为:

domain_name    [TTL]    IN    rr_type    value

domain_name:当前区域的名字,如contoso.com.(结尾的“.”不能省略),因为在/etc/named.rfc912.zones配置文件中已经定义的当前区域名称,所以此处可以使用@来简写

TTL:可以从全局继承,即在区域解析库文件的首部使用$TTL来定义;

rr_type:SOA、A、CNAME、MX、NS等。一个区域解析库有且仅能有一个SOA(Start Of Authority)记录,而必须为解析库的第一条记录;

value:有多个部分组成。(1)当前区域主DNS服务器的FQDN,也可以是当前区域的名字(简写为@) (2)当前区域管理员的邮箱地址,因为@在该文件中有特殊用法,所以邮箱中出现@的地方都已“.”来代替。

在该文件中如果下一行的相同位置与上一行一致,可以省略,他会继承上一行对应位置的值,如:NS的资源记录类型;另外在该文件中如果不是以“.”结尾的值它会自动补上区域名称,所以此处可以是ns2,也可以是ns2.contoso.com. ,但如果是ns2.的话就是错误的数值,他会认为这是ns2.与contoso.com.两个不同的区域。

wKiom1kLIQ7T88lPAABCwuUNGcQ961.png

创建完区域解析库文件后,可以使用named-checkcong和named-checkzone两条命令来检查配置文件和区域解析库文件是否存在语法错误

wKioL1kLIQ7BAPZ8AAAidld42Gc738.png

检查无误后使用dig命令进行测试,其中aa(authority answer)表示这是一个权威回答,只有本负责本区域的DNS服务器的回答才称为权威回答,除此之外的回答全部都是非权威回答,如:递归过程中由其他DNS服务器缓存给出的回答。

wKioL1kLIQ-xdGsAAACnjIhs0To914.png

需要注意的一点是:使用管理员创建完的区域解析库文件任何人都可以读取,在安全上会有风险,建议将权限改为640并且将属组改为named。

wKiom1kLIQ-Rsq1IAACg4icZLiU021.png

创建反向解析DNS服务器

首先需要说明的是:反向解析区域与正向解析区域是两个不同的区域,每个区域都有各自的区域解析库文件,并且这两个区域可以不在同一台服务器上,大多数场景是将正反解析区域部署在同一台服务器,此处也在同一台服务器上部署正反解析区域。

1.创建解析区域。反向解析域的解析区域名称为:网络地址反写.in-addr.arpa,在/etc/named.rfc1912.zone配置文件中添加一个反向解析区域。对于解析区域(zone)其结尾的“.”可以省略,而区域解析库文件(file)的名称是可以随意命名的。

wKiom1kLIQ_D3SXUAAARbCz6Shk854.png

2.在/var/named/目录下创建一个名为172.16.10.zone的反向区域解析库文件,反向区域解析库文件不需要MX和A,以及AAAA记录;以PTR记录为主。$ORIGIN的作用是将名称补全,如:10会补全为10.10.16.172.in-addr.arpa.(这个变量可以不用设置,因为在创建解析区域zone时就已经定义过区域名称),需要注意的是此处的value值不能简写,否则他会使用10.16.172.in-addr.arpa.补全。

wKioL1kLIRCzEV1eAAA2iOzScFk520.png

3.同样使用chmod和chown命令更改创建的/etc/72.16.10.zone区域解析库文件权限和属组,使用named-checkcong和named-checkzone检查无误后,使用dig -x 172.16.10.20 @172.16.10.10或者host命令验证,此处以host为例

wKioL1kLIRHhLCkTAAAs1_UMhbM697.png

补充说明

dig命令不会查询本地host文件;

rndc: remote name domain controller,默认与bind安装在同一主机,且只能通过127.0.0.1来连接named进程;提供辅助性的管理功能,侦听在TCP的953端口



本文转自 qiao645 51CTO博客,原文链接:http://blog.51cto.com/arkling/1922184

相关文章
|
2月前
|
存储 缓存 测试技术
阿里云服务器经济型e实例怎么样?性能、价格与适用场景全解析
阿里云服务器经济型e实例2核2G3M带宽40G ESSD Entry云盘价格只要99元1年,而且续费不涨价。经济型e实例是阿里云面向个人开发者、学生以及小微企业推出的一款入门级云服务器。这款实例以其高性价比和灵活的配置,迅速赢得了市场的青睐。那么,阿里云服务器经济型e实例到底怎么样?是否值得购买呢?本文将为您解析经济型e实例的性能、价格与适用场景,以供参考。
|
3月前
|
存储 弹性计算 固态存储
阿里云服务器ESSD Entry和ESSD等云盘解析:区别、应用场景与选择参考
阿里云服务器提供了包括ESSD Entry、ESSD、SSD云盘、高效云盘等丰富多样的云盘类型,以满足不同用户在不同业务场景下的需求。每种云盘都有其独特的性能特点和适用场景,为了帮助用户更好地理解和选择云盘,本文将详细解析阿里云服务器各个云盘的定义、区别、选择参考以及常见问题。让大家对阿里云服务器不同云盘的性能和适用场景有更全面的了解,尤其是ESSD Entry云盘和ESSD云盘,并能够根据自己的需求做出最适合自己的选择。
|
3月前
|
弹性计算 开发框架 Ubuntu
阿里云服务器ECS镜像知识解析:功能特性、场景及上手实操教程参考
对于部分初次选择阿里云服务器的新手用户来说,可能并不是很清楚阿里云服务器镜像是什么?ECS镜像堪称搭建ECS实例的基础模板,其中涵盖了启动及运行实例所必需的操作系统以及预先配置好的数据。本文将围绕阿里云服务器镜像的相关知识展开介绍,助力大家全方位了解并熟练运用这一强大功能。
|
19天前
|
弹性计算 前端开发 NoSQL
2025最新阿里云服务器配置选择攻略:CPU、内存、带宽与系统盘全解析
本文详解2025年阿里云服务器ECS配置选择策略,涵盖CPU、内存、带宽与系统盘推荐,助你根据业务需求精准选型,提升性能与性价比。
|
2月前
|
网络协议
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
利用Private Zone DNS - 搭建AD但不搭建DNS服务器如何加域
|
1月前
|
网络协议 API 网络安全
永久独立IP服务器解析与选择指南
关于“永久独立IP服务器”,这个概念需要从技术和商业两个层面来理解,小编为您整理发布。
|
1月前
|
弹性计算 云计算
阿里云服务器ECS是什么?一张图看懂云服务器ECS全解析
阿里云云服务器ECS(Elastic Compute Service)是阿里云提供的高性能、稳定可靠、弹性扩展的基础设施即服务(IaaS)云计算服务。它免去传统IT硬件采购流程,让用户像使用水电一样便捷使用计算资源,实现即开即用与弹性伸缩。详细了解请访问阿里云官方页面。
|
2月前
|
存储 运维 安全
【转】服务器托管服务:优势解析与决策指南
服务器托管服务通过专业数据中心提供稳定IT基础设施,帮助企业与个人降低成本、提升安全性与运维效率。相较自建机房,其优势包括成本节约、高可用性、网络安全防护、7×24技术支持及灵活扩展能力。本文深入解析五大核心价值、对比自建与托管模式差异,并提供服务商选择指南,助力企业做出明智决策。
80 0
|
2月前
|
存储 弹性计算 固态存储
阿里云服务器配置费用整理,支持一万人CPU内存、公网带宽和存储IO性能全解析
要支撑1万人在线流量,需选择阿里云企业级ECS服务器,如通用型g系列、高主频型hf系列或通用算力型u1实例,配置如16核64G及以上,搭配高带宽与SSD/ESSD云盘,费用约数千元每月。
164 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS