DNS:Domain Name Service,协议(C/S,53/udp,53/tcp);应用层协议。

BIND:Bekerley Internat Name Domain,ISC(www.isc.org)

Top Level Domain:tld

  com,edu,mil,gov,net,org,int

  三类:组织域、国家域、反向域

DNS查询类型:

  递归查询

  迭代查询

名称服务器:域内负责解析本域内的名称的主机;

  根服务器:13组服务器

解析类型:

  Name --> IP

  IP --> Name

  注意:正反向解析是两个不同的名称空间,是两棵不同的解析树。

DNS服务器类型:

  主DNS服务器

  辅助DNS服务器

  缓存DNS服务器

  转发器

  

  主DNS服务器:维护所负责解析的域内解析库服务器;解析库由管理员维护;

  从DNS服务器:从主DNS服务器或其它的从DNS服务器那里“复制”(区域传递)一份解析库;

    序列号:解析库的版本号;前提:主服务器解析库内容发生变化,其序列号递增;

    刷新时间:从服务器从主服务器请求同步解析库的时间间隔;

    重试时长:从服务器从主服务器请求同步解析失败时,再次尝试的时间间隔;

    过期时长:从服务器始终联系不到主服务器时,多久之后放弃从服务器角色,停止提供服务;

    ”通知“机制:

  区域传送:

    全量传送:传递整个解析库。

    增量传送:传递解析库变化的那部分内容。

DNS:

  Domain:

    正向:FQDN --> IP

    反向:IP --> FQDN

    正向反向各需要一个解析库来分别负责本地域名的正向和反向解析

      正向区域

      反向区域

  FQDN:Full Qualified Domain Name

    www.magedu.com

一次完整的查询请求经过的流程:

  Client --> hosts文件 --> DNS Service

    Local Cache --> DNS Server(recursion) --> Server Cache --> iteration(迭代)

    解析答案:

      肯定答案;

      否定答案:请求的条目不存在等原因导致无法返回结果;

        

      权威答案;

      非权威答案;

区域解析库:由众多RR组成;

  资源记录:Resource Record,RR

    记录类型:A,AAAA,PTR,SOA,NS,CNAME,MX

    SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录;

    A:internet Address,作用,FQDN --> IP

    AAAA:FQDN --> IPv6

    PTR:PoinTeR,IP --> FQDN

    NS:Name Server,专用于标明当前区域的DNS服务器。

    CNAME:Canoical Name,别名记录。

    MX:Mail eXchanger,邮件交换器

  资源记录定义的格式:

    语法:name  [TTL]  IN  rr_type  value

    注意:

      (1)TTL可以从全局继承;

      (2)@可用于引用当前区域的名字;

      (3)同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应;

      (4)同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;此仅表示通过多个不同的名字可以找到同一个主机而已。

    SOA:

      name:当前区域的名字,例如”magedu.com.";

      value:有多部分组成

        (1)当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;

        (2)当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替代,例如linuxedu.magedu.com

        (3)(主从服务器协调属性的定义以及否定的答案的统一的TTL)  #属性就是笔记上面那些刷新时间啥的。

      例如:

      magedu.com   86400   IN   SOA   ns.magedu.com.   nsadmin.magedu.com.   (

              2015042201;序号

              2H               ;刷新时间

              10M             ;重试时间

              1W    ;过期时间

              1D               ;否定答案的TTL值

      )

    NS:

      name:当前区域的名字

      value:当前区域的某DNS服务器的名字,例如ns.magedu.com.;

        注意:一个区域可以有多个NS记录;

      例如:

      magedu.com   IN   NS   ns1.magedu.com.

      magedu.com   IN   NS   ns2.magedu.com.

      注意:

        (1)相邻的两个资源记录的name相同时,后续可省略

        (2)对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录;

    MX:

      name:当前区域的名字

      value:当前区域的某邮件服务器(smtp服务器)的主机名;

        一个区域内,MX记录有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高;

      例如:

      magedu.com.   IN   MX   10   mx1.magedu.com.

               IN   MX   10   mx2.magedu.com.

      注意:

        (1)对MX记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录;

    A记录:

      name:某主机的FQDN,例如www.magedu.com.

      value:主机名对应主机的IP地址;

      例如:

        www.magedu.com.   IN   A   1.1.1.1

        www.magedu.com.   IN   A   1.1.1.2

        mx1.magedu.com.    IN  A    1.1.1.3

        mx2.magedu.com.    IN  A    1.1.1.3

      注意:

        *.magedu.com.    IN    A    1.1.1.4

        magedu.com.    IN    A    1.1.1.4

        避免用户写错名称时给错误答案,可通过泛域名解析进行解析至特定地址;

    AAAA:

      name:FQDN

      value:IPv6

    PTR:

      name:IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:in-addr.arpa.   所以完整写法为:4.3.2.1.in-addra.arpa.

      value:FQDN

      例如:

        4.3.2.1.in-addr.arpa.  IN  PTR  www.magedu.com

        简写成:

          4  IN  PTR  www.magedu.com.

        注意:网络地址及后缀可省略;主机地址依然需要反着写;

    CNAME:

      name:别名的FQDN

      value:正式名字的FQDN;

      例如:

        web.magedu.com  IN  CNAME  www.magedu.com.

    

