欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DNS域名系统

程序员文章站 2022-07-09 22:44:32
...

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 -y
systemctl stop firewalld
systemctl start named

开启服务时需要一边把键盘随便按几下,因为不按的话是不会生成加密的。。。
DNS域名系统
进入主配置文件修改

 vim /etc/named.conf 

DNS域名系统
12,19行中修改为any(注意分号)

DNS域名系统
20行添加权威服务器的ip

systemctl restart named

DNS域名系统
如果重启出错,得查看日志文件及时排错

cat /var/log/messages

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

vim /etc/resolv.conf

DNS域名系统

然后进行dig

dig www.baidu.com

DNS域名系统
域名解析成功

自行配置DNS的过程

先进入主配置文件中修改

vim /etc/named.conf 

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

vim /etc/named.rfc1912.zones 

添加如下
DNS域名系统
进入/var/named,开始编写westos.com.zone文件

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

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

DNS域名系统
重启服务

systemctl restart named

然后

dig www.westod.com

DNS域名系统

DNS多向解析

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

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

编辑如下
DNS域名系统
同样的在之前配置自己的dns中,我们还需要再编写一个文件

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

其中编写如下
DNS域名系统
最后我们到主配置文件修改视图

vim /etc/named.conf

DNS域名系统
最后重启服务

systemctl restart named

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

DNS逆向解析

vim /etc/named.rfc1912.zones

修改配置文件如下
编写如下
DNS域名系统
然后编写反向解析的文件

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

DNS域名系统

重启服务

systemctl restart named

然后使用dig

dig 172.25.254.111

DNS域名系统

DNS的更新

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

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

DNS域名系统

修改文件中,将allow-update改为你想让其更新的客户的ip地址
DNS域名系统
为了权限的保证和防止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域名系统

DNS的加密

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

cd mnt/
dnssec-****** -a HMAC-MD5 -b 128 -n HOST westoskey
cat Kwestoskey.+157+21835.key 

DNS域名系统
编写钥匙文件

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

DNS域名系统
修改主配置文件

vim /etc/named.conf

DNS域名系统
修改zone文件

vim /etc/named.rfc1912.zones

如下
DNS域名系统

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

scp Kwestoskey.+157+21835.* root@172.25.254.211:/mnt/
相关标签: dns 服务器