关于dns服务工作的原理,和配置的细节理解。
dns服务器相关
1,dns原理,也就是迭代,和递归查询。将域名解析为ip的过程。
一次完整的查询请求经过的流程:
Client -->hosts文件 -->DNS Service Local Cache -->
DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根
--> 顶级域名DNS-->二级域名DNS…
2,bind搭建步骤
安装相关的3个包。
vim named.conf 将查询改为any
vim named.rfc.conf 之类的文档,添加一个区。
touch 区文件 ,cp -p named.localhost
3,SOA 记录理解。
任何DNS系统返回第一个域名记录就是SOA(Start of Authority),在域名配置中,SOA记录格式如下:
@ IN SOA nameserver.place.dom. postmaster.place.dom. (
1 ; serial number
3600 ; refresh [1h]
600 ; retry [10m]
86400 ; expire [1d]
3600 ) ; min TTL [1h]
使用“dig”时的返回格式为:
nameserver.place.dom. 7200 IN SOA ns1.he.net. postmaster.place.dom. 1 3600 600 68400 3600
其中的每个部分解释如下:
nameserver.place.dom 表示该域中主dns服务的fqdn,后面加点表示绝对名称。
postmaster.place.dom 表示该域中的管理员的电子邮件地址。
@表示该域名称的替代符,以上的@表示 place.dom.。
serial number(序列号):是域名记录的版本,每更改一次域名的任何DNS记录,
版本号就会自动加一,这时secondary dns就会知道DNS记录发生更改,以便重新同步。
refresh(刷新时间):告诉secondary dns多久应该查询primary dns,
看看DNS记录是否有更新。每次查询时,secondary dns会向primary dns请求SOA记录。
如果记录中的serial number跟secondary dns已有的序列号不一样,
则会向primary dns请求传送域名的当前的DNS记录。
retry(重试时间):如果想primary dns请求传送域名当前的DNS记录失败后,
间隔重试时间后再次重试请求。一般来说,retry小于refresh。
expire(过期时间):在过期时间之前,secondary dns会继续请求传送DNS记录,
并且在此时间里,secondary dns会根据已有的记录应答相关的DNS查询。
如果到了过期时间后,secondary dns会停止应答该域名的DNS查询。
min TTL(最小TTL):域名所有记录的最小生存时间值。当用户DNS查询到记录后,
将存在缓存中,直到至少过了这个时间才将缓存刷新重新查询。
有的DNS服务器还会有Negative caching TTL,就是当用户DNS查询到无此域名记录(NXDOMAIN)时,
将把这个“没有此域名的记录”的声明保存在缓存中的时间。
4,NS记录的理解。
NS记录
(1)NS记录是域名DNS服务器里面的一种记录类型,
可以针对每个域名或子域名来设定他的NS记录,
当设定后,相当于把他的解析权交给了对应的DNS。
(2)NS记录的用途:CDN或负载均衡时使用。
(3)NS记录最主要的作用就是授权,授权自己的域的解析服务器,并且能够向下授权,
授权给不同的子域。迭代查询的过程应该就是不停的查询区域文件中的NS记录,和
对应的NS主机ip地址。
NS Name Server 即DNS的NS记录 是用来做授权的
向下授权 用来指定该域名由哪个DNS服务器来进行解析
举例说明:
.com域中授权abc.com,需要在 .com中的dns服务器上设置 NS记录
$ORIGIN com.
abc IN NS ns1.abc.com.
abc IN NS ns2.abc.com.
ns1.abc IN A 1.2.3.4
ns1.abc IN A 1.2.3.5
然后自己架设的abc.com 域中的dns服务器上加上自己的NS记录。
$ORIGIN abc.com.
@ IN NS ns1.abc.com.
@ IN NS ns2.abc.com.
ns1 IN A 1.2.3.4
ns2 IN A 1.2.3.5
如此,就完成了授权
5,fqdn是什么意思?
FQDN:(Fully Qualified Domain Name)全限定域名:同时带有主机名和域名的名称。(通过符号“.”)
例如:主机名是bigserver,域名是mycompany.com,那么FQDN就是bigserver.mycompany.com。
6,配置反向解析时的文件名形式不固定。
7,鸟哥关于合法的dns授权理解。
就是NS记录的内容,授予权利这个网域的dns主机。合法的授权必须向上层申请。
举个例子来说:我想要自己的领域名称的名字,所以我可以去外面的 ISP 申请注册一个合法的名
字来架设我的 DNS !从此之后,别人就可以经过我的 DNS 正解查询得到我的主机 IP。但是如果
要由 IP 反查回 hostname 的话,我就『一定必需要』请管理我主机所在网域的上层的 DNS 管理
员来设定才行ㄋㄟ!这也是目前比较麻烦的地方,因为正解您可以自行设定, 但是反解则必需要
请上层的管理员设定!如果是向 ISP 申请的 IP ,那就得向 ISP 申请反解名称改换,这个部分
通常很麻烦~
8,使用直接域名解析和泛解析的记录添加示例。
直接域名解析需要再添加一条记录。在www 那条记录下面最好,因为一般都是web服务直接解析。
feng.cn IN A 192.168.0.5 或者
. IN A 192.168.0.5
泛解析就前面加一个*号,表示全部。
*.feng.cn IN A 192.168.0.5
* IN A 192.168.0.5
9,高速缓存dns 只需要安装了 caching-nameserver 软件包即可。设置缓存服务时,
通常设置域名转发器。
10,如何测试正反解是否成功?
正解和反解都是向区文件里添加记录。用dig 测试 正解。dig -x 测试反解,看看query和answer
是否正确。
11,dns系统里面的ip都可跨网段,不必都需要在相同网段里。
12,dns的主从配置,添加slave。
主配置文件中加个 allow-transfer { 192.168.1.77; };
从配置文件中加上 masters { 192.168.1.88; };
13,配置dns主从同步后不成功。查看日志后,/var/log/message 中报错
dumping master file: tmp-1rYIymo1zo: open: permission denied
解决:chown named /var/named
14,关于域中的管理员邮箱地址和MX记录的区别。
SOA中的 第一行配置中括号前为dns域中的管理员邮箱地址。
MX记录指的是指定用来交换或者转发邮件信息的服务器。
15,dns正解的原理容易明白,但是dns反解的原理尚待清晰理解。
总之,正反解格式不同,但是又相近。
16,域名,主机名,用户名,三者必须区分开来。
以linux系统为例,[root@tao-ffy-v4-mail ~]#
上述root 为用户名,@后名接的是就是域中的主机名,这个区域的域名没有显示出来。
一般邮箱的账号格式都是 “用户名@域名“”
关于dns服务工作的原理,和配置的细节理解。的更多相关文章
- Windows中的DNS服务——正向解析&反向解析配置 分类: AD域 Windows服务 2015-07-16 20:21 19人阅读 评论(0) 收藏
坚信并为之坚持是一切希望的原因. DNS服务是AD域不可或缺的一部分,我们在部署AD域环境时已经搭建了DNS服务(windows server 2008 R2域中的DC部署),但是DNS服务的作用还是 ...
- centos的DNS服务工作流程及搭建
1 什么是DNS? DNS(Domain Name Server,域名服务器)即域名解析服务,是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器.DNS ...
- centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更 ...
- 简单谈谈DNS的工作原理及实践
DNS协议简介 dns(Domain Name System)是一个全球化的分布式数据库系统,用于存储域名和互联网IP地址的映射关系.dns协议是计算机协议栈应用层中,应用最广泛的协议之一.用户每一次 ...
- DNS的工作原理及解析
DNS协议是互联网核心协议之一.不管是上网浏览,还是编程开发,都需要了解一点它的知识. 一.什么是DNS? DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次 ...
- DNS解析原理与Bind部署DNS服务
DNS是什么? DNS(Domain Name System,域名系统)是互联网上最核心的带层级的分布式系统,它负责把域名转换为IP地址.反查IP到域名的反向解析以及宣告邮件路由等信息,使得基于域名提 ...
- [转帖]keepalived工作原理和配置、使用
keepalived工作原理和配置.使用 https://www.iteye.com/blog/aoyouzi-2288124 keepalived是什么 keepalived是集群管理中保证集群高可 ...
- dns服务的基本配置
本文环境:CentOS 7 简介 DNS(Domain Name System)即域名服务系统,是Internet上用的最频繁的服务之一,它的本质是一个范围很广的分布式数据库,组织成域层次结构的计算机 ...
- Liunx下配置DNS服务
当Ping 主机名时可以映射出该主机的IP地址,反之亦然.配置并指定DNS服务器可以快速部署集群,不需要每台主机都去修改HOSTS文件即可实现IP与主机名的相互解析.而在Linux下的DNS是用bin ...
随机推荐
- DEDE整合套件实现本地多个网站随意切换的开发环境
一.修改WEB全局配置: 在Listen 80 后面添加自己的端口号. 例如,2020是我的端口 Listen 2020 二.修改WEB站点配置: a---在NameVirtualHost *:80后 ...
- Xamarin Android使用自签名证书
背景 项目中后台web服务部署成https服务时,需要使用SSL证书,如果我们不使用公共的CA时,怎么办? 不仅如此,因为是小项目,App应用主要是小范围使用,此时只有IP地址,根本没有域名,怎么办? ...
- NOIP 模拟六 考试总结
T1辣鸡 T1就搞得这莫不愉快.. 大致题意是给你几个矩形,矩形覆盖的点都标记上,每个矩形无重复部分,求满足(x,y) (x+1,y+1)都标记过的点对数,范围1e9. 看起来很牛的样子,我确实也被1 ...
- 【图像处理】基于OpenCV实现图像直方图的原理
背景 图像的直方图是衡量图像像素分布的一种方式,可以通过分析像素分布,使用直方图均衡化对图像进行优化,让图像变的清晰. opencv官方对图像直方图的定义如下: 直方图是图像中像素强度分布的图形表达方 ...
- openssl 生成证书上 grpc 报 legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0
最近用传统的方式 生成的证书上用golang 1.15. 版本 报 grpc 上面 ➜ ~ go version go version go1.15.3 darwin/amd64 上面调用的时候报错了 ...
- 题解 SP6779 【GSS7 - Can you answer these queries VII】
题目传送门 题目大意 给出一个\(n\)个点的树,每个点有权值.有\(m\)次操作,每次要么查询一条链上的最大子段和,要么把一条链的权值都修改为一个常数. \(n,m\le 10^5\) 思路 如果是 ...
- CAD图DWG解析WebGIS可视化技术分析总结
背景 AutoCAD是国际上著名的二维和三维CAD设计软件,用于二维绘图.详细绘制.设计文档和基本三维设计.现已经成为国际上广为流行的绘图工具..dwg文件格式成为二维绘图的事实标准格式. 但由于Au ...
- 关于C、Java、Python程序运行耗时及内存用量
最近没有刷题,而是在PTA找几个题目寻找有关程序输入流问题以及各种语言在运行时对计算机消耗内存的问题, 以免很多同学解题的时候发现自己做的对但是出现运行超时的问题:针对运行内存,肯定用C/C++的同学 ...
- MySQL灵魂拷问:36题带你面试通关!
大家好,我是大彬~ 今天给大家分享MySQL常考的面试题,看看你们能答对多少. 本期MySQL面试题的目录如下: 事务的四大特性? 事务隔离级别有哪些? 索引 什么是索引? 索引的优缺点? 索引的作用 ...
- 微软 SqlHelper代码、功能、用法介绍:高效的组件
数据访问组件SqlHelper数据访问组件是一组通用的访问数据库的代码,在所有项目中都可以用,一般不需要修改.本节使用的是Microsoft提供的数据访问助手,其封装很严密,且应用简单. 首先要先添加 ...