centos7_bind_DNS 配置masterslave缓存转发

Posted liang-yao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7_bind_DNS 配置masterslave缓存转发相关的知识,希望对你有一定的参考价值。

DNS系统的作用

正向解析:域名到IP的解析过程

反向解析:IP到域名的解析过程,反向解析的作用为服务器身份验证

 

DNS系统的工作模式:

递归查询:DNS 服务器可使用其自身的资源记录信息缓存来应答查询,也可代表请求客户机来查询或联系其他 DNS 服务器,并随后将应答返回至客户机

迭代查询:如果没有查询到所需数据,该DNS服务器会告诉客户机另一台DNS服务器地址。客户机自己尝试联系其他的 DNS 服务器来解析名称,使用基于服务器应答的独立和附加的查询

 

主域名服务器:特定DNS区域的官方服务器,具有唯一性。负责维护该区域所有域名->IP的映射记录

从域名服务器:维护的域名->IP来源于主域名服务器

软件包:bind

服务名:named

端口:53

 

master主DNS配置

1、安装Bind软件包。

yum install -y bind

 

2、修改主DNS服务器配置文件。

vim /etc/named.conf

13           listen-on port 53 { 192.168.200.101; };   #监听网卡及端口

directory       "/var/named";                          #DNS解析记录位置

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";  #内存状态备份

19           allow-query     { any; };                            #允许所有人访问

recursion yes;                            #递归查询,删除是迭代查询

 

zone "." IN {              #根DNS配置

type hint;           #服务器类型:根DNS

file "named.ca";  #根DNS信息保存位置/var/named/named.ca

};

#包含子配置,把下列文件加载到主配置文件中

include "/etc/named.rfc1912.zones";            #声明DNS区域文件

include "/etc/named.root.key";                     #访问根DNS需要的秘钥

 

3、修改主DNS服务器区域文件。

vim /etc/named.rfc1912.zones

zone "a.com" IN {                                        #正向解析域名

type master;                                         #类型:主DNS

file "a.com.localhost";                         #主机名与IP对应关系配置文件

allow-update { none; };                      #不允许客户端动态升级

};

 

 

zone "200.168.192.in-addr.arpa" IN {        #反向解析域名的IP地址,应把网络位反写,不写主机位

type master;                                        #类型:主DNS

file "192.168.200.empty";

allow-update { none; };

};

 

cd /var/named/       #copy模板文件,-p保留文件属性(文件所属组必须是named)

cp -p named.localhost a.com.localhost

cp -p named.empty 192.168.200.empty

 

4. 主DNS服务器正向区域文件。

vim /var/named/a.com.localhost

$TTL 1D       #生存周期一天

@       IN SOA  a.com. rname.invalid. (

# @代表域名,IN跳转指针,引出后面内容;SOA起始授权记录,引出后面参数;域名要在末尾加“.”

rname.invalid.表示管理员邮箱“.”代表了邮箱符号“@”

0       ; serial      #序列号,更改一次+1

1D      ; refresh #每隔一天检查序列号更新

1H      ; retry     #同步失败每隔一小时检查序列号更新

1W      ; expire  #辅DNS与主DNS断开连接一周后不响应客户端解析

3H )    ; minimum  #最小生存周期(缓存最大生存时间)

   NS      ns1.a.com.

ns1     A       192.168.200.101

www     A       192.168.200.104

 

5. 主DNS服务器反向区域文件。

vim /var/named/192.168.200.empty

$TTL 3H

@       IN SOA  a.com. rname.invalid. (

0       ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H )    ; minimum

   NS      ns1.a.com.

101     PTR     ns1.a.com.             #101是主机位IP地址

104     PTR     www.a.com.

 

6. 主DNS服务器配置文件和区域文件语法检测。

named-checkconf /etc/named.conf

named-checkzone a.com /var/named/a.com.localhost

named-checkzone 200.168.192.in-addr.arpa /var/named/192.168.200.empty

 

7. 启动Bind服务。

systemctl start named

systemctl enable named

ss -ntlu | grep 53

udp    UNCONN     0      0      192.168.200.101:53                    *:*

 

8. 在Web服务器上安装apache安装包。

yum install -y httpd

 

9. 修改apache配置文件。

vim /etc/httpd/conf/httpd.conf

95 ServerName www.a.com:80

 

10. 创建apache默认文档。

echo "apache ip:192.168.200.104" > /var/www/html/index.html

 

11. 启动apache服务。

httpd -t

systemctl start httpd

systemctl enable httpd

ss -ntlu | grep 80

tcp    LISTEN     0      128      :::80                   :::*

 

12. 访问测试

技术分享图片技术分享图片

 

master主DNS + slave辅DNS

1. 安装Bind软件包。

yum install -y bind

 

2. 修改主DNS服务器配置文件,允许区域传输。

vim /etc/named.rfc1912.zones

16         allow-update { 192.168.200.102; };

23         allow-update { 192.168.200.102; };

 

3. 修改主DNS服务器正向区域文件和反向区域文件,添加辅助DNS相关记录。

vim /var/named/a.com.localhost

$TTL 1D

@       IN SOA  a.com. rname.invalid. (

0       ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H )    ; minimum

NS      ns1.a.com.

NS      ns2.a.com.

ns1     A       192.168.200.101

ns2     A       192.168.200.102

www     A       192.168.200.104

 

vim /var/named/192.168.200.empty

$TTL 3H

@       IN SOA  a.com. rname.invalid. (

0       ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H )    ; minimum

NS      ns1.a.com.

NS      ns2.a.com

101     PTR     ns1.a.com.

102     PTR     ns2.a.com.

104     PTR     www.a.com.

 

 

然后重新启动named服务

systemctl restart named

 

4. 修改辅助DNS服务器配置文件。

vim /etc/named.conf

12 options {

13         listen-on port 53 { 192.168.200.102; };

14         listen-on-v6 port 53 { ::1; };

15         directory       "/var/named";

16         dump-file       "/var/named/data/cache_dump.db";

17         statistics-file "/var/named/data/named_stats.txt";

18         memstatistics-file "/var/named/data/named_mem_stats.txt";

19         allow-query     { any; };

 

5. 修改辅助DNS服务器配置文件。

vim /etc/named.rfc1912.zones

zone "a.com" IN {

type slave;                         #类型设置为辅DNS服务器

file "slaves/a.com.localhost";

masters { 192.168.200.101; };  #指定主服务器地址

};

 

zone "200.168.192.in-addr.arpa" IN {

type slave;

file "slaves/192.168.200.empty";

masters { 192.168.200.101; };

};

 

6. 检测辅助DNS服务器配置文件和区域文件语法。

named-checkconf /etc/named.conf

named-checkconf /etc/named.rfc1912.zones

 

7. 启动辅助DNS服务。

systemctl restart named

systemctl enable named

ss -ntlu | grep 53

udp    UNCONN     0      0      192.168.200.102:53                    *:*

ll /var/named/slaves/  #发现此目录有了主DNS的服务器中的配置文件

 

8. 客户端基于域名访问apache站点。

客户端dns指向192.168.200.102

技术分享图片

master主DNS + slave辅DNS + 缓存DNS

1. 修改主DNS服务器正向区域文件和反向区域文件,添加缓存DNS相关记录。

vim /var/named/a.com.localhost

$TTL 1D

@       IN SOA  a.com. rname.invalid. (

0       ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H )    ; minimum

NS      ns1.a.com.

NS      ns2.a.com.

NS      ns3.a.com.

ns1     A       192.168.200.101

ns2     A       192.168.200.102

ns3     A       192.168.200.103

www     A       192.168.200.104

vim /var/named/192.168.200.empty

$TTL 3H

@       IN SOA  a.com. rname.invalid. (

0       ; serial

1D      ; refresh

1H      ; retry

1W      ; expire

3H )    ; minimum

NS      ns1.a.com.

NS      ns2.a.com.

NS      ns3.a.com.

101     PTR     ns1.a.com.

102     PTR     ns2.a.com.

103     PTR     ns3.a.com.

104     PTR     www.a.com.

 

然后重新启动named服务

systemctl restart named

 

2. 在缓存DNS服务器上安装Bind软件包。

yum install -y bind bind-devel bind-chroot

 

3. 修改缓存DNS服务器配置文件。

vim /etc/named.conf

listen-on port 53 { 192.168.200.103; };

allow-query     { any; };

forward only;

forwarders { 192.168.200.101;192.168.200.102; };

 

4. 检测缓存DNS服务器配置文件和区域文件语法。

named-checkconf /etc/named.conf

 

5. 启动Bind服务。

systemctl restart named

systemctl enable named

ss -ntlu | grep 53

udp    UNCONN     0      0      192.168.200.103:53

6. 客户端基于域名访问apache站点。

客户端dns指向192.168.200.103

技术分享图片

不能解析:vim /etc/named.conf  yes更改为no

dnssec-enable no;

dnssec-validation no;

 

DNS转发

1. 添加主DNS服务器和辅助DNS服务器配置文件。

vim /etc/named.conf

forward first;

forwarders { 119.29.29.29;114.114.114.114 };

 

 systemctl restart named

2. 客户端dns指向192.168.200.103

 技术分享图片

 

以上是关于centos7_bind_DNS 配置masterslave缓存转发的主要内容,如果未能解决你的问题,请参考以下文章

redis master配置了密码进行主从同步

Puppet 之 Master/agent配置与实现多环境

配置replicated multi-master时的DNS配置

Redis 主从配置

02:配置k8s-master为镜像仓库

利用子配置文件实现master/master的keepalived双主架构