Bind DNS服务——基础知识
Linux基础——Bind DNS服务 Part0
DNS简介
域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。
在域名系统的层次结构中,各种域名都隶属于域名系统根域的下级。域名的第一级是顶级域,它包括通用顶级域,例如.com、.net和.org;以及国家和地区顶级域,例如.us、.cn和.tk。顶级域名下一层是二级域名,一级一级地往下。
FQDN意为完全合格域名(Fully Qualified Domain Name),它指定了所有的域名级别,包括顶级域与根域。它不含歧义,只有一种解释方式。根域没有命名,所以一般为空,但在有的情况下它会表示成一个. 例如 www.google.com. (FQDN)。
DNS查询过程
DNS查询过程分为两种,递归查询与迭代查询。现实中一般合用递归与迭代查询。
递归查询
查询过程如下:
迭代查询
查询过程如下
实际应用
DNS记录
DNS记录包含了:
- SOA记录
- NS记录
- A记录
- AAAA记录
- MX记录
- SRV记录
- PTR记录
- CNAME记录
- TXT记录
SOA记录
SOA记录通常在集群中进行配置,它配置了区域传送相关的数值,它包含了区域负责人的电子邮件地址和主要DNS服务器的名称,每个区域都有SOA记录。
它的结构如下图:
$TTL 86400
@ IN SOA ns.icann.org. noc.dns.icann.org. (
2020080302 ;Serial
7200 ;Refresh
3600 ;Retry
1209600 ;Expire
3600 ;Negative response caching TTL
)
Serial为该区域的序列号,用于在从服务器获取主服务器SOA记录时区别区域数据的新旧,从而决定启用区域传送。
Refresh为从服务器查询主服务器SOA记录来检测服务器更改的间隔秒数。
Retry为如果主服务器没有响应,从服务器重新向主服务器请求SOA记录的秒数,必须小于Refresh。
Expire为如果主服务器没有响应,从服务器停止响应该区域请求的秒数,该值必须大于Refresh与Retry的总和。
TTL为缓存的生存时间。
NS记录
它指示那个DNS服务器对该域具有权威性(即哪个DNS服务器包含了实际的DNS记录)。以让客户端进行访问。
NS记录不能指向CNAME记录。
A记录
将域名映射到IP地址的记录。
AAAA记录
将域名映射到IPV6地址的记录。
MX记录
指定邮件服务器负责接收该区域的电子邮件,它包含有优先级,优先级值越低则越优先。相同优先级则是负载均衡。
SRV记录
用于指定服务的位置,部分网络协议需要网络支持SRV。
SRV记录一般为如下形式:
_service._proto.name. TTL class SRV priority weight port target.
- service:服务的名称。
- proto:服务所需要的传输协议。一般为TCP或UDP。
- name:记录有效的域名,以点结尾。
- TTL:DNS缓存生存时间。
- class:DNS类型字段(一般为IN)。
- priority:主机优先级,值越低越优先。
- weight:相同优先级的相对权重,值越高越有可能被选中。
- port:需要在该服务器上找到服务器的TCP或UDP端口
- target:提供服务的机器的FQDN,以点结尾。
PTR记录
用于将IP地址映射到域名,IPV4的反向解析使用特殊域in-addr.arpa并需要将所在域的IP以正向解析相反的形式添加上去。
例如我需要查询8.8.4.4的域名,则查找4.4.8.8.in-addr.arpa这个域。
CNAME记录
指定了一个域名作为另一个域名的别名,CNAME记录只能指向域名,不能指向IP地址。
TXT记录
用于将文本与主机相关联。在查询该记录是可以显示指定文本。
区域类型
Bind软件中包含的常用区域类型有:
- Master
- Hint
- Slave
- Forward
- Stub
Master(主要区域)
表示服务器拥有该区域数据的主副本,能改为其提供权威答案
Slave(辅助区域)
该区域为主区域的复制品,Masters列表包含了一个或多个IP地址,从服务器则会向Masters列表中发出区域传送的申请。
Stub(存根区域)
存根区域像一个辅助区域,但它只保存NS记录。
Forward(转发区域)
这个区域将会将所有查询转发到其他服务器。如果需要全局转发,则还是需要在全局设置中配置全局转发器。
Hint(根区域)
Bind9中包含了根服务器的列表,当服务器启动时将自动查找根服务器并获得最新的根服务器列表。
Bind DNS服务——基础知识的更多相关文章
- linux web服务基础知识,dns
#web服务基础知识c/s 客户端/服务器b/s 浏览器/服务器 nginx > web server 服务端浏览器 > web client 客户端 #dns解析 ...
- Linux基础服务——Bind DNS服务 Part2
Linux基础服务--Bind DNS服务 Part2 DNS反向解析与区域传送 实验环境延续Part1的实验环境. 反向区域配置 正向解析是域名到IP地址的映射,反向解析则是IP地址到域名的解析,在 ...
- Linux基础服务——Bind DNS服务 Part1
Linux基础服务--Bind DNS服务 Part1 DNS正向解析 实验环境: CentOS8.3.2011 IP地址:192.168.100.50 VMware虚拟环境 NAT网段 需要解析的区 ...
- 【RL-TCPnet网络教程】第27章 DNS域名系统基础知识
第27章 DNS域名系统基础知识 本章节为大家讲解DNS(Domain Name System,域名系统),通过前面章节对TCP和UDP的学习,需要大家对DNS也有个基础的认识. (本章的知 ...
- DNS服务基础原理介绍
FQDN 全称域名 localhost(主机名或者是别名).localdomain(域名) FQDN=主机名.域名 根域 . 顶级域名 .com .n ...
- Bind DNS服务——转发与区域记录更新
Linux基础服务--Bind DNS服务 Part4 转发与区域记录更新 一个DNS服务器不可能保存所有的区域记录,所以我们一般都会将其他的区域纪录转发到其他的服务器上进行解析. Bind9提供了全 ...
- Linux:Day18(上) dns服务基础进阶
DNS:Domain Name Service,协议(C/S,53/udp,53/tcp):应用层协议. BIND:Bekerley Internat Name Domain,ISC(www.isc. ...
- DNS服务基础
DNS服务器的功能 – 正向解析:根据注册的域名查找其对应的IP地址 – 反向解析:根据IP地址查找对应的注册域名(不常用) NS(声明DNS记录) A(正向解析记录) CNAME(解析记录别名) 安 ...
- 1、DNS服务基础
w'indows上名称解析目录: C:\Windows\System32\drivers\etc https://jocent.me/2017/06/18/dns-protocol-principle ...
随机推荐
- Windows PE导出表编程3(暴力覆盖导出函数)
今天要尝试的导出表相关编程内容是:覆盖函数地址部分的指令代码. 这种覆盖技术,是将AddressOfFunctions指向的地址空间指令字节码实施覆盖,这种技术又繁衍出两种: 暴力覆盖,即将所有的代码 ...
- [CTF]ROT5/13/18/47位移密码
[CTF]ROT5/13/18/47位移密码 ---------------转换网站 https://www.qqxiuzi.cn/bianma/ROT5-13-18-47.php ROT5:只对数字 ...
- Day004 while和do-while循环
循环结构(while和do-while) while循环 do...while循环 for循环 在Java5中引入了一种主要用于数据的增强for循环 //输出1~100 int i=0; while ...
- java如何调用本地扬声器
各位看官可以关注博主个人博客,了解更多信息. 作者:Surpasser 链接地址:https://surpass.org.cn 前言 博主的毕设系统在做一个餐厅的点餐管理系统,在记性移动端页面开发的时 ...
- JMeter关联陌生又熟悉
JMeter关联是什么 JMeter关联,这几个字看着可能会有点陌生,实际上却是工作中经常会做的一件事情,尤其是接口自动化,它指的是把一个接口的响应作为另一个接口的参数,从而把接口关联起来. JMet ...
- Nacos C++客户端开发文章
前段时间关注了下阿里巴巴发起的开源项目Nacos,这是一个注册.配置中心(Naming And Config),支持各种语言的客户端,但是唯独没有C++的,考虑到以前做过一段时间的C++程序员,不禁一 ...
- Python批量图片去水印,提高工作效率
平常工作中,有时为了采用网络的一些素材,但这些素材往往被打了水印,如果我们不懂PS就无法去掉水印,或者无法批量去掉水印.这些就很影响我们的工作效率. 今天我们就一起来,用Python + OpenC ...
- Jenkins远程代码执行漏洞
于一个月前,进行服务器巡检时,发现服务器存在不明进程,并且以Jenkins用户身份来运行.当时进行了处理并修复了漏洞.在此补上修复过程 第一反应是Jenkins存在漏洞,于是Google Jenkin ...
- Linux_源码安装包管理理论概述
一.源码包基本概述 1️⃣:源码包的编译用到了linux系统里的编译器,通常源码包都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言 2️⃣:Linux上的C语言编译器叫做gcc,利用 ...
- 一看就懂的 安装完ubuntu 18.04后要做的事情和使用教程
一看就懂的 安装完ubuntu 18.04后要做的事情和使用教程原创CrownP 最后发布于2019-02-05 00:48:30 阅读数 2982 收藏展开1.更改为阿里云的源点击软件和更新 点击其 ...