DNS服务器系列之一:DNS服务原理、安装及主从配置

简介:

一、DNS简介

1、DNS

   DNS是域名系统(Domain Name System)的简称,它是一个将域名和IP相互映射的分布式数据库。有了DNS服务器,我们只需要记录一个网站的域名即可访问,而再也不需要记忆那一串长长的IP地址了。在2014.1.21号,就由于国内的DNS域名解析系统遭攻击出现了大规模的故障而导致全国网络的访问故障,可想而知,DNS对于网络来说是至关重要的。

全球有386台根服务器,被编号为A到M共13个标号,编号相同的根服务器使用同一个IP,386台根服务器总共只使用13个IP,因此可以抵抗针对其所进行的分布式拒绝服务攻击(DDoS)。中国大陆在北京有两台编号为L的根服务器镜像,编号为F、I、J的各一,共5台镜像,所以刚才提到的那个故障应该就是国内的DNS根域镜像的故障。

2、分布式数据库

   早期的网络比较单一,域名也比较少,所以hosts文件可以说是比较简单的数据库了,但到了后来网络的爆炸式发展,一个hosts文件、一台服务器、一组DNS集群都不能扛得住越来越多的主机请求,所以到后来出现了分布式数据库,把一个数据库切成n片,放到不同的主机上来解析客户端的请求,当需要解析不同的主机时,就到不同的服务器上去实现,以到达缓解根服务器巨大的压力。

3、域名的划分

   根域:.

   一级域:.com,.org,.mil,.gov,.edu,.net

   国家域:.cn,.hk,.tw,.jp,.us,.uk,.ir,.iq

   二级域:www.ibm.com中的ibm就是二级域名

   主机名:上面的www是主机而不是域名

wKioL1Mm9_yxdhXcAAA6HV36IDw954.png

FQDN(Full Qualified Domain Name):安全合格域名,按照中国人的习惯是从大到小写,但老外习惯从小往大了写,就像写信一样,自底向上,所以一个FQDN应该是"www.ibm.com."。

4、DNS查询方式

1)递归查询(recursion)

   客户端只发出一次请求,要求对方给出最终结果。如果客户端要查找的内容直接在服务器上得到结果,刚给出的答案是一个权威答案,否则就是一个参考答案。

2)迭代查询(iteration)

   客户端发出一次请求,服务器替代客户端一次次的去请求以获得最终答案,所以迭代查询是服务器代为其查询,因此,客户端指向的DNS服务器,一定是允许给本地主机做递归的。

wKioL1Mm-GvzegWjAADn_R_6wLc039.png

5、资源记录(Resource Record)

   DNS数据库文件中的每一个条目叫做资源记录,它是一个纯文本文件,只能包含资源记录或宏定义。

   资源记录的格式:

   Name     [ttl]    IN    RRtype    Value

1)、SOA:

   Start of Authority,起始授权

   SOA必须是区域数据库文件的第一条记录

   name:只能是区域名称,通常可以简写为@,如shuishui.com

   value:主DNS的FQDN

   例:@    600    IN    SOA     ns.shuishui.com.     dnsadmin.shuishui.com.(

                           serial number;序列号,不能超过10位,如:2014031801

                           refresh time;刷新时间,第每隔多久到主服务器检查一次

                           retry time;重试时间,如果刷新失败,多久重试

                           expire time;过期时间

                           negative answer ttl;否定答案的ttl )

   上面的那个dns.admin.shuishui.com.是管理员邮箱,第一个点代表的是@,但这里@是一个宏,所以就用.代替了。

   注意:SOA后面ns.shuishui.com.中最后面那个.一定不能省略,如果省略,系统会默认给补上你的区域名称。

2)、NS

   Name Server,域名服务器

   name:区域名称,通常可以简写为@

   value:DNS服务器的FQDN(可以使用相对名称)


3)、A

   Address,IP地址,负责FQDN——>IP的解析

   name:FQDN(可以使用相对名称)

   value:IP

4)、AAAA

   IPv6地址

5)、MX

   Mail eXchanger:邮件交换器,可以有多个,那就需要做优先级

   name:区域名称,用于标识smtp服务器

   value:包含优先级和FQDN,优先级的范围:0-99,数字越小,级别越高

6)、CNAME

   Canonical Name,别名记录

   name:FQDN

   value:FQDN

   注意:但凡value上是FQDN,那么这个FQDN都需要有一个A记录,否则不能解析,PTR除外

7)、PTR

   负责IP——>FQDN的解析,只能定义在反向区域数据文件中,反向区域名称为逆向网络地址加.in-addr.arpa.后缀组成

   name:IP,逆向的主机地址,如:93.251.16.172.in-addr.arpa.

   value:FQDN,这里的FQDN不需要有A记录,反向区域中不能出现A记录和MX

二、DNS的安装

   DNS是同时监听TCP与UDP协议的53号端口的,它的协议是DNS,软件名称是BIND(当然也有其它的)、进程名是named,这里就详细介绍以BIND方式安装DNS服务

1、安装bind,最好提前装好yum源,省得解决依赖关系。

1
[root@nmshuishui ~] # yum -y install bind

2、启动服务,检查是否已经监听53号端口

wKioL1Mm-lzytZRXAABQ17kGWF4055.png

启动服务成功,默认监听tcp与udp的53号端口

3、配置DNS

