简介

DNS是用来名字解析的,名字解析成IP地址,IP地址解析成名字,正反操作,有服务器端和客户端即 S/C

DNS是应用层协议,基于UDP/53、TCP/53端口,缺一不可

分为正向解析和反向解析/递归查询、迭代查询

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

名称解析:主机名解析

把一种名称转换为另一种名称的过程

根据用户提供的名称,去查询解析库,以得到另一种名称

hosts:文本文件

用户自定义了对应的解析列表即要解析的FQDN与IP地址对应关系

有时候hosts很好的解决了DNS服务器访问不了的情况

如:某个域所在的权威DNS服务器出问题了,网站图片不显示等,这时候在hosts文本里写上对应的FQDN和IP地址就可。

备注:FQDN也就是我们所说的网址,如www.xxx.com

如果在本机定义了hosts文本则优先本列表,本列表没有再去DNS库查询

递归查询

用户向第一个DNS服务发请求,DNS收到后,如果它这有直接的结果就直接给你,如果没有就会向根DNS服务询问,层层询问直到问道结果返回给你,负责到底

迭代查询

上述过程中去问根,根给你推荐别人,你去问它,这就是迭代查询,不会负责到底

DNS域结构图

备注:如 www.xxx.com

www:可以是主机或别名

xxx.com:是域名

DNS服务器类型

主DNS服务器
从DNS服务器
缓存DNS服务器(转发器)

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

从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本

序列号:解析库版本号,主服务器解析库变化时,其序列递增

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

重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔

过期时长:从服务器联系不到主服务器时,多久后停止服务

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

Client -->hosts文件 -->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS…

解析答案:

肯定答案:

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

权威答案:你请求的dns服务器正好是负责这个链接域的dns

非权威答案:dns服务器问别人,别人告诉它的,有时候会是假的,比如国外某些网站访问不了,就是dns告诉给你一个错误的答案,不让你访问(DNS的污染,信息篡改了)

备注:名字解析成不成功和能不能上网是两码事

资源记录

区域解析库:由众多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:
Canonical Name,别名记录

MX:
Mail eXchanger,邮件交换器

资源记录定义的格式:

语法:

name(名称) [TTL](生命期) IN(intnet记录) rr_type(资源记录的类型)value(值)

rr_type类型:有 A(ipv4)、 AAAA(ipv6)、SOA、NS(这两种最重要)

注意:

(1) TTL可从全局继承

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

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

方式响应

(4) 同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值

进行定义;此仅表示通过多个不同的名字可以找到同一个主机

 

记录介绍

MX记录:邮件交换器

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

DNS服务器 bind配置文件说明

