Linux运维笔记-文档总结-DNS的介绍及各种DNS模式的部署(全)

简介:

转自

http://m.blog.csdn.net/article/details?id=71513087


以下所有操作都是在Red-hat 7.0上


DNS 总揽

权威名称服务器

存储并提供某区域 ( 整个 DNS 域或 DNS 域的一部分 ) 的实际数据。

权威名称服务器的类型包括

Master : 包含原始区域数据。有时称作 “主要 ”名称服务器

Slave : 备份服务器 , 通过区域传送从 Master 服务器获得的区域数据的副本。有时称作 “次要 ”名称服务器

非权威 / 递归名称服务器

– 客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括

存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具有权威性

DNS 查找

客户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器,如果名称服务器对于请求的信息具有权威性 , 会将权威答案发送至客户端,否则 , 如果名称服务器在其缓存中有请求的信息 , 则会将非权威答案发送至客户端,如果缓存中没有信息 , 名称服务器将搜索权威名称服务器以查找信息 , 从根区域开始 , 按照DNS 层次结构向下搜索, 直至对于信息有具有权威性的名称服务器 , 以此为客户端获得答案。在此情况中,名称服务器将信息传递至客户端并在自己的缓存中保留一个副本 , 以备以后查找。

DNS资源记录

DNS 区域采用资源记录的形式存储信息。每条资源记录均具有一个类型 , 表明其保留的数据类型。

– A : 名称至 IPv4 地址

– AAAA : 名称至 IPv6 地址

– CNAME : 名称至 ”规范名称 “ ( 包含 A/AAAA 记录的另一个名称 )

– PTR : IPv4/IPv6 地址至名称

– MX : 用于名称的邮件交换器 ( 向何处发送其电子邮件 )

– NS : 域名的名称服务器

– SOA :” 授权起始 “ , DNS 区域的信息 ( 管理信息 )

DNS排错

它显示来自 DNS 查找的详细信息 , 其中包括为什么查询失败 :

– NOERROR : 查询成功

– NXDOMAIN : DNS 服务器提示不存在这样的名称

– SERVFAIL : DNS 服务器停机或 DNSSEC 响应验证失败

– REFUSED : DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )

dig输出的部分内容

标题指出关于查询和答案的信息 , 其中包括响应状态和设置的任何特殊标记 ( aa 表示权威答案 , 等等 )

– QUESTION : 提出实际的 DNS 查询

– ANSWER : 响应 ( 如果有 )

– AUTHORITY : 负责域 / 区域的名称服务器

– ADDITIONAL : 提供的其他信息 , 通常是关于名称服务器

– 底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间

缓存 DNS 服务器

BIND 是最广泛使用的开源名称服务器,在 RHEL 中 , 通过 bind 软件包提供防火墙开启端口 53/TCP 和 53/UDP。BIND 的主配置文件是 /etc/named.conf 。/var/named 目录包含名称服务器所使用的其他数据文件

/etc/named.conf 的语法

// 或 # 至行末尾是注释 ; /* 与 */ 之间的文本也是注释 ( 可以跨越多行 )

指令以分号结束 (;)

许多指令认为地址匹配列表放在大括号中、以CIDR 表示法表示的 IP 地址或子网列表中 , 或者命名的 ACL 中 ( 例如 any; [ 所有主机 ] 和none; [ 无主机 ] )。

文件以 options 块开始 , 其中包含控制 named如何运作的指令。

zone 块控制 named 如何查对于其具有权威性的根名称服务器和区域。

一些重要的 options 指令

isten-on 控制 named 侦听的 IPv4 地址

listen-on-v6 控制 named 侦听的 IPv6 地址

allow-query 控制哪些客户端可以向 DNS 服务器询问信息

forwarders 包含 DNS 查询将转发至的名称服务器的列表

( 而不是直接联系外部名称服务器 ; 在设有防火 墙的情况中

很有用 )

所有这些指令会将打括号中以分号分隔的元素视为地址匹配

列表 . 如

– listen-on { any; };

– allow-query { 127.0.0.1; 10.0.0.0/8 };

DNS的配置

首先在主机上安装DNS相应的服务,再进行DNS的配置。

在安装一种服务时,如果不知道,可以search一下,再在结果里面找。

这里写图片描述

现在进行安装:

这里写图片描述

现在进行配置DNS:

这里写图片描述

这里写图片描述

这里写图片描述

高速缓存DNS的解释:

先谈一下DNS的解析过程:

1.DNS在解析域名的时候,客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

2.当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。

3.如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。(使用此forwarders )

4.本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。

5.重复第四步,直到找到正确的纪录。

6.本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

举个现实中的例子来理解高速缓存DNS

现在到中午了,大家都要吃饭了,是不是大家都得放下手上的工作去吃饭,然后再进行工作。(这个阶段类似很多组机器去都要进行域名解析,都会要去访问主服务器。)

如何提供效率呢? 现在让一个人去买大家的饭,其他人现在可以干自己的事情,等到饭买回来就可以直接享用了,大大提高了效率。(这里类比的就是高速去缓存DNS的域名对应的ip,放到本地的缓存里供其他主机来访问,方便快速!!!)

正向解析

正向解析的意思就是给定一个网址,对其进行解析

制作一个域名对应解析,进行试验。

1.在 /etc/named.rfc1912.zones 进行添加要制作的网址。

这里写图片描述

2.在/var/named/中制作westos.com.zone文件

这里写图片描述

3.在westos.com.zone进行编写信息。

这里写图片描述

4.最后在DNS主配置文件里添加我们编写的信息。(重启named服务)

这里写图片描述

5.进行测试。

这里写图片描述

反向解析

反向解析的意思就是给定一个ip,对其进行解析成相对应的网址。

制作一个域名解析,进行试验。

1.在 /etc/named.rfc1912.zones 进行添加反向解析的数据。

这里写图片描述

2.在/var/named/中制作westos.com.ptr文件

这里写图片描述

3.编写westos.com.ptr文件

这里写图片描述

4.在主配置文件里添加添加我们编写的信息。(重启named服务)

这里写图片描述

5.进行测试

这里写图片描述

DNS的域名规范配置

域名规范的意思就是原来设定是@是westos.com,或许自己想要一个别的模块,在这个基础上,进行名称的修正。

1.直接在westos.com.zone进行编写信息。(重启named服务)

这里写图片描述

2.直接测试

这里写图片描述

DNS的邮箱配置

1.直接在westos.com.zone进行编写信息。(重启named服务)

这里写图片描述

2.发送邮箱

这里写图片描述

3.进行测试(邮箱配置的正确性)

这里写图片描述

多项解析

多项解析的意思是进行对不同网段的解析。

1.配置新的网卡并对其配置,进行接收不同的网段的解析任务。

这里写图片描述

这里写图片描述

这里写图片描述

2.进行对0网段解析文件的编写。

这里写图片描述

这里写图片描述

3.进入主配置文件做视图(view)(编写完成后进行,重启named服务)

如果不知道view的模式是怎么样的,可以去man named.conf 找view的模式。 
这里写图片描述

这里写图片描述

这里写图片描述

4.分别用两种不同网段的主机来测试。

254网段的测试

