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服务工作的原理,和配置的细节理解。的更多相关文章

  1. Windows中的DNS服务——正向解析&反向解析配置 分类: AD域 Windows服务 2015-07-16 20:21 19人阅读 评论(0) 收藏

    坚信并为之坚持是一切希望的原因. DNS服务是AD域不可或缺的一部分,我们在部署AD域环境时已经搭建了DNS服务(windows server 2008 R2域中的DC部署),但是DNS服务的作用还是 ...

  2. centos的DNS服务工作流程及搭建

    1  什么是DNS? DNS(Domain Name Server,域名服务器)即域名解析服务,是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器.DNS ...

  3. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  4. 简单谈谈DNS的工作原理及实践

    DNS协议简介 dns(Domain Name System)是一个全球化的分布式数据库系统,用于存储域名和互联网IP地址的映射关系.dns协议是计算机协议栈应用层中,应用最广泛的协议之一.用户每一次 ...

  5. DNS的工作原理及解析

    DNS协议是互联网核心协议之一.不管是上网浏览,还是编程开发,都需要了解一点它的知识. 一.什么是DNS? DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次 ...

  6. DNS解析原理与Bind部署DNS服务

    DNS是什么? DNS(Domain Name System,域名系统)是互联网上最核心的带层级的分布式系统,它负责把域名转换为IP地址.反查IP到域名的反向解析以及宣告邮件路由等信息,使得基于域名提 ...

  7. [转帖]keepalived工作原理和配置、使用

    keepalived工作原理和配置.使用 https://www.iteye.com/blog/aoyouzi-2288124 keepalived是什么 keepalived是集群管理中保证集群高可 ...

  8. dns服务的基本配置

    本文环境:CentOS 7 简介 DNS(Domain Name System)即域名服务系统,是Internet上用的最频繁的服务之一,它的本质是一个范围很广的分布式数据库,组织成域层次结构的计算机 ...

  9. Liunx下配置DNS服务

    当Ping 主机名时可以映射出该主机的IP地址,反之亦然.配置并指定DNS服务器可以快速部署集群,不需要每台主机都去修改HOSTS文件即可实现IP与主机名的相互解析.而在Linux下的DNS是用bin ...

随机推荐

  1. 关于在.H文件中定义变量

    KEIL中,在".H"文件定义变量. 如果该".H"文件同时被两个".C"文件调用,则会出现重复定义错误(*** ERROR L104: M ...

  2. TP5开启缓存

    https://www.kancloud.cn/manual/thinkphp5/215850 V5.0.6+版本开始,全局请求缓存支持设置排除规则,使用方法如下:config.php文件 'requ ...

  3. 在Unity中渲染一个黑洞

    在Unity中渲染一个黑洞 前言 N年前观看<星际穿越>时,被其中的"卡冈图雅"黑洞所震撼.制作团队表示这是一个最贴近实际的黑洞效果,因为它是通过各种科学理论实现的.当 ...

  4. MacOS下Java与JDK关系与相关路径

    MacOS下Java与JDK关系与相关路径 macOS下的Java与JDK的路径曾经困扰过我一段时间,今天稍有些忘记,故记下笔记,整理一下.Java与JDK的关系不在本文笔记之内,Javaer常识. ...

  5. Linux Bash命令杂记(cut sort uniq wc tee)

    Linux Bash命令杂记(cut sort uniq wc tee) 数据流重定向 标准输入(stdin):代码为0,使用<或<<: 标准输出(stdout):代码为1,使用&g ...

  6. 基于注解实现jackson动态JsonProperty

    基于注解实现jackson动态JsonProperty @JsonProperty 此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,但是值是固定的 ...

  7. CAD图DWG解析WebGIS可视化技术分析总结

    背景 AutoCAD是国际上著名的二维和三维CAD设计软件,用于二维绘图.详细绘制.设计文档和基本三维设计.现已经成为国际上广为流行的绘图工具..dwg文件格式成为二维绘图的事实标准格式. 但由于Au ...

  8. 2020.3.28-ICPC训练联盟周赛,选用试题:UCF Local Programming Contest 2016

    A.Majestic 10 签到题. #include<iostream> #include<cstdio> #include<cstring> #include& ...

  9. final和static的区别

    static作用于成员变量用来表示只保存一份副本 final的作用是用来保证变量不可变.下面代码验证一下 public class FinalTest { public static void mai ...

  10. Protocol handler start failed

    问题描述: 启动项目的时候出现的中文大体意思是:协议处理程序启动失败看着这个启动失败,下意识就想是不是端口占用了,结果换个端口还是不行,于是百度了一个办法 问题解决: 打开任务管理器,找到Java的后 ...