学习运维——高速缓存DNS的服务配置
来源:互联网 发布:如何预防网络安全隐患 编辑:程序博客网 时间:2024/05/14 09:27
DNS高速缓存:
一、原理
DNS解析过程:
主机向本地域名服务器的查询一般都是采用递归查询。所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。
当一个DNS服务器接收一个DNS回答时,DNS服务器能够将回答中的信息缓存在本地存储器。如果在DNS服务器中缓存了一个主机名/IP地址对,另一个对相同主机名的查询到达该DNS服务器时,该服务器能够提供所要求的IP。由于主机和主机名与IP地址间的映射绝不是永久的,所以DNS服务器在一段时间后(通常设置为两天)将丢弃缓存的信息。
BIND的组成?
- named守护进程–用来回答查询结果的
- 去联系DNS分布式数据库的服务器用来解析主机查询的库例程
- DNS的一些重要命令:nslookup,dig和host
/etc/rndc.key介绍:
rndc(Remote Name Domain Controllerr)是一个远程管理bind的工具,通过这个工具可以在本地或者远程了解当前服务器的运行状况,也可以对服务器进行关闭、重载、刷新缓存、增加删除zone等操作。
使用rndc可以在不停止DNS服务器工作的情况进行数据的更新,使修改后的配置文件生效。在实际情况下,DNS服务器是非常繁忙的,任何短时间的停顿都会给用户的使用带来影响。因此,使用rndc工具可以使DNS服务器更好地为用户提供服务。在使用rndc管理bind前需要使用rndc生成一对密钥文件,一半保存于rndc的配置文件中,另一半保存于bind主配置文件中。rndc的配置文件为/etc/rndc.conf,在CentOS或者RHEL中,rndc的密钥保存在/etc/rndc.key文件中。rndc默认监听在953号端口(TCP),其实在bind9中rndc默认就是可以使用,不需要配置密钥文件。
rndc与DNS服务器实行连接时,需要通过数字证书进行认证,而不是传统的用户名/密码方式。在当前版本的rndc 和 named中,唯一支持的认证算法是HMAC-MD5,在连接的两端使用共享密钥。它为命令请求和名字服务器的响应提供 TSIG类型的认证。所有经由通道发送的命令都必须被一个服务器所知道的 key_id 签名。为了生成双方都认可的密钥,可以使用rndc-confgen命令产生密钥和相应的配置,再把这些配置分别放入named.conf和rndc的配置文件rndc.conf中。
/dev/random介绍:
/dev/random和/dev/urandom是Linux系统中提供的随机伪设备,这两个设备的任务,是提供永不为空的随机字节数据流。很多解密程序与安全应用程序(如SSH Keys,SSL Keys等)需要它们提供的随机数据流。
/etc/named.conf参数解释:
listen-on port 监听DNS查询请求的本机IP地址及端口
listen-on port 53 { any; };监听在53端口上并且允许任何ip来访问
listen-on port 53 { 127.0.0.1; };监听在53端口并且只允许本机的其他应用程序来访问
directory 指定区域配置文件所在的目录
allow-query { IP1;ip2;ipn.. };指定接受DNS查询请求的客户端
allow-query { 192.168.0.101;192.168.1.1; };只允许这两个地址查询
allow-recursion 指定允许提交递归查询的客户端,allow-query和allow-recursion区别在于allow-recursion 不负责提交迭代查询
forwarders 指定转发服务器
forwarders { 1.1.1.1; }; 凡是在本机上查询不到的都转发到1.1.1.1上
allow-transfer 允许区域传输的辅助区域
serial-query-rate 辅助服务器将会定时查询主域名服务器
/var/named/westos.com.zone文件 :
@ IN SOA dns.wqmsl.com. root.wqmsl.com.( // SOA表示授权开始
/* 上面的IN表示后面的数据使用的是INTERNET标准。而@则代表相应的域名,如在这里代表test.net,即表示一个域名记录定义的开始。
而 linux.test.net则是这个域的主域名服务器,而webmaster.test.net则是管理员的邮件地址。
注意这是邮件地址中用来代替常见的邮件地址中的@.而SOA表示授权的开始
*/
2003012101 ; serial (d. adams) /*本行前面的数字表示配置文件的修改版本,格式是年月日当日修改的修改的次数,
每次修改这个配置文件时都应该修改这个数字,要不然你所作的修改不会更新到网上的其它DNS服务器的数据库上,
即你所做的更新很可能对于不以你的所配置的DNS服务器为DNS服务器的客户端来说就不会反映出你的更新,
也就对他们来说你更新是没有意义的。
*/
28800 ; refresh
/*定义的是以为单位的刷新频率 即规定从域名服务器多长时间查询一个主服务器,以保证从服务器的数据是最新的
*/
7200 ;retry
/*上面的这个值是规定了以秒为单位的重试的时间间隔,即当从服务试图在主服务器上查询更时,而连接失败了,
则这个值规定了从服务多长时间后再试
*/
3600000 ; expiry
/*上面这个用来规定从服务器在向主服务更新失败后多长时间后清除对应的记录,上述的数值是以分钟为单位的
*/
8400 )
/*上面这个数据用来规定缓冲服务器不能与主服务联系上后多长时间清除相应的记录
*/
IN NS wqmsl
IN MX 10 mail.wqmsl.com.
linux IN A 168.192.0.14
it-test1 IN A 168.192.0.133
www IN CNAME wqmsl
/*上面的第一列表示是主机的名字,省去了后面的域。
NS:表示是这个主机是一个域名服务器,
A:定义了一条A记录,即主机名到IP地址的对应记录
MX 定义了一邮件记录
CNAME:定义了对应主机的一个别名
主机记录(A记录):A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。
域名服务器记录(NS记录):用来指定某域名由哪个DNS服务器来进行解析。
别名记录(CNAME记录): 用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。
邮件交换记录(MX记录):用于电子邮件程序发送邮件时根据收信人的地址后缀来定位邮件服务器。
IPv6主机记录(AAAA记录): 与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。
服务位置记录(SRV记录): 用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等。
反向解析记录(PTR记录):用于将一个IP地址映射到对应的域名,也可以看成是A记录的反向,IP地址的反向解析。
NAPTR记录: 它提供了正则表达式方式去映射一个域名。NAPTR记录非常著名的一个应用是用于ENUM查询。
目前互联网上最为广泛的DNS服务器为bind,我们来看bind的安装和一些基本配置:
1.安装bind
[root@dns-server ~]# yum install bind
2.启动服务
[root@dns-server ~]# systemctl start named
启动服务时,服务可能迟迟没有启动起来,/dev/random设备会返回小于熵池噪声总数的随机字节。/dev/random可生成高随机性的公钥或一次性密码本。若熵池空了,对/dev/random的读操作将会被阻塞,直到收集到了足够的环境噪声为止,所以无法生成/etc/rndc.key,这时我们可以在真机上随意敲动键盘,或是点击鼠标,就可以让服务启动起来
服务启动起来之后就可以看到,有/etc/rndc.key这个文件了
[root@dns-server ~]# cat /etc/rndc.key
key "rndc-key" {
algorithm hmac-md5;
secret "vhAC1Az6hr3HVkxxT5LjEw==";
};
rndc.key用来控制 named 或修改 record 时作身份时别用的
此时我们可以在客户端主机上进行测试:
1.先修改客户端主机的/etc/resolv.conf
nameserver 172.25.254.190
2.[root@foundation90 ~]# dig www.baidu.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.baidu.com
;; global options: +cmd
;; connection timed out; no servers could be reached
连接超时:1>防火墙
在DNS服务器上,设置防火墙允许DNS服务
[root@dns-server ~]# firewall-cmd --permanent --add-service=dns
success
[root@dns-server ~]# firewall-cmd --reload
success
[root@dns-server ~]# firewall-cmd --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client dns http https ssh
ports: 8080/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
现在再来测试:
[root@foundation90 ~]# dig www.baidu.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.baidu.com
;; global options: +cmd
;; connection timed out; no servers could be reached
依然连接超时,2>DNS服务器的对外端口开了没有
[root@dns-server ~]# netstat -antulpe | grep named
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 25 40307 2679/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 25 40302 2679/named
tcp6 0 0 ::1:953 :::* LISTEN 25 40308 2679/named
tcp6 0 0 ::1:53 :::* LISTEN 25 40304 2679/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 25 40301 2679/named
udp6 0 0 ::1:53 :::* 25 40303 2679/named
我们可以看到没有对外开放,他只对内开放
所以接下来修改服务配置文件/etc/named.conf
listen-on port 53 { 127.0.0.1; };将这行修改为
listen-on port 53 { any; };
重启服务:
[root@dns-server ~]# systemctl restart named
再到客户端测试:
[root@foundation90 ~]# dig www.baidu.com
status: REFUSED,
依然拒绝:再来修改配置文件/etc/named.conf
allow-query { any; };
forwarders { 172.25.254.250; }; 当自己不知道,该去问谁
再到客户端测试:
[root@foundation90 ~]# dig www.baidu.com
status: SERVFAIL,这是我们再看一次服务器的named的端口开放
[root@dns-server ~]# netstat -antulpe | grep named
可以发现端口已经开放
udp 0 0 172.25.254.190:53 0.0.0.0:* 25 55151 4484/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 25 55149 4484/named
udp 0 0 172.25.254.190:13095 192.5.5.241:53 ESTABLISHED 25 56666 4484/named
udp 0 0 172.25.254.190:55698 192.5.5.241:53 ESTABLISHED 25 56664 4484/named
udp6 0 0 ::1:53 :::* 25 55153 4484/named
二、DNS正向解析
DNS的一些文件:
/etc/named.conf:DNS全局配置文件
zone "." IN {定义域区,一个zone关键字定义一个域区
type hint; //类型有三种:
master:主域名服务器
slave:辅助域名服务器
hint:互联网中根域名服务器
file "named.ca";//制定具体存放DNS记录的文件
}
/var/named/named.ca:执行根域名服务器的指示文件
/var/named/named.local:用于本地回环地址解析的文件
/var/named/localhost.zone:用于本地回环地址解析的文件
/var/named/domainname.zone:用户建立本地主机区域数据库文件
1.[root@dns-server ~]# vim /etc/named.rfc1912.zones
zone "westoslinux.com" IN {
type master;
file "westoslinux.com.zone";
allow-update { none; };
};
2.[root@dns-server ~]# cd /var/named/
3.[root@dns-server named]# cp -p named.localhost westoslinux.com.zone
4.[root@dns-server named]# vim westoslinux.com.zone
$TTL 1D
@ IN SOA www.westoslinux.com. root.westoslinux.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS www.westoslinux.com.
www A 172.25.254.190
wuwu A 172.25.254.111
5.[root@dns-server named]# systemctl restart named
6.在客户端上测试(前提是客户端/etc/resolv.conf配置正确)
[root@foundation90 ~]# dig www.westoslinux.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.westoslinux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28050
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.westoslinux.com. IN A
;; ANSWER SECTION:
www.westoslinux.com. 86400 IN A 172.25.254.190
;; AUTHORITY SECTION:
westoslinux.com. 86400 IN NS www.westoslinux.com.
;; Query time: 1 msec
;; SERVER: 172.25.254.190#53(172.25.254.190)
;; WHEN: Thu Mar 09 19:05:24 CST 2017
;; MSG SIZE rcvd: 78
三、DNS反向解析
1.[root@dns-server named]# vim /etc/named.rfc1912.zones
zone "254.25.172.in-addr.arpa" IN {
type master;
file "westoslinux.com.ptr";
allow-update { none; };
};
2.[root@dns-server named]# cd /var/named
3.[root@dns-server named]# cp -p named.loopback westoslinux.com.ptr
4.[root@dns-server named]# vim westoslinux.com.ptr
$TTL 1D
@ IN SOA happy.westoslinux.com. root.westoslinux.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS happy.westoslinux.com
happy A 172.25.254.190
222 PTR kk.westoslinux.com
5.重启服务
[root@dns-server named]# systemctl restart named
6.在客户端测试
[root@foundation90 ~]# dig -x 172.25.254.222
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> -x 172.25.254.222
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4916
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;222.254.25.172.in-addr.arpa. IN PTR
;; ANSWER SECTION:
222.254.25.172.in-addr.arpa. 86400 IN PTR kk.westoslinux.com.254.25.172.in-addr.arpa.
;; AUTHORITY SECTION:
254.25.172.in-addr.arpa. 86400 IN NS happy.westoslinux.com.
;; Query time: 1 msec
;; SERVER: 172.25.254.190#53(172.25.254.190)
;; WHEN: Thu Mar 09 19:21:32 CST 2017
;; MSG SIZE rcvd: 124
四、DNS域名转换
1.修改区域数据配置文件
[root@dns-server named]# vim westoslinux.com.zone
$TTL 1D
@ IN SOA www.westoslinux.com. root.westoslinux.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS www.westoslinux.com.
www A 172.25.254.190
wuhui CNAME wuwu.westoslinux.com.
wuwu A 172.25.254.111
2.重启服务
[root@dns-server named]# systemctl restart named
3.在客户端上测试
[root@foundation90 ~]# dig wuhui.westoslinux.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> wuhui.westoslinux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50002
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wuhui.westoslinux.com. IN A
;; ANSWER SECTION:
wuhui.westoslinux.com. 86400 IN CNAME wuwu.westoslinux.com.
wuwu.westoslinux.com. 86400 IN A 172.25.254.111
;; AUTHORITY SECTION:
westoslinux.com. 86400 IN NS www.westoslinux.com.
;; ADDITIONAL SECTION:
www.westoslinux.com. 86400 IN A 172.25.254.190
;; Query time: 1 msec
;; SERVER: 172.25.254.190#53(172.25.254.190)
;; WHEN: Thu Mar 09 19:50:00 CST 2017
;; MSG SIZE rcvd: 119
五、DNS轮询机制
DNS轮询就是指DNS服务器将域名解析请求按照A记录的顺序,逐一分配到不同的IP上,同时在一定程度上也实现了简单的负载均衡。
1.修改区域数据配置文件
[root@dns-server named]# vim westoslinux.com.zone
$TTL 1D
@ IN SOA www.westoslinux.com. root.westoslinux.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS www.westoslinux.com.
www A 172.25.254.190
wuwu A 172.25.254.111
A 172.25.254.112
A 172.25.254.113
一个域名对应3个ip,此时具体选择哪一条A记录,是由rrset-order语句决定的。另外,在反向解析文件中,这3个IP也都要对应wuwu主机,以免有些邮件服务器为了反垃圾邮件进行反向查询时出现问题。
rrset-order 支持三个参数:fixed, random, cyclic 。
fixed 将多个A记录按配置文件的顺序固定给出
random 随机给出
cyclic 循环给出
注:rrset-order语句并不被BIND9支持,BIND9目前只支持"random-cyclic"排序,服务器随机选择RRset集中的开始点,有顺序返回在那个点开始的记录
2.重启服务
[root@dns-server named]# systemctl restart named
3.在客户端测试
[root@foundation90 ~]# dig wuwu.westoslinux.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> wuwu.westoslinux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46831
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wuwu.westoslinux.com. IN A
;; ANSWER SECTION:
wuwu.westoslinux.com. 86400 IN A 172.25.254.113
wuwu.westoslinux.com. 86400 IN A 172.25.254.112
wuwu.westoslinux.com. 86400 IN A 172.25.254.111
;; AUTHORITY SECTION:
westoslinux.com. 86400 IN NS www.westoslinux.com.
;; ADDITIONAL SECTION:
www.westoslinux.com. 86400 IN A 172.25.254.190
;; Query time: 1 msec
;; SERVER: 172.25.254.190#53(172.25.254.190)
;; WHEN: Thu Mar 09 20:00:10 CST 2017
;; MSG SIZE rcvd: 131
六、邮件服务器
1.修改区域数据配置文件
[root@dns-server named]# vim westoslinux.com.zone
$TTL 1D
@ IN SOA www.westoslinux.com. root.westoslinux.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS www.westoslinux.com.
www A 172.25.254.190
wuwu A 172.25.254.111
A 172.25.254.112
A 172.25.254.113
westoslinux.com. MX 1 172.25.254.90.
2.重启服务
[root@dns-server named]# systemctl restart named
3.在客户端上测试
[root@foundation90 ~]# mail root@westoslinux.com
Subject: sdfs]
sfds
.
EOT
[root@foundation90 ~]# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
4FF78185D5F68 472 Thu Mar 9 20:19:18 root@foundation90.ilt.example.com
(connect to 172.25.254.90[172.25.254.90]:25: Connection refused)
root@westoslinux.com
-- 0 Kbytes in 1 Request.
出错:
[root@foundation90 ~]# mailq
Mail queue is empty
配置文件没有写对
westoslinux.com. MX 1 172.25.254.90.
这个地方写成了westoslinux.com. MX 1 172.25.254.90
六、DNS集群
我们上面已经有了主DNS服务器,现在我们先配置一台辅助DNS服务器
首先做的两件事:
1.设置一个与主DNS服务器在同一网段的ip
2.修改主机名
[root@localhost ~]# hostnamectl set-hostname dns-server2.example.com
开始配置辅助DNS服务器:
1.安装bind
[root@dns-server2 ~]# yum install bind
2.开启服务
[root@dns-server2 ~]# systemctl start named
3.设置DNS服务能通过防火墙
[root@dns-server2 ~]# firewall-cmd --permanent --add-service=dns
success
[root@dns-server2 ~]# firewall-cmd --reload
success
[root@dns-server2 ~]# firewall-cmd --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client dns ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
4.修改配置文件
[root@dns-server2 ~]# vim /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
forwarders { 172.25.254.190; }; ##如果我不知道,我就去问172.25.254.190
5.在客户端测试
[root@foundation90 ~]# dig www.westoslinux.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.westoslinux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 24436
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;www.westoslinux.com. IN A
;; AUTHORITY SECTION:
com. 900 IN SOA a.gtld-servers.net. nstld.verisign-grs.com. 1489063589 1800 900 604800 86400
;; Query time: 495 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Thu Mar 09 20:46:50 CST 2017
;; MSG SIZE rcvd: 110
如果出现这种无法解析的情况:
[root@foundation90 ~]# dig www.westoslinux.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.westoslinux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 46664
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.westoslinux.com. IN A
;; AUTHORITY SECTION:
com. 31 IN SOA a.gtld-servers.net. nstld.verisign-grs.com. 1489063589 1800 900 604800 86400
;; Query time: 147 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Thu Mar 09 21:41:40 CST 2017
;; MSG SIZE rcvd: 121
解决办法:修改辅助DNS的配置文件
dnssec-validation no;
七、DNS集群之主从DNS同步
1.配置主DNS
1>修改DNS配置
[root@dns-server ~]# vim /etc/named.rfc1912.zones
zone "westoslinux.com" IN {
type master;
file "westoslinux.com.zone";
allow-update { none; };
allow-transfer { 172.25.254.191; };
};
zone "254.25.172.in-addr.arpa" IN {
type master;3>重启服务
file "westoslinux.com.ptr";
allow-update { none; };
allow-transfer { 172.25.254.191; };
};
2>重启服务
[root@dns-server named]# systemctl restart named
2.配置辅助DNS
1>修改DNS配置
上面配置辅助DNS时我们在/etc/named.conf中写了
forwarders { 172.25.254.190; };
我们需要把这句删掉或注释掉//;
2>修改区域数据配置文件
[root@dns-server2 ~]# vim /etc/named.rfc1912.zones
zone "westoslinux.com" IN {
type slave;
masters { 172.25.254.190; };
file "slaves/westoslinux.com.zone";
allow-update { none; };
};
3>重启服务
[root@dns-server2 ~]# systemctl restart named
3.在客户端测试
修改客户端的DNS服务器为辅助DNS服务器
[root@foundation90 ~]# dig www.westoslinux.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.westoslinux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55070
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.westoslinux.com. IN A
;; ANSWER SECTION:
www.westoslinux.com. 86400 IN A 172.25.254.190
;; AUTHORITY SECTION:
westoslinux.com. 86400 IN NS www.westoslinux.com.
;; Query time: 1 msec
;; SERVER: 172.25.254.191#53(172.25.254.191)
;; WHEN: Thu Mar 09 22:00:52 CST 2017
;; MSG SIZE rcvd: 78
看辅助DNS服务器的/var/named/slaves
[root@dns-server2 slaves]# ls
westoslinux.com.zone
八、DNS集群之主DNS更新辅助DNS
1.配置主DNS
先把/var/named/slaves/westoslinux.com.zone删掉
1>修改DNS配置
[root@dns-server ~]# vim /etc/named.rfc1912.zones
zone "westoslinux.com" IN {
type master;
file "westoslinux.com.zone";
allow-update { none; };
allow-transfer { 172.25.254.191; };
also-notify { 172.25.254.191; };
};
修改某个域名的ip,而且必须把下面高亮显示的参数改变,值随便
[root@dns-server named]# vim westoslinux.com.zone
$TTL 1D
@ IN SOA www.westoslinux.com. root.westoslinux.com. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS www.westoslinux.com.
www A 172.25.254.19
wuwu A 172.25.254.211
A 172.25.254.212
A 172.25.254.213
westoslinux.com. MX 1 172.25.254.90.
2>重启服务
[root@dns-server named]# systemctl restart named
辅助DNS也要重启辅助DNS
2.在客户端测试
修改客户端的DNS服务器为辅助DNS服务器
[root@foundation90 ~]# dig www.westoslinux.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.westoslinux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55070
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.westoslinux.com. IN A
;; ANSWER SECTION:
www.westoslinux.com. 86400 IN A 172.25.254.19
;; AUTHORITY SECTION:
westoslinux.com. 86400 IN NS www.westoslinux.com.
;; Query time: 1 msec
;; SERVER: 172.25.254.191#53(172.25.254.191)
;; WHEN: Thu Mar 09 22:00:52 CST 2017
;; MSG SIZE rcvd: 78
看辅助DNS服务器的/var/named/slaves
[root@dns-server2 slaves]# ls
westoslinux.com.zone
九、DNS集群之辅助DNS更新主DNS
1.配置主DNS
先把/var/named/slaves/westoslinux.com.zone删掉
1>修改DNS配置
1.配置文件:
[root@dns-server named]# vim /etc/named.rfc1912.zones
zone "westoslinux.com" IN {
type master;
file "westoslinux.com.zone";
allow-update { 172.25.254.229; };
allow-transfer { 172.25.254.229; };
also-notify { 172.25.254.229; };
};
2.[root@dns-server named]# chmod 770 /var/named
3.[root@dns-server named]# setsebool -P named_write_master_zones 1
2>重启服务
[root@dns-server named]# systemctl restart named
2.辅助DNS更新主DNS
[root@dns-server2 slaves]# nsupdate
> server 172.25.254.190
> update add hello.westoslinux.com 86400 A 172.25.254.190
> send
辅助DNS也要重启辅助DNS
3.在客户端测试
修改客户端的DNS服务器为主DNS服务器
[root@foundation90 ~]# dig hello.westoslinux.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> hello.westoslinux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52341
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;hello.westoslinux.com. IN A
;; ANSWER SECTION:
hello.westoslinux.com. 86400 IN A 172.25.254.190
;; AUTHORITY SECTION:
westoslinux.com. 86400 IN NS www.westoslinux.com.
;; ADDITIONAL SECTION:
www.westoslinux.com. 86400 IN A 172.25.254.19
;; Query time: 1 msec
;; SERVER: 172.25.254.190#53(172.25.254.190)
;; WHEN: Thu Mar 09 23:45:20 CST 2017
;; MSG SIZE rcvd: 100
十、辅助DNS用钥匙更新主DNS
1.主DNS
1)生成密钥
[root@dns-server mnt]# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos
2)写配置文件
[root@dns-server mnt]# cp -p /etc/rndc.key /etc/westos.key
[root@dns-server mnt]# vim /etc/westos.key
key "westos" {
algorithm hmac-md5;
secret "1Jv2pBElNYk2ubZW3Z5OWg==";
};
3)将配置文件包含到主配置文件中
[root@dns-server mnt]# vim /etc/named.conf
include "/etc/westos.key";
[root@dns-server mnt]# vim /etc/named.rfc1912.zones
zone "westoslinux.com" IN {
type master;
file "westoslinux.com.zone";
allow-update { key westos; };
allow-transfer { 172.25.254.191; };
also-notify { 172.25.254.191; };
};
4)重启服务
[root@dns-server mnt]# systemctl restart named
5)将钥匙发给辅助DNS
[root@dns-server mnt]# scp Kwestos.+157+12437.* root@172.25.254.191:/mnt
2.辅助dns
[root@dns-server2 mnt]# nsupdate -k Kwestos.+157+12437.private
> server 172.25.254.190
> update add wuwuwu.westoslinux.com 86400 A 172.25.254.190
> send
3.在客户端测试
[root@foundation90 ~]# dig wuwuwu.westoslinux.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> wuwuwu.westoslinux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22169
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;wuwuwu.westoslinux.com. IN A
;; ANSWER SECTION:
wuwuwu.westoslinux.com. 86400 IN A 172.25.254.190
;; AUTHORITY SECTION:
westoslinux.com. 86400 IN NS www.westoslinux.com.
;; ADDITIONAL SECTION:
www.westoslinux.com. 86400 IN A 172.25.254.19
;; Query time: 1 msec
;; SERVER: 172.25.254.190#53(172.25.254.190)
;; WHEN: Fri Mar 10 00:06:31 CST 2017
;; MSG SIZE rcvd: 101
- 学习运维——高速缓存DNS的服务配置
- DNS高速缓存以及DDNS动态域名服务的配置
- DNS高速缓存以及DDNS动态域名服务配置
- 高速缓存服务器——dns
- Linux——高速缓存dns
- Linux——dns高速缓存
- linux 系统之DNS高速缓存以及DDNS动态域名服务的配置
- linux的dns高速缓存
- DNS服务的学习
- DNS学习笔记-服务的配置与基础概念
- Dns服务的简单配置
- dns高速缓存
- 高速缓存DNS
- 高速缓存DNS
- 高速缓存DNS
- 高速缓存DNS
- 高速缓存dns
- 高速缓存DNS
- 通过xshell远程连接ubuntu
- Java中处理异常throw和throws
- HTTP基础知识(六)
- webview api介绍+解决内存泄漏+js交互
- 常见的2D碰撞检测
- 学习运维——高速缓存DNS的服务配置
- 如何使用爬虫一键批量采集新浪微博内容
- mfc中鼠标滚轮上下滚动计数问题(OnMouseWheel)
- HDU 1896 Stones
- leetcode217~Contains Duplicate
- RPM包下载网址
- 前端第三方登录集合,QQ、微信、微博
- Python中ModuleNotFoundError: No module named 'SocketServer'问题解决
- C++11 范围for语句