Linux:Day18(上) dns服务基础进阶的更多相关文章

  1. DNS服务基础原理介绍

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

  2. Bind DNS服务——基础知识

    Linux基础--Bind DNS服务 Part0 DNS简介 域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库 ...

  3. LINUX中的DNS服务---高速缓存DNS

    一.什么是DNS     Domain Name System,域名系统.     万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网.他主要负责把域名和IP的相互转换 ...

  4. 监控Linux服务器上python服务脚本

    提供给公司使用的测试平台这两天频繁地挂掉,影响到相关同事的正常使用,决定在服务器上写个监控脚本,监控到服务挂了就启动起来,一分钟检查一次.注:后台服务使用的是python.监控脚本如下: NUM=`p ...

  5. LINUX中的DNS服务---DNS集群

    一.DNS集群的理解 在使用DNS的时候,为了缓解服务器的压力,会使用多个辅助DNS服务器来分担主DNS的工作.这些DNS就叫做DNS集群. 二.配置过程 1)在辅DNS中操作如下:(主机号为172. ...

  6. LINUX中的DNS服务---DNS正向、反向和双向解析

    一.DNS的正向解析 也就是域名解析为IP地址进行访问! 1)vim  /etc/named.conf   ---->  删除forwarders所在行 2)vim  /etc/named.rf ...

  7. 1、DNS服务基础

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

  8. DNS服务基础

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

  9. Linux 域名和DNS

    名字解析的作用: TCP/IP网络中,设备之间的通信依赖IP地址来实现,但是IP地址不好记忆,所以就将每一台设备用一个名字来进行标识,但是这个名字计算机不能解析.所以就需要借助名字解析服务来实现将名字 ...

随机推荐

  1. #ifndef, #define, #endif 作用

    #ifndef, #define, #endif 作用 https://www.cnblogs.com/challenger-vip/p/3386819.html

  2. 面试题解:输入一个数A,找到大于A的一个最小数B,且B中不存在连续相等的两个数字

    玄魂工作室秘书 [玄魂工作室]      昨天发的算法有一处情况没考虑到,比如加一后有进位,导致又出现重复数字的情况,修正后今天重新发一次.     比如输入99,那B应该是101 因为100有两个连 ...

  3. Java 枚举类详解

    1. 枚举类定义 在某些情况下,一个类的对象是有限而且固定的,比如季节类,它只有4个对象,这种实例有限而且固定的类,在Java里被称为枚举类. 2. 早期实现枚举的方式 public static f ...

  4. PHP全栈学习笔记9

    php的会话控制,什么是会话控制,http等. 什么是会话控制思想,http协议. cookie 和 session http是超文本传输协议,是网络上最广泛的一种网络协议. http最大特点是无连接 ...

  5. Java实现Http请求的常用方式

    一.使用Java自带的java.io和java.net包. 实现方式如下: public class HttpClient { //1.doGet方法 public static String doG ...

  6. 【社群话题分享】你的网站 HTTPS 了吗?

    每周三下午的话题活动是又拍云技术社群的优良传统-大家一起来看看这周都聊了些啥吧! 推荐阅读: 当 “HTTP” 先生遇上“S”小姐 了解 HTTPS,读这篇文章就够了 HTTPS 是什么? HTTPS ...

  7. AppUtils【获取手机的信息和应用版本号、安装apk】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 一个获取设备的系统版本号.设备的型号.应用版本号code值.应用版本号name值.包名.是否更新.安装apk的工具类. 其实这个工具 ...

  8. Java~时间戳小知识

    大叔对java时间戳使用的总结 Java里的Date对象有方法setTime,主要是将一个时间戳转成一个日期对象,而这个时间戳的标准是unix标准,即当前时间与1970/1/1相差的毫秒数,记得是毫秒 ...

  9. qs.stringify和JSON.stringify的使用和区别

    qs可通过npm install qs命令进行安装,是一个npm仓库所管理的包. 而qs.stringify()将对象 序列化成URL的形式,以&进行拼接. JSON是正常类型的JSON,请对 ...

  10. 数据分析之matplotlib.pyplot模块

    首先都得导模块. import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import S ...