bind服务12---分离解析-爱代码爱编程
一、分离解析
什么是分离解析?
简单来说就是根据客户端的解析请求, DNS服务器能够区分客户端的来源ip,为不同的用户类型提供不同的解析结果。
比如说我在广州搭建了网站服务器,南方的朋友访问不会感觉到什么,但如果是北方或者海外的朋友访问,速度势必会比较慢。为了解决这个问题,可购买多个服务器部署在不同的地理位置,然后再使用DNS服务的分离解析功能,即可让位于不同地理范围内的客户端通过访问相同的网址,而从不同的服务器获取到相同的数据。我们常听到的CDN(内容分发网络)就离不开DNS分离解析的支持,关于CDN以后还会介绍,这里就不展开。
具体怎么配置呢?
由于分离解析只涉及到将相同的域名解析到不同的ip,所以如果有多台WEB服务器,只需要在一台DNS服务器上配置就可以了。我这台操作系统为Centos7,ip地址为10.1.2.84/23
1、注释掉根区域
因为分离解析的功能和根服务器区域参数有冲突,所以需要编辑 /etc/named.conf 将其用 # 号注释掉。
2、编辑默认的区域文件。
这个默认区域文件为 /etc/named.rfc1912.zones,将原有的数据清空或者注释掉。填入示例如下:
定义两个acl变量名称,参数这里的ip地址可以单独写一个ip或者多个ip,也可以写入一个网段或者多个网段,都可以,比如10.1.2.0/24这样的。acl的意思是把一个或多个主机归并为一个集合,并通过一个统一的名称调用。
这里的view参数意思是说,根据客户端的ip地址范围,去加载不同的数据解析文件。view后面的“BJ”可以自己随便定义,而match-clients参数里的值“Beijing”对应acl 里的变量名。
一台bind DNS服务器可以定义多个acl和view,在一个view下面,区域可以定义多个。
一旦启用了view,所有的zone都只能定义在view中。
3、需要建立对应的数据解析文件
利用 cp -p
命令建立 test1.com.BJ 和 test1.com.GZ 两个文件,如下图:
也就是说,广州的用户访问www.test1.com解析为1.1.1.1,而北京的用户访问www.test1.com解析为2.2.2.2。
检查配置文件,重启服务。
二、客户端访问
1、模拟北京用户
Fedora的ip地址为10.1.2.67,可以模拟北京用户的访问。更改DNS为10.1.2.84,解析www.test1.com如下:
2、模拟广州用户
另外一台是windows的电脑,ip地址为10.1.3.149,更改DNS为10.1.2.84,可模拟广州用户的访问。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/frank_ci/article/details/110594854