1)修改主配置文件

   现在DNS虽然已经启动成功,但还不能提供正常的解析服务,因为还没有创建区域数据库文件。

   主配置文件:定义区域,在/etc/named.conf

   区域数据文件:区域数据文件其实就是区域文件数据库,里面定义资源记录,它是一个纯文本文件,只能包含资源记录或宏定义。

wKiom1Mm_lOyoLD6AACU1A6CCe0936.png

修改完主配置文件后,再重启下named,这时它就会监听服务器的22号端口了。

wKiom1Mm_0SSMGQJAABks8N3Mj8660.png

2)创建正向区域

   DNS服务器有四种类型:主DNS服务器,从DNS服务器,缓存名称服务器,转发服务器

   因为这里新建的是第一台DNS服务器,所以DNS服务器类型为主DNS服务器,使用file指定数据文件,以;号结尾。

wKioL1MnAlODIPUxAABDPzgTK3M564.png

   在/var/named/下创建正向区域文件数据库,命令为shuishui.com.zone,并填写资源记录

1
2
3
[root@nmshuishui named] # pwd
/var/named
[root@nmshuishui named] # vim shuishui.com.zone

wKioL1MnDOXg-9UhAAAo2iEFKGQ482.png

修改配置文件及区域后需要执行的6个步骤

wKioL1MnCCLzXYZvAADZbPZ81B4300.png

测试正向区域解析

   使用dig进行测试,-t选项指定类型,@指定使用哪台主机去解释,如果不使用@的话,默认会使用/etc/resolv.conf 下指定的DNS服务器进行解析。

wKioL1MnCeXDX_DlAAB7ndyqW0Y510.png

3)创建反向区域

   直接定义在shuishui.com这个区域下就可以了,当然也是主服务器类型,使用file指定区域数据文件,要以;号结尾。

1
vim  /etc/named .rfc1912.zones

wKioL1MnCwKTRgEHAAAR_MNU6DU625.png

在/var/named/下创建反向区域文件数据库,命令为172.16.251.zone,并填写资源记录

wKioL1MnJZyTIUInAAAt-8FzzYI328.png

修改配置文件及区域后需要执行的6个步骤

wKiom1MnJimAjgRLAACr4kyVm84139.png

测试反向区域解析

   使用dig进行测试,-t选项指定类型,@指定使用哪台主机去解释,如果不使用@的话,默认会使用/etc/resolv.conf 下指定的DNS服务器进行解析

wKioL1MnJmrTiCZQAABkTp_tJ8E719.png

三、DNS主从同步

1、向区域中添加从服务器的关键两步:

   1)、在上级获得授权

   2)、在区域数据文件中为从服务器添加一条NS记录和对应的A或PTR记录。

2、向从区域中添加区域,但不需要自己创建数据文件,因为要从主DNS服务器上做区域传送,为了安全,要放在/var/named/slaves目录下,这也是系统专门为从服务器准备的存放区域数据文件的路径。

wKioL1MnKEHBpDv6AAA_FW_Bz2Q107.png

3、查看同步过来的正向区域数据文件,很直观,很明了

wKiom1MnKPXRzxeGAAAxuZqS2CI191.png

4、在从服务器上解析下试试

wKioL1MnKtOD1W7bAAAnstVfdj8878.png

从服务器解析成功,DNS主从同步OK!










本文转自 nmshuishui 51CTO博客,原文链接:http://blog.51cto.com/nmshuishui/1378368,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
弹性计算 ice
阿里云4核8G云服务器配置价格:热门ECS实例及CPU处理器型号说明
阿里云2025年4核8G服务器配置价格汇总,涵盖经济型e实例、计算型c9i等热门ECS实例,CPU含Intel Xeon及AMD EPYC系列,月费159元起,年付低至1578元,按小时计费0.45元起,实际购买享折扣优惠。
2022 1
|
6月前
|
弹性计算 定位技术 数据中心
阿里云服务器配置选择方法:付费类型、地域及CPU内存配置全解析
阿里云服务器怎么选?2025最新指南:就近选择地域,降低延迟;长期使用选包年包月,短期灵活选按量付费;企业选2核4G5M仅199元/年,个人选2核2G3M低至99元/年,高性价比爆款推荐,轻松上云。
587 11
|
6月前
|
存储 弹性计算 网络协议
超详细的阿里云服务器购买流程,ECS自定义购买配置教程
本文详细图解阿里云ECS服务器自定义购买全流程,涵盖付费模式、地域选择、网络配置、实例规格、镜像、存储、安全组及登录设置等核心步骤,助您轻松掌握专业级云服务器搭建方法。
|
6月前
|
存储 弹性计算 监控
阿里云渠道商:如何挑选阿里云服务器配置?
本文详解通用型、计算型、内存型等实例适用场景,结合性能评估与成本优化策略,助力用户按需选择。以日均1万访问企业网站为例,2核4G+3M带宽月费约200元,性价比高。合理配置更省钱。
|
6月前
|
弹性计算
阿里云ECS云服务器8核16G配置收费价格,多种ECS实例CPU及费用清单
阿里云8核16G云服务器价格因实例类型而异。计算型c9i约743元/月,一年6450元(7折);通用算力型u1仅673元/月,一年4225元(5.1折)。实际价格享时长折扣,详情见ECS官网。
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1211 29
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
504 4
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS