高速缓存服务器——dns
存储已经查找到的有效名和地址的DNS服务器,同时检测无效名和地址·任何DNS服务器可以缓冲数据,其中包括主、次和只高速缓存DNS服务器·
(零)dns服务的安装和介绍
1.介绍
BIND 是最广泛使用的开源名称服务器
在 RHEL 中 , 通过 bind 软件包提供
防火墙开启端口 53/TCP 和 53/UDPBIND
BIND的主配置文件是 /etc/named.conf
子配置文件 /etc/named.rfc1912.zones
/var/named 目录包含名称服务器所使用的其他数据文件
2.安装服务
*)[roo[email protected] ~]# yum install bind -y
*)启动服务
*)配置火墙
3.DNS查找
客户端上的 Stub 解析器 将查询发送至/etc/resolv.conf 中的名称服务器
如果名称服务器对于请求的信息具有权威性 , 会将权威答案发送至客户端
否则 , 如果名称服务器在其缓存中有请求的信息 , 则会将非权威答案发送至客户端
如果缓存只能该没有信息 , 名称服务器将搜索权威名称服务器以查找信息 , 从根区域开始 , 按照DNS 层次结构向下搜素 , 直至对于信息具有权威性的名称服务器 , 以此为客户端获得答案。
在此情况中名 ch 称服务器将信息传递至客户端并在自己的缓存中保留一个副本 , 以备以后查找
4.DNS 排错
显示来自 DNS 查找的详细信息 , 其中包括为什么查询失败 :
NOERROR : 查询成功
NXDOMAIN : DNS 服务器提示不存在这样的名称
SERVFAIL : DNS 服务器停机或 DNSSEC 响应验证失败
REFUSED : DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )
(一)非权威 / 递归名称服务器
非权威 / 递归名称服务器:
客户端通过其查找来自权威名称服务器的数据。递归名称服务器的类型包括仅缓存名称服务器 : 仅用于查找 , 对于非重要数据之外的任何内容都不具有权威性
一.仅高速缓存服务器
没有主、次区数据库功能的DNS服务器,这种服务器只用于缓冲已经解析的域名和地址,及相关的报错信息.
1.[[email protected] yum.repos.d]# vim /etc/named.conf ##编辑主配置文件修改配置
10 options {
11 listen-on port 53 { any; }; ##所有网络服务都开启53端口
12 listen-on-v6 port 53 { ::1; };
13 directory "/var/named";
14 dump-file "/var/named/data/cache_dump.db";
15 statistics-file "/var/named/data/named_stats.txt";
16 memstatistics-file "/var/named/data/named_mem_stats.txt";
17 allow-query { any; }; ##允许所有客户访问
2.[[email protected] yum.repos.d]# systemctl restart named ##重启服务使配置生效
3.测试
*)分别在两台客户主机修改其dns指向
[[email protected] ~]# vim /etc/resolv.conf
*)客户1
[[email protected] ~]# dig www.qq.com
* )客户2
[[email protected] ~]# dig www.qq.com
注:当缓存dns服务器中有之前解析过的域名之后 下一次解析速度加快
(二)权威名称服务器
*)存储并提供某区域 ( 整个 DNS 域或 DNS 域的一部分 ) 的实际数据。
*)权威名称服务器的类型包括:
Master : 包含原始区域数据。有时称作 “主要 ”名称服务器
Slave : 备份服务器 , 通过区域传送从 Master 服务器获得的区域数据的副本。有时称作 “次要 ”名称服务器
一.权威dns的正向解析
1.[[email protected] ~]# vim /etc/named.rfc1912.zones ##编辑子配置文件 添加想要维护的域
25 zone "lulubao.com" IN { ##域名 26 type master; ##域类型为权威域 27 file "lulubao.named.zone"; ##记录域信息的文件指向 28 allow-update { none; }; ##不允许任何人远程修改 29 };
2.创建并编辑记录域信息的文件
*)[[email protected] ~]# cd /var/named
*)[[email protected] named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
*)[[email protected] named]# cp named.localhost lulubao.named.zone -p
##复制模版 -p一同复制权限
*)[[email protected] named]# vim lulubao.named.zone ##编辑文件
1 $TTL 1D
2 @ IN SOA dns.lulubao.com. root.lulubao.com ( ##@表示文件中所有不是以“.”结尾的信息 都加上域名 SOA :” 授权起始 “ , DNS 区域的信息 ( 管理信息 )
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.lulubao.com. ##域名的名称服务器
9 www A 1.1.1.1 ##A : 名称至 IPv4 地址 AAAA : 名称至 IPv6 地址
10 dns A 1.1.1.2
3.[[email protected] named]# systemctl restart named ##重启服务更新配置
4.测试
二.权威dns的正向解析
1.[[email protected] named]# vim /etc/named.rfc1912.zones
43 zone "1.1.1.in-addr.arpa" IN {
44 type master;
45 file "lulubao.com.ptr";
46 allow-update { none; };
47 };
2.创建并编辑记录域信息的文件
*)[[email protected] named]# cp named.loopback lulubao.com.ptr -p
*)[[email protected] named]# vim lulubao.com.ptr
1 $TTL 1D
2 @ IN SOA dns.lulubao.com. root.lulubao.com. (
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS dns.lulubao.com.
9 dns A 1.1.1.2
10 1 PTR www.lulubao.com.
3.[[email protected] named]# systemctl restart named ##重启服务更新配置
4.测试
三.双向解析
不同网段的用户 通过dns服务器解析出的内容不同
1.[[email protected] named]# vim /etc/named.conf ##修改主配置文件
50 view localnet { ##配置某个网段的dns解析指向
51 match-clients {172.25.99.12;};
52 zone "." IN {
53 type hint;
54 file "named.ca";
55 };
56
57 include "/etc/named.rfc1912.zones"; ##172.25.99.12客户看这里
58 include "/etc/named.root.key";
59 };
60
61 view any {
62 match-clients {any;};
63 zone "." IN {
64 type hint;
65 file "named.ca";
66 };
67
68 include "/etc/named.rfc1912.zones.inter"; ##除12主机外的其他人 看这里
69 include "/etc/named.root.key";
70 };
2.创建并编辑除12主机外其他人看的子配置文件
*)[[email protected] named]# cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.inter -p
*)[[email protected] named]# vim /etc/named.rfc1912.zones.inter
25 zone "lulubao.com" IN {
26 type master;
27 file "lulubao.named.zone.inter";
28 allow-update { none; };
29 };
3.创建并编辑记录域信息的文件
*)[[email protected] named]# cp lulubao.named.zone lulubao.named.zone.inter -p
*)[[email protected] named]# vim lulubao.named.zone.inter
4.[[email protected] named]# systemctl restart named ##重启服务更新配置
5.测试
*)客户机12
*)其他客户主机
四.辅助dns
Slave : 备份服务器 , 通过区域传送从 Master 服务器获得的区域数据的副本。有时称作 “次要 ”名称服务器
1.配置好一台新的主机作为辅助dns服务器
*)安装服务
*)启动服务
*)关闭火墙
2.主dns的设定
[[email protected] named]# vim /etc/named.rfc1912.zones.inter
3.辅助dns设定
*)[[email protected] ~]# vim /etc/named.conf
*)[[email protected] ~]# vim /etc/named.rfc1912.zones
4.重启服务更新配置
*)[[email protected] named]# systemctl restart named
*)[[email protected] ~]# systemctl restart named
5.测试
(三)dns的远程更新
一.基于ip的dns远程更新
1. 主dns服务器的修改
*)[[email protected] ~]# vim /etc/named.rfc1912.zones.inter
25 zone "lulubao.com" IN {
26 type master;
27 file "lulubao.named.zone.inter";
28 allow-update { 172.25.99.12; }; ##允许12主机对这个域的dns解析内容进行远程更新
29 also-notify {172.25.99.12;};
30 };
*)[[email protected] named]# chmod g+w /var/named/
2.[[email protected] named]# systemctl restart named ##重启服务更新配置
3.测试
*)在远程主机上*)变化
1.可解析刚添加的网址
2.主dns服务器上多了一个以.jnl为后缀的文件
3.原文件内容没有显示修改 重启主dns服务时 更新文件内容
二.基于key的dns远程更新
相比基于ip的远程更新更安全
1.[[email protected] named]# cp /etc/rndc.key /etc/lulubao.key -p ##复制模版
2.[[email protected] named]# dnssec-****** -a HMAC-MD5 -b 128 -n HOST lulubao ##生成key
*)在文本界面敲击键盘生成乱码
*)依照乱码内容生成key文件
3.[[email protected] named]# cat Klulubao.+157+52889.key
lulubao. IN KEY 512 3 157 9ebDmvCB09OOP/uYqBYZNg==
4.[[email protected] named]# vim /etc/lulubao.key
5.[[email protected] named]# vim /etc/named.conf
6.[[email protected] named]# vim /etc/named.rfc1912.zones.inter
7.[[email protected] named]# scp Klulubao.+157+52889.* [email protected]:/mnt ##把key发给可以其他远程主机 使其可以远程编辑dns
8.[[email protected] named]# systemctl restart named ##重启服务更新配置
9.测试
(四)ddns 动态dns解析
DDNS是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
也就是说DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样其他上网用户就可以通过域名来进行交流。而最终客户所要记忆的全部,就是记住动态域名商给予的域名即可,而不用去管他们是如何实现的。
一.在主dns服务器中搭建一个dhcp服务器
1.*)[[email protected] named]# yum install dhcp -y
2.*)[[email protected] named]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
3.*)[[email protected] named]# vim /etc/dhcp/dhcpd.conf
7 option domain-name "lulubao.com";
8 option domain-name-servers 172.25.99.0;
14 ddns-update-style interim;
删除26 27行 35行之后
30 subnet 172.25.99.0 netmask 255.255.255.0 {
31 range 172.25.99.20 172.25.99.30;
32 option routers 172.25.99.11;
33 }
写入
35 key "lulubao" {
36 algorithm hmac-md5;
37 secret "zaJfDPl6bbSs3gJ+o/+BYQ==";
38 };
39
40 zone lulubao.com. {
41 primary 127.0.0.1;
42 key lulubao;
43}
4.重其服务更新配置