DNS服务原理及区域解析库文件配置
2018-03-30 11:06
519 查看
一、DNS服务概述
DNS(Domain Name service或者Domain Name Server)中文名叫做域名服务或者域名服务器, 属于应用层协议, 为C/S架构, 使用TCP/UDP的53号端口.[root@docker-package ~]# cat /etc/services | grep "^domain\b" domain 53/tcp # name-domain server domain 53/udp
1.1 DNS服务架构概览
DNS服务架构见下图:从图中可以看出, DNS服务的架构是一个分布式的架构, 最顶层是根域服务器, 中间是顶级域名服务器, 接着是二级域名和三级域名服务器.
每一个域名服务器都只负责解析本域内的名称的主机. 根域服务器全球共有13组.
常用的顶级域名(TLD, Top Level Domain)有com, edu, mil, gov, net, org, int等, TLD分三类, 组织域、国家或地区域(.cn, .us, ...)和反向域.
1.2 DNS服务查询类型
DNS服务查询有两种类型:递归查询: 只发送一次查询请求就能得到最终答案, 普通客户端就是使用的递归查询
迭代查询: 每次查询的答案为参考答案, 必须进行下一次查询, 通过1次或多次查询得到最终答案, 缓存DNS服务器(一般由电信运营商提供)使用的就是迭代查询
DNS查询过程图如下:
NOTE: 客户端在查询DNS服务器之前会先查询本地的hosts(名称解析配置文件)文件, hosts文件中没有查询到需要的信息才会去查询DNS服务器.
hosts路径:
linux: /etc/hosts
windows: %WINDOWS%/system32/drivers/etc/hosts
# hosts格式: IP DomainName 1.1.1.1 www.xxx.com 2.2.2.2 www.yyy.com
一次完整的DNS查询请求经过的流程:
# 1. 当你请求www.xxx.com这个域名时, 会先去查找本地hosts文件, 如果本地hosts文件中有结果, 则直接返回 # 2. 如果hosts文件中没有结果, 则会请求DNS serveice, DNS service会先查找Local DNS Cache, 有结果则直接返回 # 3. 如果没有结果, 就去会从根域服务器开始迭代查询 # 4. 最后迭代查询有结果就直接返回给客户端
解析答案有四种类型:
肯定答案
否定答案: 请求的条目不出那种等原因导致无法返回结果
权威答案
非权威答案
1.3 DNS解析类型
DNS解析类型有两种:正向解析: FQDN(Full Qualified Domain Name) --> IP
反向解析: IP --> FQDN
FQDN的中文意思是完全限定域名, 例如: www.buyaoliandebaidu.com就是一个FQDN.
正向解析和反向解析各需要一个解析库来进行解析, 称之为正向区域和反向区域.
NOTE: 正反向解析是两个不同的名称空间, 是两颗不同的解析树.
1.4 DNS服务器类型
DNS服务器类型分为四类:主DNS服务器: 维护所负责解析的域内解析库的服务器, 解析库由管理员维护
辅助DNS服务器: 从主服务器或其他从服务那里“复制(区域传送)”一份解析库, 从服务器根据主服务器的序列号变化来更新解析库
序列号: 解析库的版本号; 前提: 主服务器解析库内容发生变化, 其序列号递增
刷新时间间隔: 从服务器从主服务器请求同步解析库的时间间隔
重试时间间隔: 从服务器从主服务器请求同步解析库失败时, 再次尝试的时间间隔
过期时长: 从服务器始终联系不到主服务器时, 多久之后放弃从服务器角色并停止提供服务器
缓存DNS服务器
转发器
区域传送有两种, 全量传送(传送整个解析库)和增量传送(传送解析库变化的那部分内容).
二、DNS的区域解析库
DNS的区域解析库中定义了资源记录(Resource Record, RR), 资源记录类型如下:SOA(Start Of Authority): 起始授权记录, 一个区域解析库仅能有一个SOA记录, 而且必须为解析库的第一条记录
A(Internet Address): 用于实现将FQDN解析为IP地址
AAAA: 用于IPv6, 将FQDN解析为IPv6地址
PTR(PonTeR): 将IP解析为FQDN
NS(Name Server): 专用于标明当前区域的DNS服务器
CNAME(Canonical Name): 别名记录
MX(Mail eXchanger): 邮件交换器
2.1 资源记录定义的格式
定义资源记录的语法:# 语法: name [TTL] IN tt_type value # NOTE: # TTL可从全局继承 # “@”可用于引用当前区域的名字 # 同一个名字可以通过多条记录定义多个不同的值, 此时DNS服务器会以轮询方式响应 # 同一个值也可能有多个不同的定义名字, 通过多个不同的名字指向同一个值进行定义; 仅此表示通过多个不同的名字可以找到同一个主机而已
SOA记录:
# name: 当前区域的名字, 例如: leistudy.com # value: 有多部分组成 # 当前主区域的DNS服务器的FQDN, 也可以使用当前区域的名字 # 当前区域管理员的邮箱地址, 但地址中不能使用@符号, 一般用“.”代替, 例如linuxedu.magedu.com # 主从服务协调属性的定义以及否定的答案的统一的TTL # 示例: leistudy.com. 86400 IN SOA ns.leistudy.com. nsadmin.leistudy.com. ( 2018022801 ;序列号 2H ;刷新时间 10M ;重试时间 1W ;过期时间 1D ;否定答案的TTL值 )
NS记录:
# name: 当前区域的名字 # value: 当前区域的某DNS服务器的名字, 例如: ns.leistudy.com. # NOTE: 一个区域可以有多个NS记录 # 示例: leistudy.com. IN NS ns1.leistudy.com. leistudy.com. IN NS ns2.leistudy.com.
NOTE1: 相邻两个资源记录的name相同时, 后续可省略
NOTE2: 对NS记录而言, 任何一个ns记录后面的服务器名字, 都应该在后续有一个A记录
MX记录:
# name: 当前区域的名字 # value: 当前区域的某邮件服务器(smtp服务器)的主机名, 一个区域内, MX记录可有多个; 但每个记录的value之前应该有一个数字(0-99), 表示此服务器的优先级, 数字越小, 优先级越高 # 示例: leistudy.com. IN MX 10 mx1.leistudy.com. IN MX 20 mx2.leistudy.com. # NOTE: 对MX记录而言, 任何一个MX记录后面的服务器名字, 都应该在后续有一个A记录
A记录:
# name: 某主机的FQDN, 例如www.leistudy.com. # value: 主机名对应主机的IP地址 # 示例: www.leistudy.com. IN A 1.1.1.1 www.leistudy.com. IN A 1.1.1.2 mx1.leistudy.com. IN A 1.1.1.3 mx2.leistudy.com. IN 5ae A 1.1.1.3 # NOTE: 避免用于写错名称时给错误答案, 可通过泛域名解析进行解析至某特定地址 # 示例: *.leistudy.com. IN A 1.1.1.4 magedu.com. IN A 1.1.1.4
AAAA记录:
# name: FQDN # value: IPv6
PTR记录:
# name: IP, 有特定格式, 把IP地址反过来写, 例如1.2.3.4要写作4.3.2.1; 而且有特定后缀: in-addr.arpa; 所以完整写法为“4.3.2.1.in-addr.arpa” # value: FQDN # 示例: 4.3.2.1.in-addr.arpa. IN PTR www.leistudy.com # 简写: 网络地址及后缀可省略, 主机地址依然要反写 4 IN PTR www.leistudy.com.
CNAME记录:
# name: 别名的FQDN # value: 真正名字的FQDN # 示例: web.leistudy.com. IN CNAME www.leistudy.com.
NOTE: 配置示例请查看博客http://blog.51cto.com/13501622/2092851
相关文章推荐
- 脚本自动实现DNS服务各区域配置文件
- DNS服务系列之原理介绍及正反向解析配置
- DNS的解析原理,资源记录类型,主从区域名的配置,转发区域的配置,子域名授权等相关操作
- 脚本自动实现DNS服务各区域配置文件
- Linux DNS服务系列之原理介绍及正反向解析配置
- spring源码(2)之解析配置文件原理
- 1、Spring DI xml配置文件方式解析原理
- jackson-data-format-csv 读取csv文件——高级配置及原理解析
- Linux配置 DNS and BIND服务配置详解--缓存服务器配置 正反向解析配置
- 在 Kubernetes(1.6)中配置私有 DNS 区域以及上级域名服务
- DNS服务正向、反向解析区域,主/从区域数据库复制,子域授权及基本安全控制
- 原理分析之三:初始化(配置文件读取和解析)
- snmp服务配置及其oid、mib文件解析
- DNS服务器:主要介绍DNS的服务原理以及安装及其主从配置
- DNS解析与Bind的使用(5)——正反向解析区域的配置
- DNS各种基本配置(正向解析区域、反向解析区域;主/从;子域;基本安全控制)
- Windows中的DNS服务——正向解析&反向解析配置
- HDFS集群繁忙时删除大量的文件导致NameNode服务不可用原理解析
- 【详解】DNS服务工作原理、正反向解析和主从同步 推荐
- 总结之:CentOS6.5 DNS服务BIND配置、正反向解析、主从及压力测试(4)