一、基础知识介绍

1、域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢?这是因为在这种因特网的命名系统中使用了许多的“域(domain)”,因此就出现了“域名”这个名词。“域名系统”明确地指明这种系统是应用在因特网中。
2、因特网的域名结构
由于因特网的用户数量较多,所以因特网在命名时采用的是层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name)。这里,“域”(domain)是名字空间中一个可被管理的划分。
域名只是逻辑概念,并不代表计算机所在的物理地点。分为三大类:
(1)国家顶级域名:采用ISO3166的规定。如:cn代表中国,us代表美国,uk代表英国,等等。国家域名又常记为ccTLD(cc表示国家代码contry-code)。
(2)通用顶级域名:最常见的通用顶级域名有7个,即:com(公司企业),net(网络服务机构),org(非营利组织),int(国际组织),gov(美国的政府部门),mil(美国的军事部门)。
(3)基础结构域名(infrastructure domain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此称为反向域名。

根域名服务器,定义了每个域名服务器的地址信息
顶级域名服务器,管理在该顶级域名服务器注册的所有二级域名
权限域名服务器,负责一个区的域名服务器
查找方式:
递归 --------计算机只发送一次请求
迭代 --------计算机发送多次请求
实际解析分为两段,一段递归一段迭代


114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用,干净无广告,解析成功率相对来说更高,国内用户使用的比较多,而且速度相对快、稳定,是国内用户上网常用的DNS
8.8.8.8是GOOGLE公司提供的DNS,该地址是全球通用的,相对来说,更适合国外以及访问国外网站的用户使用
正向解析:FQDN---->Ip Ip 域名 (一对多)
反向解析:IP----->FQDN
3、DNS 服务类型:
主DNS服务器:数据修改 (接受用户请求返回数据) master
辅助dns服务器: 定期请求数据同步 slave
缓存dns服务器: 只缓存dns数据 hint
转发器:缓存服务器去掉缓存功能 forward
4、DNS解析答案
当DNS客户端向DNS服务器发出解析请求时,不管是否能够查询到想要的结果,都会返回一个解析答案。根据是否能够查询到想要的结果,可分为肯定答案和否定答案;根据解析答案是否由直接负责的DNS服务器返回,可分为权威答案和非权威答案。
根据是否能够查询到想要的结果:
①肯定答案:存在查询的键(key),并且存在与其查询键对应的值(value)。
②否定答案:不存在查询的键(key),因此,自然不存在与其查询键(value)对应的值。
根据解析答案是否由直接负责的DNS服务器返回:
①权威答案:由直接负责的DNS服务器返回的答案。
②非权威答案:不是由直接负责的DNS服务器返回的答案。这种情况下一般是由其他DNS服务器直接返回缓存的解析结果

二、DNS协议的一种开源实现–bind

提供dns服务的套件叫bind但执行服务名称的是named
我们说DNS是一种协议,而对于每一种协议的实现都需要程序员开发出遵循这种协议规范的软件程序来实现,这里要介绍的BIND就是DNS协议的一种开源实现。据统计,使用bind作为DNS服务器软件的DNS服务器大约占所有DNS服务器的九成。BIND全称为Berkeley Internet Name Domain,因为当今互联网上的通信几乎都必须借助于DNS服务器来解析主机名,得到通信对方的IP地址,而在DNS服务器上最常用的软件就是bind,所以,bind这款软件几乎可以说是当今互联网上常用的软件了。目前bind由ISC.org(Internet Systems Consortium,互联网系统协会)负责开发与维护。
①学习bind这款软件之前,务必掌握以下基本概念:
1 dns:协议
2 bind:dns协议的一种开源实现
3 named:bind程序运行起来后的进程名
②bind相关的程序包
bind不仅提供了主包,还提供了各种bind的支包,它们用于实现不同的功能。而在众多bind支包中,最常用到的有:bind-utils, bind-libs, bind-chroot等。
bind相关的程序包如下:
1 bind:提供dns server程序,以及几个常用的测试工具。
2 bind-utils:bind客户端程序集,例如提供dig, nslookup等工具。
3 bind-libs:提供bind和bind-utils包中的程序共同用到的库文件。
4 bind-chroot:选装,让bind程序(named进程)运行于jail进程之下。
yum install bind -y
rpm -ql bind 查看
③bind的相关配置文件
/etc/named.conf 主配置文件
/etc/rndc.conf: 相关配置文件
区域数据文件,需要手动创建
/var/named/zidingyi.zone
配置检查脚本工具
/usr/sbin/named-checkconf
区域配置检查工具
/usr/sbin/named-checkzone
#全球十三个根服务器的相关信息;
/var/named/named.ca 区域文件dns数据库
解析库文件:存放于/var/named/目录下,一般名字为ZONE_NAME.zone
3.1、要点:
(1)一台DNS服务器可同时为多个区域提供解析。
(2)DNS服务器必须要有根区域解析库文件:named.ca.
(3)DNS服务器还应该有两个区域解析库文件:localhost和127.0.0.1的正反向解析库,这两个文件分别如下:
①正向解析库文件:/var/named/named.localhost
②反向解析库文件:/var/named/named.loopback
3.2、rndc的全称是Remote Name Domain Controller,它可以帮助用户更方便地管理DNS服务器,包括可以检查DNS服务器的状态与统计信息、重载配置文件及zone或单独重载某个区域而不需要重新启动整个DNS服务,还有查看已存在DNS缓存当中的资料等。
DNS在53端口上监听请求并提供响应的服务。出于性能的考虑,DNS查询请求用UDP协议交互并且每个请求的大小小于512字节,但是如果返回的请求大小大于512字节,交互双方会协商使用TCP协议。
rndc服务默认监听在tcp的953端口,且默认监听于127.0.0.1地址,因此默认仅允许本地使用。
rndc的常见用法:
rndc reload:在不重新启动DNS服务的情况下,重新加载配置文件及zone.
rndc reload zone:重新加载指定的zone.
rndc status:查看当前DNS服务器的状态。
rndc stats:将当前系统的DNS统计数据记录下来,默认会将数据存储为一个文件:/var/named/data/named_stats.txt.
rndc dumpdb:将当前DNS高速缓存中的数据记录下来,与stats类似,默认会将数据存储为一个文件:/var/named/data/cache_dump.db.、
rndc flush:清空当前DNS服务器上的所有缓存。
Usage: rndc [-b address] [-c config] [-s server] [-p port]
[-k key-file ] [-y key] [-V] command
3.3、区域类型:
主区域:主DNS,master
从区域:从DNS,slave
缓存区域:hint,在找不到相关信息的时候去从根查找,标识根的地址
转发区域:forward,转发到指定区域,而不是指向根
3.4、资源记录名称:(数据库中的每一个条目)
SOA(起始授权记录) 记录提供有关dns区域工作方式的信息 -----具体负责哪个区域的解析
NS 将自己的域名映射到DNS 将域名最终映射到哪一台主机(由哪一台主机去解析当前所定义的域主机)
A (ipv4地址记录) 资源记录将主机名映射到ipv4地址。
CNAME (规范名称)记录域别名 132 主机名
MX 邮件交换记录
PTR指针记录 将IPV4 IPV6地址映射到主机名 (用于反向DNS)
AAAA (IPV6 地址记录) 资源记录(四A记录)将主机名映射到ipv6地址。
资源记录包含的元素:
owner-name TTL class type date
主机名 资源记录生存时间 INTERNET A 记录存储数据(主机ip)
五种定义的信息
serial number: 序列号 定义当前使用的数据序列号 sn遵循“年+月+日+编号” ·
refresh: 定义检查间隔时间 (上次和这次变化的时间)
retry: 重试时间 < 检查时间>
expire: 过期时间 缓存放多久过期
negative answer ttl: 否定答案的缓存时长 (如果解析在规定时间里没有解析到答案会否定解析不到)
时间单位:M(分钟)、H(小时)、D(天)、W(周),默认单位是秒

LinuxDNS协议一、基础知识相关推荐

  1. pcie总线协议入门基础知识

    1. PCIe基础知识 PCI-Express是一种高速串行计算机扩展总线标准,它原来的名称为"3GIO",是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线 ...

  2. 协议-ISIS基础知识

    ISIS基础知识 作者:Danbo ISIS属于ISO协议簇 CONS(Connection Network Server)面向连接网络服务 CLNS(Connection Network Serve ...

  3. 自治系统 AS 及 BGP 协议的基础知识

    目录 1. 自治系统 (Autonomous System, AS) 1.1. 基本概念 1.2. 自治系统号 (Autonomous System Number, ASN) 1.3. 相关查询网址 ...

  4. isis协议_ISIS基础知识介绍

    基本概念:中间系统到中间系统IS-IS(Intermediate System to Intermediate System)属于内部网关协议IGP(Interior Gateway Protocol ...

  5. USB 协议 (三) 基础知识

    文章目录 USB 各层次数据 USB 请求的发起端 USB 自插入后到数据传输的过程 枚举 数据传输 USB 常用术语 USB host controller hub root hub usb por ...

  6. 爬虫(一):爬虫的基础知识 ---通用爬虫和聚焦爬虫,http和https协议,常见的响应状态码

    一.爬虫的定义 网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 二.爬虫可以解决的问题 解决冷启动问题 搜索引擎的根基. -通用爬虫 帮助机器学习建立知识图谱 制作各种比价软件 三 ...

  7. python爬虫(1)爬虫基础知识

    爬虫的定义:程序或脚本: 自动爬取万维网数据 的程序或者脚本 二.爬虫可以解决的问题: (1)解决冷启动问题 (2)搜索引擎的根基 --通用爬虫-- (3)帮助机器学习简历知识图谱 (4)制作各种比价 ...

  8. TCP/IP协议(二)tcp/ip基础知识

    转载:http://www.cnblogs.com/imyalost/p/6139191.html 一.TCP/IP的标准化 1.TCP/IP的含义 一般来说,TCP/IP是利用IP进行通信时所必须用 ...

  9. SIP协议(基础技术知识)

    SIP协议(基础技术知识) SIP(Session InitiationProtocol)协议是Internet多媒体通信和控制协议体系的一部分,该协议族包括会话描述协议(SDP).会话发布协议(SA ...

最新文章

  1. Mysql的锁机制之表锁
  2. 冒泡排序python代码_Python-排序-冒泡排序-优化
  3. Android的JNI开发涉及的char和string之间的互相转换
  4. java linux root权限管理_新的 Linux sudo 漏洞使本地用户获得 root 权限
  5. 【渝粤教育】国家开放大学2019年春季 1124流行病学 参考试题
  6. 使用python 创建快捷方式
  7. mysql 表锁——读锁和写锁
  8. 即使到了 2020 年,编程语言之争仍未休!
  9. VALSE学习(二):行人重识别研究进展回顾
  10. 中国行业应用软件领域恶性循环的原因是什么?【转载】
  11. VS2022安装教程和使用说明来了
  12. error: Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio“: https://
  13. ai人工智能开发_面向开发人员的十大人工智能(AI)工具
  14. 安卓手机怎么投屏台式计算机WIN7,手机怎么投屏到win7电脑
  15. pg_repack 处理表和索引的膨胀
  16. Exception:There is no getter for property named ‘qo‘ in ‘class cn.xxxxxx.rbac.qo.XxxxQo 的两种错误可能及解决方案
  17. PCL点云去背景(相减)的方法
  18. 降噪蓝牙耳机哪个好?2021主流蓝牙耳机当选降噪耳机
  19. 48 《自私的基因》 -豆瓣评分8.6
  20. Mysql出现问题:什么是prepare语句解决方案

热门文章

  1. 类(课堂作业参考答案)
  2. opencv小程序:全景拼接
  3. Linux软件基础实验,Linux基础与应用(基于CentOS7)
  4. 青云QingMR集群创建、HDFS节点与Client节点管理教程
  5. python分布式邻居节点通讯_P2P网络及节点发现机制
  6. 艾永亮:特仑苏有机奶的进阶之路,不断助力实现成为更好的自己
  7. 山东省济南市谷歌高清卫星地图下载
  8. [转]Java常用工具类集合
  9. 如何学好计算机专业英语
  10. Typecho主题下载,关于Besking主题下载