1.DNS总揽

1)权威名称服务器

– 存储并提供某区域 ( 整个 DNS 域或 DNS 域的一部分 ) 的实际数据。权威名称服务器的类型包括:

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

2)非权威 / 递归名称服务器

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

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

3)DNS查找

– 客户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器

– 如果名称服务器对于请求的信息具有权威性 , 会将权威答案发送至客户端

– 否则 , 如果名称服务器在其缓存中有请求的信息 , 则会将非权威答案发送至客户端

– 如果缓存只能该没有信息 , 名称服务器将搜索权威名称服务器以查找信息 , 从根区域开始 , 按照DNS

层次结构向下搜素 , 直至对于信息具有权威性的名称服务器 , 以此为客户端获得答案。在此情况中, 名 ch 称服务器将信息传递至客户端并在自己的缓存中保留一个副本 , 以备以后查找。

4)DNS资源记录

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

类型 含义
– A 名称至 IPv4 地址
– AAAA 名称至 IPv6 地址
– CNAME 名称至 ” 规范名称 “ ( 包含 A/AAAA 记录的另一个名称 )
– PTR IPv4/IPv6 地址至名称
– MX 用于名称的邮件交换器 ( 向何处发送其电子邮件 )
– NS 域名的名称服务器
– SOA ” 授权起始 “ , DNS 区域的信息 ( 管理信息 )

5)DNS排错

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

– NOERROR : 查询成功– NXDOMAIN : DNS 服务器提示不存在这样的名称– SERVFAIL : DNS 服务器停机或 DNSSEC 响应

• 验证失败

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

6)dig输出的部分内容

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

– QUESTION : 提出实际的 DNS 查询– ANSWER : 响应 ( 如果有 )– AUTHORITY : 负责域 / 区域的名称服务器– ADDITIONAL : 提供的其他信息 , 通常是关于名称服务器– 底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间

7)缓存DNS服务器

BIND是最广泛使用的开源名称服务器。

在RHEL中 , 通过bind软件包提供防火墙开启端口53/TCP和53/UDP

BIND的主配置文件是/etc/named.conf

/var/named目录包含名称服务器所使用的其他数据文件

8)/etc/named.conf的语法

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

• 指令以分号结束 (;)

• 许多指令认为地址匹配列表放在大括号中、以CIDR表示法表示的IP地址或子网列表中 , 或者命名的ACL中

( 例如 any; [ 所有主机 ] 和none; [ 无主机 ] )

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

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

2.安装部署dns

yum search dns               ##查找dns服务

yum  install blind.x86_64  -y   ##安装dns服务软件

systemctl start named        ##打开服务
systemctl  stop firewalld    ##关闭火墙


查询配置文件

rpm -qc bind

主配置文件:/etc/named.conf
子配置文件:/etc/named.rfc1912.zones
数据目录:/var/named

3.高速缓存dns简介与搭建

DNS服务器可以高速缓存从其他DNS服务器收到的DNS记录,也可以在DNS客户服务中使用高速缓存,将其作为DNS客户端保存在最近的查询过程中得到的信息高速缓存的方法。

当一个主机第一次访问一个网页的时候,该主机的DNS服务器以从远处的服务器拿到数据,并进行高速缓存;这样在主机或者其他主机进行下一次访问的时候,可以直接从该主机的高速缓存中直接获取,这样的方式叫做高速缓存。

实验环境:

1.开启一台虚拟机用作服务端,并设置虚拟机能接通网络
2.关闭火墙


开始搭建

1)查看接口

netstat -antlupe | grep named ##查看named接口

vim /etc/named.conf ##修改配置文件 13 listen-on port 53 { any; }; ##named可开启的接口
19 allow-query { any; }; ##允许任意用户查询
20 forwarders { 114.114.114.114; }; ##网络地址解析
35 dnssec-validation no; ##不进行dns检测

重启服务

systemctl restart named          ##重启服务

测试:

开启另一台主机用作客户端,进行测试
首先在客户端添加网络解析地址——服务端的IP

修改前

修改后

vim /etc/reslove.conf          ##编辑网络解析
nameserver 172.25.254.221


我们在来观察以下访问所需时间
服务端

客户端

且由上图中可知,它所得到的信息来自172.25.6.221的主机(即服务端),访问所需时间很短

