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服务——基础知识的更多相关文章

  1. linux web服务基础知识,dns

    #web服务基础知识c/s 客户端/服务器b/s 浏览器/服务器 nginx   >   web  server  服务端浏览器  >    web  client  客户端 #dns解析 ...

  2. Linux基础服务——Bind DNS服务 Part2

    Linux基础服务--Bind DNS服务 Part2 DNS反向解析与区域传送 实验环境延续Part1的实验环境. 反向区域配置 正向解析是域名到IP地址的映射,反向解析则是IP地址到域名的解析,在 ...

  3. Linux基础服务——Bind DNS服务 Part1

    Linux基础服务--Bind DNS服务 Part1 DNS正向解析 实验环境: CentOS8.3.2011 IP地址:192.168.100.50 VMware虚拟环境 NAT网段 需要解析的区 ...

  4. 【RL-TCPnet网络教程】第27章 DNS域名系统基础知识

    第27章      DNS域名系统基础知识 本章节为大家讲解DNS(Domain Name System,域名系统),通过前面章节对TCP和UDP的学习,需要大家对DNS也有个基础的认识. (本章的知 ...

  5. DNS服务基础原理介绍

    FQDN 全称域名 localhost(主机名或者是别名).localdomain(域名)    FQDN=主机名.域名 根域               . 顶级域名       .com   .n ...

  6. Bind DNS服务——转发与区域记录更新

    Linux基础服务--Bind DNS服务 Part4 转发与区域记录更新 一个DNS服务器不可能保存所有的区域记录,所以我们一般都会将其他的区域纪录转发到其他的服务器上进行解析. Bind9提供了全 ...

  7. Linux:Day18(上) dns服务基础进阶

    DNS:Domain Name Service,协议(C/S,53/udp,53/tcp):应用层协议. BIND:Bekerley Internat Name Domain,ISC(www.isc. ...

  8. DNS服务基础

    DNS服务器的功能 – 正向解析:根据注册的域名查找其对应的IP地址 – 反向解析:根据IP地址查找对应的注册域名(不常用) NS(声明DNS记录) A(正向解析记录) CNAME(解析记录别名) 安 ...

  9. 1、DNS服务基础

    w'indows上名称解析目录: C:\Windows\System32\drivers\etc https://jocent.me/2017/06/18/dns-protocol-principle ...

随机推荐

  1. XCTF-FlatScience

    FlatScience 题目描述 啥描述也没有 解题过程 页面有好多链接,除了论文pdf之外,还有子目录下的index.html, 比如:/1/index.html,/1/3/index.html 扫 ...

  2. QQ可以登录,网页无法访问

    之前以为是网络的问题,但是,后来发现QQ却可以登录,这是第二次碰到这个情况,所以总结一下 一般我们电脑上都会安装一个杀毒软件,比如火绒等等.我电脑上用的联想自带的电脑管家 我们可以在工具箱中找到网络诊 ...

  3. 脱壳入门----常见的寻找OEP的方法

    一步直达法 所谓的一步直达法就是利用壳的特征.壳一般在执行完壳代码之后需要跳转到OEP处,而这个跳转指令一般是call ,jmp ,push retn类型的指令,而且因为壳代码所在的区段和OEP代码所 ...

  4. 关于Aborted connection告警日志的分析

    前言: 有时候,连接MySQL的会话经常会异常退出,错误日志里会看到"Got an error reading communication packets"类型的告警.本篇文章我们 ...

  5. 使用Qt实现一个必应壁纸客户端

    概要 必应的每日壁纸很好看,但是看不到一周以前的壁纸图片,日前使用python开发了必应壁纸收集站,可惜这样的收集站只能在线浏览,我在想要是有一款软件能够下载每日必应壁纸,并应用到windows的桌面 ...

  6. OOP第一章总结

    经过了三周的OO,尽管过程不太轻松,但是有所得还是值得欣慰的事! (1)程序结构 第一次作业: UML类图如下,第一次作业在结构上并没有太多面向对象的思想,只是简单的分类,一个运行类,两个对象类,预处 ...

  7. SQLFlow数据流分析工具的job功能介绍

    SQLFlow是一款专业的数据血缘关系分析工具,在大型数据仓库中,完整的数据血缘关系可以用来进行数据溯源.表和字段变更的影响分析.数据合规性的证明.数据质量的检查等. 一.SQLFlow 是怎样工作的 ...

  8. ES6中的Set和Map对象数据结构

    set对象数据结构 构建某一类型的对象 -对象的实例化 let arr = [1, 2, 3, 3, 4, 5] let rec = new Set(arr)//可以传参数,数组或者对象 consol ...

  9. 2019年又迎来Hi1620,鲲鹏920则是Hi1620系列的正式品牌和型号

    据记者了解,2013年华为就发布了Hi1610,2014年的Hi1612是ARM64位CPU,2016年的Hi1616是首颗支持多路的ARM处理器,2019年又迎来Hi1620,鲲鹏920则是Hi16 ...

  10. MyBatis 数据源的原理和机制

    回顾JDBC JDBC访问数据库流程 加载驱动 获取Connection连接对象(消耗性能) 获取PrepareStatement对象 执行SQL语句 获取结果集 关闭Connection连接对象 存 ...