DNS 总揽
权威名称服务器
– 存储并提供某区域 ( 整个 DNS 域或 DNS 域的一部分 ) 的实际数据。权威名称服
务器的类型包括
Master : 包含原始区域数据。有时称作 “ 主要 ” 名称服务器
Slave : 备份服务器 , 通过区域传送从 Master 服务器获得的区域数据的副本。有时称作 “ 次要 ” 名称服务
器
非权威 / 递归名称服务器
– 客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括
仅缓存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具有权威性
DNS 查找
客户端上的 Stub 解析器 将查询发送至 /etc/resolv.conf 中的名称服务器
如果名称服务器对于请求的信息具有权威性 , 会将权威答案发送至客户端
否则 , 如果名称服务器在其缓存中有请求的信息 , 则会将非权威答案发送至客户端
如果缓存只能该没有信息 , 名称服务器将搜索权威名称服务器以查找信息 , 从根区域开始 , 按照
DNS 层
次结构向下搜素 , 直至对于信息具有权威性的名称服务器 , 以此为客户端获得答案。在此情况中
, 名 ch 称服务器将信息传递至客户端并在自己的缓存中保留一个副本 , 以备以后查找
www.westos.org
1 .DNS(域名服务器)
DNS(Domain Name Server,域名服务器)是进行域名和与之对应的IP地址转化的服务器。DNS中保存了一张域名和与之对应的IP地址的表,以解析消息的域名。2.DNS高速缓存的作用
当某一个访问请求解析过一个域名以后,该解析记录就放在缓存中,以后在有同样的解析请求,就直接从缓存中提供结果,加快了访问者的应答速度。
3.配置DNS服务
在配置DNS缓存之前,最好关闭掉防火墙
systemctl stop firewalld.server
1.高速缓存DNS
(1)用yum search DNS找到软件 :
bind软件的配置文件/etc/named.conf :
用cat /etc/services | grep name 查看name端口,DNS对应的端口为53号端口,在本地回环接口和本地IP都开放53号端口。如果之开放本地回环接口的53号端口,则其他主机无法访问。
默认情况下,本地回环端口开放了53号端口。
继续编辑/etc/named.conf
允许所有网络访问,设置上一级DNS
DNS不验证:
编辑/etc/resolv.conf 添加 :
最后 systemctl restart named重启服务,
就配置完成高速缓存DNS了。
编辑/etc/named.conf 删除刚才配置的上一层DNS
“forwarders { 172.25.254.254; };”
在配置文件最后我们可以看到配置“域”文件:
编辑/etc/named.rfc1912.zones文件添加域名为“redhat.com”域:
(可以复制本地域(zone“localhost”IN的结构体)的配置加以修改)
“redhat.com”为我新添加的域,他会读取”redhat.com.zone文件”
cd /var/named/下创建文件。
cd /var/named/ 可以复制本身提供的模版文件,复制时一定要加参数-p,将文件的信息也复制。
编辑redhat.com.zone 区域数据文件:
蓝色部分最后面有一个“.” 如果不写点系统会自动补齐在配置域文件中新加的域名,所以要么只写“dns”,要么写“dns.redhat.com.” 。
验证正向解析DNS是否配置成功,文件配置完成要重启服务:
systemctl restart named。
这里用IP为172.25.14.11的客户机验证,编辑客户机的
/etc/resolv.conf 添加:
然后 dig www.redhat.com 这个刚刚设置的域名
如果ANSWER SECTION 是我们设置的172.25.254.14 ,就说明我们这个正向解析DNS配置成功!
在dig dns.redhat.com试试,回答的IP正是刚才配置的IP
3.反向解析dns
(1)编辑配置文件/etc/name.rfc1912.zones添加反解的域:
注意:172.25.14网段应反着写为:14.25.172。
(2)cd /var/named/ 可以复制本身提供的模版文件,复制时一定要加参数-p,将文件的信息也复制:
(3)重启DNS服务。systemctl restart named。
(4)利用刚才的客户机验证服务配置是否正确
反向解析dig -x 172.25.14.100 (不要忘记参数-x)
ANSWER SECTION成功解析出www.redhat.com。
4.dns的更新
(1)先备份文件。
(2)编辑文件/etc/named.rfc1912.zones,在redhat.com域名的结构体设置允许更新主机的IP,并且重启服务。
(3)设置权限。
既然需要其他主机更改主服务器上的数据,所以就要设置/var/named/目录的权限。这个目录的所有组时named 。
(4)设置Selinux防火墙。
(5)检查。
就会没有解析结果:
然后在添加一个域名:
在去解析dig www.redhat.com 就会得到正确解析:
4.dnskey的更新
(1)make keyfile
(2)make key configfile
通过cat 刚才生成的密钥,得到密码然后设置.key文件 :
密码一定要一致,刚起的名字redhat
(3)config dns
第43行:include "/etc/redhat.key";
(4)检查:
nsupdate -k *.private
正确解析出了结果,说明动态更新DNS配置正确。
Kddns.+157+59812.key
Kddns.+157+59812.private
(2)查看所生成的秘钥:
Algorithm: 157 (HMAC_MD5)
Key: R4G16tKxFFBpsPkUyNDWAw==
(3)编辑文件named.conf:
algorithm hmac-md5;
secret R4G16tKxFFBpsPkUyNDWAw==;
};
zone "example.com" {
type master;
file "example.com.zone";
allow-update { key ddns; };
};
zone "0.168.192.in-addr.arpa" {
type master;
file "example.com.local";
allow-update { key ddns; };
};
(4) 设置权限目录:
ddns-update-style interim;
key ddns {
algorithm hmac-md5;
secret R4G16tKxFFBpsPkUyNDWAw==;
};
zone example.com. {
key ddns;
}
zone 0.168.192.in-addr.arpa. {
primary 127.0.0.1;
key ddns;
}
(4)检查:
编辑配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0,修改并保存退出。(其余行可删掉) DEVICE=eth0