4.dns的正向解析相关设置

1)修改服务端的子配置文件

为了方便区别我们将主机名修改如下(*.westos.com),这是我们下面实验要解析域名,不能随便写

主机名【dns1】——服务端,IP:172.25.6.221
主机名【dns2】——客户端,IP:172.25.6.222

为了管理方便其域名的解析都保存在主配置文件中,当然也可以可以写在这个目录中

vim /etc/named.rfc1912.zones ##编辑要解析域名

下图中的高亮部分为模板,我们可以使用快捷操作【y6y——复制6行,p粘贴,然后对部分内容进行修改】

写入下面的内容

zone "westos.com" IN {                         ##要维护的域名 type master;
file "westos.com.zone";                   ##解析的文件,这个要自己编写
allow-update { none; }; };


2)生成解析文件

cd /var/named       ##进入数据目录
cp -p  named.localhost  westos.com.zone    ##复制模板内容生成解析文件


打开文件编写内容如下

TTL 1D: 客户可以将缓存保存一天
@: 自动补全域名
retry: 过期时间
minimum: 最小缓存时间
expire: 客户可查询最长时限

重启服务

systemcl   restart named

如果重启出现下面报错可通过查看日志进行排错


在客户端进行测试

vim /etc/resolv.conf
nameserver 172.25.254.221           ##服务端IP

dig  www.westos.com


得到的信息与配置文件中书写的内容一致

解析轮循与MX邮件记录解析

3)接着上面的实验,继续修改服务端解析文件,内容如下:

重启服务

systemcl   restart named

测试:

(1)在客户端测试解析轮循功能

查询www.westos.com时,会先转到bbs.a.westos.com.再解析bbs.a.westos.com.的地址,第一次解析结果为172.25.254.222;再次查询结果为172.25.254.111,两个地址轮循。

(2)邮件解析记录测试


5.反向解析

1)编写子配置文件,写入下图内容

vim /etc/named.rfc1912.zones

2)建立解析文件

cd /var/named/
cp  -p  named.loopback   172.25.6.ptr      ##复制一个反向解析数据文件
vim 172.25.6.ptr

systemcl   restart named         ##重启服务

测试:

6.双向解析

控制域名能被谁解析,不同客户得到不同的地址。

1)在 /var/named/路径下

cp  -p westos.com.zone westos.com.inters
vim westos.com.inters


2)

cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inters
vim /etc/named.rfc1912.inters


3)

vim /etc/named.conf
systemctl restart named


4)测试

服务端:

客户端:

7.辅助DNS

DNS辅助服务器是一种容错设计,考虑的是一旦DNS主服务器出现故障或因负载太重无法及时响应客户机请求,辅助服务器将挺身而出为主服务器排忧解难。辅助服务器的区域数据都是从主服务器复制而来,因此辅助服务器的数据都是只读的,当然,如果有必要,我们可以很轻松地把辅助服务器升级为主服务器。我们通过下面的一个实验为大家介绍如何配置DNS辅助服务器,

实验准备:
1.还原双向解析的设置

2.准备两台虚拟机,以一台作为主DNS,另一台作为辅助DNS

实验过程

在主DNS上

1)修改子配置文件

vim  /etc/named.rfc1912.zones

vim /etc/resolv.conf         ##地址写它自己的地址

systemctl   restart named

在辅助DNS上

1)安装DNS相关软件,配置好服务

vim /etc/yum.repos.d/yum.repo  ##配置yum源
yum install bind -y  ##安装服务
systemctl start named  ##开启服务,开启时需要在虚拟机里敲键盘或晃动鼠标
systemctl stop firewalld ##关闭火墙
systemctl stop firewalld

修改主配置文件

vim /etc/named.conf


修改子配置文件

vim /etc/named.rfc1912.zones
systemctl restart named

vim /etc/resolv.conf         ##地址写主DNS的IP

3.测试

在主DNS上

dig www.westos.com


在辅助DNS上

dig www.westos.com

修改serial值,并修改被解析的IP地址

vim /var/named/westos.com.zone
systemctl restart named


重复上面的测试过程

在主DNS上

在辅助DNS上

每次更改主DNS解析文件后必须更改serial的数值,辅助DNS才会更改,这个数值最大10位

8.DNS的远程更新

SElinux的状态不能为Enforcing

