第三章、DNS域名解析服务
DNS
1DNS简介
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 端口 53。
什么是 DNS
DNS 是一个应用层协议。
域名系统 (DNS) 的作用是将人类可读的域名 (如,www.baidu.com) 转换为机器可读的 IP 地址 (如,192.0.2.44)。
什么是域名
域名是由一串用点分隔符 .
组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的方位。域名可以说是一个 IP 地址的代称,目的是为了便于记忆后者。例如,baidu.com 是一个域名,和 IP 地址 208.80.152.2 相对应。人们可以直接访问 baidu.com 来代替 IP 地址,然后域名系统(DNS)就会将它转化成便于机器识别的 IP 地址。这样,人们只需要记忆 baidu.com 这一串带有特殊含义的字符,而不需要记忆没有含义的数字。
2DNS系统的作用
- 正向解析:根据域名查找对应的IP地址
- 反向解析:根据IP地址查找对应的域名
- DNS系统的分布式数据结构:
3DNS服务器类型
缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,
但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定
其他 DNS 服务器作为解析来源。
主域名服务器
•特定DNS区域的权威服务器,具有唯一性
•负责维护该区域内所有域名--P地址的映射记录
•需要自行建立所负责区域的地址数据文件
-从域名服务器
•也称为辅助域名服务器,是对主域名服务器的热备份
• 其维护的域名->P地址记录来源于主域名服务器
•需要从主域名服务器自动同步区域地址数据库
4DNS查询方式
- 递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后, 若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结 果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询。(不需要自己动手)
- 迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对 方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起 进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需 要发起多次查询。(需要自己动手)
5DNS 解析过程
1先查找本地 DNS 缓存(自己的电脑上),有则返回,没有则进入下一步
2查看本地 hosts 文件有没有相应的映射记录,有则返回,没有则进入下一步
3向本地 DNS 服务器(一般都是你的网络接入服务器商提供,比如中国电信,中国移动)发送请求进行查询,本地DNS服务器收到请求后,会先查下自己的缓存记录,如果查到了直接返回就结束了,如果没有查到,本地DNS服务器就会向DNS的根域名服务器发起查询请求
4 从"根域名服务器"查到"顶级域名服务器
5 从"顶级域名服务器"查到"次级域名服务器
6 从"次级域名服务器"查出"主机名"的IP地址 告诉 本地DNS服务器
正向解析资源记录及配置
各种资源记录
区域解析库:由众多资源记录RR组成
记录类型:A,AAAA,PTR,SOA, NS,CNAME,MX
SOA: Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录SOA,是起始授权机构记录,说明了在众多NS记录里哪一台才是主要的服务器。在任何DNS记录文件中,都是以SOA(Startof Authorty )记录开始。SOA资源记录表明此DNS名称服务器是该DNS域中数据信息的最佳来源。
A ( internet Address) :作用,域名解析成IP地址AAAA (EQDN) : -->IPV6
PTR (PoinTeR) ︰反向解析,ip地址解析成域名
NS (Name Server) :,专用于标明当前区域的DNS服务器,服务器类型为域名服务器CNAME : Canonical Name,别名记录
MX (Mail exchanger)邮件交换器
TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如: SPF(反垃圾邮件)记录,https验证等
SOA记录与NS记录的区别:NS记录表示域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析;SOA记录设置一些数据版本和更新以及过期时间等信息。
1资源记录
SOA记录
name: 当前区域的名字,例如"wlw.com."
value: 有多部分组成
注意:
- 当前区域的主DNS服务器的正向解析,也可以使用当前区域的名字
- 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换
例如:admin.wlw.com
- 主从服务区域传输相关定义以及否定的答案的统一的TTL
范例: $TTL 1D@ IN SOA master.wlw.com. admin.wlw.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum
NS记录
name: 当前区域的名字
value: 当前区域的某DNS服务器的名字,例如: ns.kgc.org.
注意:
- 相邻的两个资源记录的name相同时,后续的可省略
- 对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录
- 一个区域可以有多个NS记录
范例:master IN NS wlw.com. master IN NS wlw.com.
MX记录
name: 当前区域的名字
value: 当前区域的某邮件服务器(smtp服务器)的主机名
注意:
- 一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的
优先级;数字越小优先级越高
- 对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录
<span style="background-color:#f8f8f8">范例:mail IN MX 10 mx1.wlw.org. IN MX 20 mx2.wlw.org.mx1 A 192.168.59.10mx2 A 192.168.59.10</span>
A记录
name: 某主机的域名解析,例如:www.wlw.com
value:主机名对应主机的IP地址
避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址
范例:www.wlw.com. IN A 1.1.1.1www.wlw.com. IN A 2.2.2.2www.wlw.com. IN A 3.3.3.3www.wlw.com. IN A 4.4.4.4* IN A 5.5.5.5#代表泛域名@ IN A 6.6.6.6#代表不需要名字
PTR记录
name: IP,有特定格式,把IP地址反过来写,192.168.59.100,要写作100.59.168.192;而有特定后缀:in-addr.arpa.,所以完整写法为:100.59.168.192.in-addr.arpa. value: FQDN
CNAME别名记录
name: 别名的FQDN value: 真正名字的FQDN
ftp.wlw.com. IN CNAME www.wlw.com
小贴士
- TTL可从全局继承
- 使用 "@" 符号可用于引用当前区域的域名
- 同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应
- 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表示通过多个不同的名字可以找到同一个主机
实验
正向解析
(在内网中提供解析功能)
[root@localhost ~]# yum install bind bind-utils -y 安装软件以及配置软件
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start named
[root@localhost ~]# ss -ntuap |grep ":53"
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8 这里有问题
[root@localhost ~]# vim /etc/named.conf
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
options {
listen-on port 53 { any; }; #any监听所有人
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; #更改权限
[root@localhost ~]# rndc reload
[root@localhost ~]# vim /etc/named.rfc1912.zones
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
zone "wuwei.com" IN { #写域名 注意不要写主机名www
type master; #主服务器还是从服务器
file "wuwei.com.zone"; #数据库文件,名字和IP地址意义对应关系
$TTL 1D#生命周期一天 ,缓存时间为一天 而且是全局配置 默认配置 不写1D 默认是秒
@ IN SOA master rname.invalid. ( #包含了你的域名IP地址相关的信息
域名 主机 0 ; serial 更新序列号
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A 192.168.154.50
www A 192.168.154.80 A是指ipv4 AAAA指IPV6
ftp A 192.168.154.21 @代表别民 指之前文件写的wuwei.com域名
mail A 192.168.154.25 TTL可不写,上面有TTL 1D
IN 指Internet协议
SOA指解析方式
master 当前域名
rname.invalid.邮箱
这里没有重启服务 DNS有问题 systemctl restart network
主从复制
备份一台域名解析服务器
先设置主服务器的正向解析如上个实验
然后设置从服务器
然后设置主服务器
第三章、DNS域名解析服务的更多相关文章
- Linux网络服务第七章DNS域名解析服务
端口:53 一.DNS服务器 正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址.域名的正向解析是DNS服务器最基本的功能,也是最常用的功能. 反向解析:根据IP地址查域名,即将指定的 ...
- 《linux就该这么学》第十四节课:第13章,部署DNS域名解析服务(bind服务)
(借鉴请改动) 第十二章收尾 12.2.nfs网络文件系统 RHEL7默认安装了nfs,配置文件在 /etc/export 写入格式:共享目录 允许的客户端(参数) ro ...
- DNS域名解析服务(bind)
DNS(Domain Name System,域名系统): 用于管理和解析域名与IP地址对应关系的技术. 简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配(或者说具有映射关系)的I ...
- 使用unbound提供DNS域名解析服务
使用unbound提供DNS域名解析服务 # 作者:Eric # 微信:loveoracle11g # 先配yum仓库 [root@server1 ~]# cd /etc/yum.repos.d/ [ ...
- DNS域名解析服务以及Bind服务程序
一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名解析服务( ...
- DNS域名解析四种配置实验 ---Linux DNS域名解析服务
DNS域名解析服务一.BIND域名服务基础1) DNS的定义2)域名结构3)DNS系统的作用① 正向解析:根据域名查找对应的IP地址② 反向解析:根据IP地址查找对应的域名③ DNS系统的分布式数据结 ...
- DNS域名解析服务
一.DNS的体系结构: DNS:域名解析系统 DNS由根域.顶级域和子域构成.根域主要负责管理顶级域,顶级域主要负责管理其下面子域. .代表DNS的根域. .com..edu等代表顶级域. shou. ...
- DNS域名解析服务及其配置
一.背景 到 20 世纪 70 年代末,ARPAnet 是一个拥有几百台主机的很小很友好的网络.仅需要一个名为 HOSTS.TXT 的文件就能容纳所有需要了解的主机信息:它包含了所有连接到 ARPAn ...
- DNS域名解析服务(重点)
一 .DNS 系统的作用 1.DNS 服务器概述 DNS 系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名:与 IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正 ...
随机推荐
- Spring Boot-自动配置之底层原理
一.SpringBoot启动的时候加载主配置类,开启了自动配置的功能 @SpringBootApplication public class SpringBoot02Application { pub ...
- Python-初见
目录 概述 关键字 标准数据类型 Number String List Tuple Set Dictionary 删除对象 数据类型转换 推导式 运算符 迭代器与生成器 迭代器 生成器 函数 参数传递 ...
- 安全市场迎来新挑战,FinClip助力车联网数据安全
随着汽车工业的发展与电子技术的进步,智能汽车迎来了前所未有的蓬勃发展,随着汽车电动化.网联化.智能化交融发展,车辆运行安全.数据安全和网络安全风险交织叠加,安全形势更加复杂严峻......
- Python实现双X轴双Y轴绘图
诈尸人口回归.这一年忙着灌水忙到头都掉了,最近在女朋友的提醒下终于想起来博客的账号密码,正好今天灌水的时候需要画一个双X轴双Y轴的图,研究了两小时终于用Py实现了.找资料的过程中没有发现有系统的文章, ...
- SpringMVC的文件上传下载,异常处理,拦截器的小总结
文件的上传和下载 我们通常在访问网页时会使用到文件的上传与下载的功能,那么他是如何实现的呢? 1 下载: ResponseEntity :用于控制器方法的返回值类型,该控制器方法的返回值就是响应到浏览 ...
- PowerDotNet平台化软件架构设计与实现系列(13):应用监控平台
本文再写一篇和具体业务逻辑几乎无关的公共服务应用监控平台.PowerDotNet自研的应用监控平台系统,是服务治理的重要拼图,和服务治理平台配合使用效果更好. 监控开源产品非常丰富,站在巨人的肩膀上, ...
- sa-token client登录逻辑
- 团队Beta1
队名:观光队 链接 组长博客 作业博客 组员实践情况 王耀鑫 **过去两天完成了哪些任务 ** 文字/口头描述 任务分配 展示GitHub当日代码/文档签入记录 接下来的计划 完成短租车,页面美化 * ...
- Kubernetes 从入门到进阶实战教程 (2021 最新万字干货版)
作者:oonamao 毛江云,腾讯 CSIG 应用开发工程师原文:来源腾讯技术工程,https://tinyurl.com/ya3ennxf 写在前面 笔者今年 9 月从端侧开发转到后台开发,第一个系 ...
- slice-substring-substr-split-splice
一.字符串slice(startIndex, endBeforeIndex) endBeforeIndex < 0,则 endBeforeIndex 为 负数,第二个参数为字符串长度加上负值,之 ...