named.conf主配置文件说明

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
// options { // 定义全局变量
listen-on port 53 { 127.0.0.1; }; // ipv4 监听端口
listen-on-v6 port 53 { ::1; }; // ipv6 监听端口
directory "/var/named"; // 制定装载zone区域文件的目录
dump-file "/var/named/data/cache_dump.db"; // cache
statistics-file "/var/named/data/named_stats.txt"; // statistics
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; }; // 允许访问列表
recursion yes; //递归查询 dnssec-enable yes; //DNS确保应答报文的完整性
dnssec-validation yes;
dnssec-lookaside auto; /* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
}; // "}"后也得分号结束 logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
}; zone "." IN { // "."代表根区域
type hint; // 根区域的类型就为hint
file "named.ca"; // 指定zone文件,默认已经生成
}; include "/etc/named.rfc1912.zones"; //存放自定义的区域文件

备注:配置文件总体来说分为三大块选项、日志、区域

DNS服务-了解篇的更多相关文章

  1. Linux服务之DNS服务篇

    一.DNS服务概述 DNS(Domain Name System)域名系统,在TCP/IP 网络中有非常重要的地位,能够提供域名与IP地址的解析服务. DNS 是一个分布式数据库,命名系统采用层次的逻 ...

  2. 移植DNS服务bind

    移植DNS服务bind 标签: makefile工作linuxbuildgcc工具 先写用于DNS的bind. 一. 移植环境 1 .硬件环境: Host : X86 PC Target : MPC8 ...

  3. 网络协议 17 - HTTPDNS:私人定制的 DNS 服务

    [前五篇]系列文章传送门: 网络协议 12 - HTTP 协议:常用而不简单 网络协议 13 - HTTPS 协议:加密路上无尽头 网络协议 14 - 流媒体协议:要说爱你不容易 网络协议 15 - ...

  4. 在k8s中搭建可解析hostname的DNS服务

    2016-01-25更新 上篇文章总结k8s中搭建hbase时,遇到Pod中hostname的DNS解析问题,本篇将通过修改kube2sky源码来解决这个问题. 1 前言 kube2sky在Githu ...

  5. DNS服务-主从架构搭建

    为了网站的可靠性,通常都会有多个DNS服务器,万一DNS服务器宕机了,可以实现DNS服务器容错 通常都会有一个主DNS服务器,后面配若干个辅助DNS服务器,这个主DNS服务器的数据库会同步给其他的DN ...

  6. linux初学者-DNS集群篇

    linux初学者-DNS集群篇 DNS服务器一般在使用时,为了缓解服务器的压力,多使用一个主DNS服务器,多个副DNS服务器,这些DNS服务器就组成了一个DNS集群. 在DNS主服务器配置好后,需要另 ...

  7. DNS服务——正向查找区 和 逆向查找区

    前言 正向查找区,就是我们最熟知的DNS.即根据域名解析成IP 逆向查找区,即根据IP解析成域名. 他们之间的关系很像ARP和RARP 正向查找区 /etc/named.rfc1912.zones用于 ...

  8. DNS服务和BIND

    今天我们来介绍一下DNS服务,在大家的印象中DNS可能只是将域名解析为IP地址,可能其他的暂时还不太了解,希望本篇内容能帮助大家. 1.什么是DNS? DNS( Domain Name System) ...

  9. 云原生学习筑基 ~ 组网必备知识点 ~ DNS服务

    @ 目录 一.为啥写这篇文章? 二.DNS的作用 三.域 四.DNS工作原理 五.搭建DNS服务器 5.1.Bind 5.2.系统环境准备 5.3.安装 5.4.查看bind的相关文件 5.5.查看b ...

随机推荐

  1. assembly x86(nasm)修改后的日常

    data segment ENG db 'SUNdayS Coming I Wanna Drive My Car,SUN,SUN$' ;9,3 sun1 db 'SUN' swcount db 0ah ...

  2. day04 基本类型包装类

  3. Hexo - Template render error unexpected token

    问题与分析 今天发现在使用hexo g时报错如下: FATAL Something's wrong. Maybe you can find the solution here: http://hexo ...

  4. shell学习(5)- sort

    Linux sort命令用于将文本文件内容加以排序. sort可针对文本文件的内容,以行为单位来排序. 参数如下: -b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照顺序排序. -d 排 ...

  5. socket连接 代码

    dispatch_sync(dispatch_get_global_queue(, ), ^{ // 处理耗时操作的代码块... // 创建socket /* 1.AF_INET: ipv4 执行ip ...

  6. GYM 101889F(树状数组)

    bit扫描坐标套路题,注意有重复的点,莽WA了. const int maxn = 1e5 + 5; struct node { ll B, F, D; bool operator < (con ...

  7. 牛客练习赛42B(异或的性质)

    传送门 b^ c >= b - c,这个结论应该记住,我还在这里证过…… 这个题就用到了这个结论,假如当前答案集合为S,和为a,异或和为b,当前答案为a+b了.这时又读入个c,该不该加进来?a ...

  8. 转 造成ORA-01843 无效的月份的一些原因

  9. performSelector withObject afterDelay 在子线程上调用不运行

    如题,这是最近在修改一个数据同步模块时发现的问题.整个数据同步的任务是在App启动后放在一个后台执行的线程中的,执行某个单条数据同步任务成功后,会使用 [self performSelector:(n ...

  10. Unity Shader入门精要学习笔记 - 第10章 高级纹理

    转载自 冯乐乐的 <Unity Shader入门精要> 立方体纹理 在图形学中,立方体纹理是环境映射的一种实现方法.环境映射可以模拟物体周围的环境,而使用了环境映射的物体可以看起来像镀了层 ...