准备工作:

cp -p westos.com.zone /mnt/  ##备份westos.com.zone,后面的实验还要用到

更新方式一 ——基于IP的远程更新

在服务端

vim /etc/named.rfc1912.zones         ##修改子配置文件

chmod 770 /var/named/
systemctl restart named

在客户端远程更新服务端

nsupdate
> server 172.25.254.221      ##服务端IP
> update add text.westos.com 86400 A 172.25.6.106
> send
> quit


注意:
假如你在更新时出现下列情况,不要慌,首先检查配置文件、服务端火墙、服务等是否状态无误;若依然无法解决问题,尝试查看服务端SElinux的状态(作者是因为SElinux的问题)

在客户端查询是否更新

dig text.westos.com      ##更新的地址


对比服务端更新前后的文件内容

更新前

更新后

注意:更新后,不光文件内容发生了变化,serial值也发生了变化

删除更新内容

nsupdate
> server 172.25.254.118
> update delete hello.westos.com
> send
> quit

更新方式二 ——基于KEY的更新

准备工作:恢复原始实验环境

cp -p /mnt/westos.com.zone /var/named     ##若复制时未【- p】同步权限,后面实验会出现问题


服务端的各项配置

1)加密

dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos  ##-a 加密方式,-b 加密字符长度,-n 加密用途

若遇到加密停顿情况可以在主机中敲击键盘来解决
查看key已经生成:一个为密钥一个为私钥,其内容都是相同的

2)生成密钥文件

cat Kwestos.+157+37116.key     ##查看加密字符

cp -p /etc/rndc.key  /etc/westos.key     ##利用系统中模板生成密钥文件
vim /etc/westos.key                         ##向文件写入加密字符


3)修改子配置文件

vim /etc/named.rfc1912.zones     ##写入下面内容
allow-update { key westos; };       ##指定westos域可以被westoskey更新

4)修改主配置文件

vim /etc/named.conf      ##写入下面的内容
include "/etc/westos.key";

 systemctl restart named

5)发送加密文件

scp Kwestos.+157+37116.* root@172.25.6.222:/mnt/      ##发给客户端

在客户端测试

nsupdate -k Kwestos.+157+08876.key
> server 172.25.6.221
> update add text.westos.com 86400 A 172.25.6.221
> send
> quit


报错分析:

1.时间不同步时会报错—clocks are unsynchronized,需要设置时间同步
2.SElinux的状态若为Enforcing,更新会失败,报错:

nsupdate -k Kwestos.+157+08876.key
> server 172.25.6.221
> update add text.westos.com 86400 A 172.25.6.123
> send
update failed: SERVFAIL

9.DDNS(花生壳)

1).简介

DDNS(Dynamic Domain Name Server)是动态域名服务的缩写。

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

服务原理

DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样其他上网用户就可以通过域名来进行交流。而最终客户所要记忆的全部,就是记住动态域名商给予的域名即可,而不用去管他们是如何实现的。
动态域名服务的对象是指IP是动态的,是变动的。普通的DNS都是基于静态IP的,有可能是一对多或多对多,IP都是固定的一个或多个。但DDNS的IP是变动的、随机的。随着市场需求的变化,DDNS需求功能也越来越多,越来越要求方便,市场现在已经有了不少第三方DDNS方支持的设备。

2)服务搭建过程——在DNS以KEY方式更新的条件下,且SElinux的状态不能为Enforcing

服务端配置:

安装dhcp服务,并修改配置文件

yum install dhcp -y
rpm -qc dhcp        ##查看配置文件

vim /etc/dhcp/dhcpd.conf

cp /usr/share/doc/dhcp*/dhcpd.conf.example  /etc/dhcp/dhcpd.conf     ##利用系统模板生成主配置文件
vim /etc/dhcp/dhcpd.conf

内容解释

注意
主机网络回环接口IP可由命令查看

ifconfig

以上便是服务端的全部配置

客户端配置

更改主机名称为:*.westos.com

hostnamectl set-hostname snow.westos.com  ##更改主机名为snow.westos.com,这个名称在原有的dns服务中是没有解析的

排除干扰,拔掉网线,设置网络类型为动态网


动态网络配置成功,客户端成功获取IP

测试:

客户端

dig snow.westos.com


服务端

dig snow.westos.com