[0网段的测试

更新DNS

更新DNS的意思就是说,在使用中可以添加,删除,修改ip地址对应的网址作为本地的信息。

提示:在做此实验的时候,先将westos.com.zone备份一份,以便后面实验的需要

这里写图片描述

1.添加被更新主机的信息在westos.com.zone

这里写图片描述

2.修改允许对面主机来更新的权限。(重启named服务)

这里写图片描述

3.到对应网段主机进行测试。

这里写图片描述

4.进行测试

这里写图片描述

原来的配置文件已经被更新。

这里写图片描述

删除这条信息

这里写图片描述

再次进行测试

这里写图片描述

利用密钥进行更新

顾名思义,只有有钥匙才可以对此更新,必须先加密,等进行分配钥匙,更新。

在做这个实验时,把原来备份的westos.com.zone复制回来。

1.对这个主机进行加密操作。(有各种各样的加密类型,可以去man一下。)

这里写图片描述

2.制作密钥文件

这里写图片描述

3.在配置文件中修改使用密钥文件更新(修改完毕重启named服务)

这里写图片描述

这里写图片描述

4.给对应主机分发密钥文件

这里写图片描述

5.进行更新(加密更新)

这里写图片描述

6.进行测试

这里写图片描述

动态解析

前面我们做的都是在静态网络做的域名解析,那么问题来了,使用最多还是动态网络,如果遇到动态网络,如何在第一时间对其进行解析。

这里要提到一个服务器ddns服务器。

百度百科解释:动态域名解析服务,是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候,客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务程序负责提供DNS服务并实现动态域名解析。

就是说DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样域名就可以始终解析到非固定IP的服务器上,互联网用户通过本地的域名服务器获得网站域名的IP地址,从而可以访问网站的服务。

这里写图片描述 
自己的理解:简单点理解,就是dhcp服务进行更换的时候,同时给两个地方(westos.com.zone和查询哪一方)发送要更改的ip,进行对应,快速查询。

在做这个实验之前,将前面实验更新的文件删除,再备份的westos.com.zone复制回来。

1.server端安装dhcp服务

这里写图片描述

2.制作dhcp配置文件并配置(进入dhcp配置文件,先将36之后全部删掉)(修改完毕后,重启dhcpd服务)

这里写图片描述

进入/etc/dhcp/chcpd.comf

这里写图片描述

3.对DNS配置文件添加动态解析所需信息(修改完毕后,重启named服务)

这里写图片描述

4.在测试主机上配置dhcp网络(修改完毕后,重启network服务)

这里写图片描述

5.设置主机名(要有westos.com的主机名)

这里写图片描述

6.进行测试

这里写图片描述

这里写图片描述

本文转自AELY木博客51CTO博客,原文链接http://blog.51cto.com/12768057/1926555如需转载请自行联系原作者


AELY木

相关文章
|
4天前
|
Linux
Linux(5)WIFI/BT调试笔记
Linux(5)WIFI/BT调试笔记
21 0
|
5天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
18天前
|
Linux 编译器 开发者
Linux设备树解析:桥接硬件与操作系统的关键架构
在探索Linux的庞大和复杂世界时🌌,我们经常会遇到许多关键概念和工具🛠️,它们使得Linux成为了一个强大和灵活的操作系统💪。其中,"设备树"(Device Tree)是一个不可或缺的部分🌲,尤其是在嵌入式系统🖥️和多平台硬件支持方面🔌。让我们深入了解Linux设备树是什么,它的起源,以及为什么Linux需要它🌳。
Linux设备树解析:桥接硬件与操作系统的关键架构
|
29天前
|
域名解析 移动开发 负载均衡
阿里云DNS常见问题之DNS负载均衡调加权模式失败如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
4天前
|
Linux Android开发
Linux(6)CH9434 SPI调试笔记
Linux(6)CH9434 SPI调试笔记
13 0
|
15天前
|
算法 Linux 调度
深度解析:Linux内核的进程调度机制
【4月更文挑战第12天】 在多任务操作系统如Linux中,进程调度机制是系统的核心组成部分之一,它决定了处理器资源如何分配给多个竞争的进程。本文深入探讨了Linux内核中的进程调度策略和相关算法,包括其设计哲学、实现原理及对系统性能的影响。通过分析进程调度器的工作原理,我们能够理解操作系统如何平衡效率、公平性和响应性,进而优化系统表现和用户体验。
20 3
|
15天前
|
存储 安全 测试技术
网络奇谭:虚拟机中的共享、桥接与Host-Only模式解析
网络奇谭:虚拟机中的共享、桥接与Host-Only模式解析
19 0
|
21天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
37 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境
|
22天前
|
负载均衡 算法 Linux
深度解析:Linux内核调度器的演变与优化策略
【4月更文挑战第5天】 在本文中,我们将深入探讨Linux操作系统的核心组成部分——内核调度器。文章将首先回顾Linux内核调度器的发展历程,从早期的简单轮转调度(Round Robin)到现代的完全公平调度器(Completely Fair Scheduler, CFS)。接着,分析当前CFS面临的挑战以及社区提出的各种优化方案,最后提出未来可能的发展趋势和研究方向。通过本文,读者将对Linux调度器的原理、实现及其优化有一个全面的认识。
|
23天前
|
存储 缓存 监控
深入解析linux内存指标:快速定位系统内存问题的有效技巧与实用方法(free、top、ps、vmstat、cachestat、cachetop、sar、swap、动态内存、cgroops、oom)
深入解析linux内存指标:快速定位系统内存问题的有效技巧与实用方法(free、top、ps、vmstat、cachestat、cachetop、sar、swap、动态内存、cgroops、oom)

相关产品

  • 云解析DNS