DNS域名系统

来源:互联网 发布:数据库安装教程 编辑:程序博客网 时间:2024/06/08 16:58

DNS总揽

权威名称服务器
– 存储并提供某区域 ( 整个 DNS 域或 DNS 域的一部分 ) 的实际数据。权威名称服 务器的类型包括
• Master : 包含原始区域数据。有时称作“主要”名称服务器
slave : 备份服务器 , 通过区域传送从 Master 服务器获得的区域数据的副本。有时称作“次要”名称服务器
• 非权威 / 递归名称服务器
– 客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括 • 仅缓存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具有权威性
• DNS查找
– 客户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器
– 如果名称服务器对于请求的信息具有权威性 , 会将权威答案发送至客户端
– 否则 , 如果名称服务器在其缓存中有请求的信息 , 则会将非权威答案发送至客户端
– 如果缓存只能该没有信息 , 名称服务器将搜索权威名称服务器以查找信息 , 从根区域开始 , 按照 DNS 层
– 次结构向下搜素 , 直至对于信息具有权威性的名称服务器 , 以此为客户端获得答案。在此情况中 , 名 ch 称服务器将信息传递至客户端并在自己的缓存中保留一个副本 , 以备以后查找

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 : 提供的其他信息 , 通常是关于名 称服务器
– 底部的注释指出发送查询的递归名称服务器以 及获得响应所花费的时间

配置文件/etc/named.conf的语法

// 或 # 至行末尾是注释 ;/* 与 */ 之间的文本也 是注释 ( 可以跨越多行 )
指令以分号结束 (;)
许多指令认为地址匹配列表放在大括号中、以 CIDR 表示法表示的 IP 地址或子网列表中 , 或者 命名的ACL 中(例如 any;[ 所有主机 ] 和 none;[ 无主机 ])
文件以 options 块开始 , 其中包含控制 named 如何运作的指令
zone 块控制 named 如何查对于其具有权威性的 根名称服务器和区域

高速缓存DNS服务的配置

安装服务后关闭防火墙,然后开启服务

yum install bind.x86_64 -ysystemctl stop firewalldsystemctl start named

开启服务时需要一边把键盘随便按几下,因为不按的话是不会生成加密的。。。
这里写图片描述
进入主配置文件修改

 vim /etc/named.conf 

这里写图片描述
12,19行中修改为any(注意分号)

这里写图片描述
20行添加权威服务器的ip

systemctl restart named

这里写图片描述
如果重启出错,得查看日志文件及时排错

cat /var/log/messages

随后进入客户机中
修改文件,让其寻求服务端解析dns

vim /etc/resolv.conf

这里写图片描述

然后进行dig

dig www.baidu.com

这里写图片描述
域名解析成功

自行配置DNS的过程

先进入主配置文件中修改

vim /etc/named.conf 

加入自己的解析文件指向
这里写图片描述
当然如果每个域名都得加到主配置文件后头会使得主配置文件特别的复杂
我们可以将其写入
/etc/named.rfc1912.zones 文件中

vim /etc/named.rfc1912.zones 

添加如下
这里写图片描述
进入/var/named,开始编写westos.com.zone文件

cd /var/named/cp -p named.localhost westos.com.zonevim westos.com.zone 

编写如下(注意‘.’这个符号 如果不加上的话,会自动补齐)

这里写图片描述
重启服务

systemctl restart named

然后

dig www.westod.com

这里写图片描述

DNS多向解析

如果是不同的网段的域名,我们需要对其进行多向解析,这时就能用到视图的方法。
配置过程
进入/var/named的目录下,编写自己另一个网段的DNS的文件

cd /var/named/cp -p westos.com.zone westos.com.intervim westos.com.inter 

编辑如下
这里写图片描述
同样的在之前配置自己的dns中,我们还需要再编写一个文件

cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.intervim /etc/named.rfc1912.inter

其中编写如下
这里写图片描述
最后我们到主配置文件修改视图

vim /etc/named.conf

这里写图片描述
最后重启服务

systemctl restart named

然后在不同的网段进行dig可以有不同的结果

DNS逆向解析

vim /etc/named.rfc1912.zones

修改配置文件如下
编写如下
这里写图片描述
然后编写反向解析的文件

cp -p named.loopback westos.com.ptrvim westos.com.ptr

这里写图片描述

重启服务

systemctl restart named

然后使用dig

dig 172.25.254.111

这里写图片描述

DNS的更新

在更新之前最好备份一下我们可以进行以下操作

cp -p /var/named/westos.com.zone /mnt/

这里写图片描述

修改文件中,将allow-update改为你想让其更新的客户的ip地址
这里写图片描述
为了权限的保证和防止SELINUX对其进行拦截,我们应当设置目录的权限和设置SELINUX的bool值

chmod 770 /var/named/setsebool -P named_write_master_zones 1

然后重启服务后,进入你所指定的客户机可以进行简单的测试

nsupdate > server 172.25.254.111> update add hello.westos.com 86400 A 172.25.254.222> send

最后使用dig
这里写图片描述

DNS的加密

进入mnt目录下使用 dnssec-keygen生成钥匙,然后查看密码

cd mnt/dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westoskeycat Kwestoskey.+157+21835.key 

这里写图片描述
编写钥匙文件

cp -p /etc/rndc.key /etc/westoskeyvim /etc/westoskey 

这里写图片描述
修改主配置文件

vim /etc/named.conf

这里写图片描述
修改zone文件

vim /etc/named.rfc1912.zones

如下
这里写图片描述

可以将钥匙发送给你所许可的客户,让其可以对你的dns有修改的权限

scp Kwestoskey.+157+21835.* root@172.25.254.211:/mnt/
0 0
原创粉丝点击