高速缓冲DNS相关配置详情相关推荐

  1. linux 网卡配置详情

    1.配置文件 /etc/hosts(本地主机ip地址映射,可以有多个别名). /etc/services(端口号与标准服务之间的对应关系). /etc/sysconfig/network(设置主机名, ...

  2. RHEL7.0系统相关配置

    centos7.0下载: DVD ISO:  http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7.0-1406-x86_64-DVD ...

  3. mysql参数配置详情_MySQL配置文件mysql.ini参数详解、MySQL性能优化

    类型:数据库类大小:1.7M语言:英文 评分:6.6 标签: 立即下载 my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini ...

  4. mysql 缓冲查询_MySQL查询高速缓冲

    可以在SELECT语句中指定查询缓存相关选项: · SQL_CACHE 如果query_cache_type系统变量的值是ON或DEMAND,查询结果被缓存. · SQL_NO_CACHE 查询结果不 ...

  5. Mysql系列之 -配置详情

    Tip:生活不易,码农辛苦          我是小刀,在互联网中夹缝求生 我希望你开心- [client] #客户端设置,即客户端默认的连接参数 port = 3306 #默认连接端口 socket ...

  6. nginx的全局配置和HTTP相关配置

    目录 资源类型: 网站访问量 网站访问量统计的重要指标 HTTP1.0和1.1的问题 HTTP2协议 HTTP 请求访问的完整过程 HTTP 请求报文 http协议状态码分类 http协议常用的!!状 ...

  7. f5负载均衡配置文件服务器,f5 负载均衡 dns 服务器 配置

    f5 负载均衡 dns 服务器 配置 内容精选 换一换 查询负载均衡器状态树.可通过该接口查询负载均衡器关联的监听器.后端云服务器组.后端云服务器.健康检查.转发策略.转发规则的主要信息,了解负载均衡 ...

  8. Tomcat是什么:Tomcat与Java技、Tomcat与Web应用以及Tomcat基本框架及相关配置

    1.Tomcat是什么        Apache Tomcat是由Apache Software Foundation(ASF)开发的一个开源Java WEB应用服务器. 类似功能的还有:Jetty ...

  9. Linux DNS服务配置与管理详解

    域名系统 DNS 本章内容 -名字解析介绍 -DNS服务工作原理 -实现主服务器 -实现反向解析区域 -实现从服务器 -实现子域 -实现转发 -实现智能DNS -DNS排错 -实现Internet 的 ...

最新文章

  1. 按钮垂直居中_带下拉按钮的动态图表
  2. Java:定时启动线程
  3. Python面向对象---类的基本使用
  4. 【ABAP】报表进度提示
  5. NeurIPS 2020 | 利用像素级别循环一致性解决领域自适应语义分割问题
  6. Mysql Hunter
  7. Django模型层--多表操作
  8. c# 修饰词public, protected, private,internal的区别
  9. batch echo 输出空格(空行 空白行)
  10. Snmp网络协议及Java开发相关
  11. python成功之路,Day1-发展历史
  12. 更改swing应用程序标题栏默认图标
  13. Oracle、plsql安装以及使用教程
  14. chrome 打开默认页 被篡改_Chrome谷歌浏览器主页总被篡改怎么解决?
  15. 《使用Python进行自然语言处理》学习笔记六
  16. Aurora核使用中tx_dst_rdy信号拉低问题
  17. 如何实现接口统一入口_网易考拉Android App如何实现统一弹框
  18. 昆仑mcp文件是什么版本_高性价比重疾险昆仑健康保,12月31日截止投保,想要要趁早!...
  19. 【第39题】位与 的应用 | 一句话消除末尾连续的 1
  20. 8086cpu中的寄存器(cs、ds、es、ss、ip、sp、bp、si、di)

热门文章

  1. R语言is.na函数实战(删除、替换、统计、条件判断等)
  2. python判断二叉树是否为平衡二叉树
  3. 珍惜当下、Relish the Moment
  4. 阿里云 Linux指令入门-文件与权限
  5. 谭浩强《C++程序设计》学习
  6. 创建Student Course SC表
  7. Bowtie下载安装
  8. 我热爱计算机作文500字,电脑吸引了我
  9. Jupyter Notebook 的快捷键
  10. 快速目标检测--Object detection at 200 Frames Per Second