您的位置:首页 > 运维架构 > Linux

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

2017-05-09 23:37 543 查看
以下所有操作都是在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.分别用两种不同网段的主机来测试。





更新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服务)







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



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



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



6.进行测试





The end

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  运维 linux dns dhcp 服务器