学习运维——高速缓存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主机,以免有些邮件服务器为了反垃圾邮件进行反向查询时出现问题。

这是在 /etc/named.conf 文件中 options语句有关rrset-order配置的一个例子
rrset-order {
class IN type A name "mail.example.com" order random;
order cyclic;
};
这个设置会使处于IN类中的A记录的响应以随机顺序返回,IN 类以"mail.example.com"为后缀。其他的记录以循环记录被返回。

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






0 0
原创粉丝点击