13.6 分离解析技术
现在,喜欢看我们这本《Linux就该这么学》的海外读者越来越多,如果继续把本书配套的网站服务器(https://www.linuxprobe.com)架设在北京市的机房内,则海外读者的访问速度势必会很慢。可如果把服务器架设在美国那边的机房,也将增大国内读者的访问难度。
为了满足海内外读者的需求,外加刘遄老师不差钱,于是可以购买多台服务器并分别部署在全球各地,然后再使用DNS服务的分离解析功能,即可让位于不同地理范围内的读者通过访问相同的网址,而从不同的服务器获取到相同的数据。例如,我们可以按照表13-5所示,分别为处于北京的DNS服务器和处于美国的DNS服务器分配不同的IP地址,然后让国内读者在访问时自动匹配到北京的服务器,而让海外读者自动匹配到美国的服务器,如图13-9所示。
表13-5 不同主机的操作系统与IP地址情况
主机名称 | 操作系统 | IP地址 |
DNS服务器 | RHEL 7 | 北京网络:122.71.115.10 |
美国网络:106.185.25.10 | ||
北京用户 | Windows 7 | 122.71.115.1 |
海外用户 | Windows 7 | 106.185.25.1 |
图13-9 DNS分离解析技术
建议大家将虚拟机还原到初始状态,并重新安装bind服务程序,以免多个实验之间相互产生冲突。
第1步:修改bind服务程序的主配置文件,把第11行的监听端口与第17行的允许查询主机修改为any。由于配置的DNS分离解析功能与DNS根服务器配置参数有冲突,所以需要把第51~54行的根域信息删除。
- [root@linuxprobe ~]# vim /etc/named.conf
- ………………省略部分输出信息………………
- 44 logging {
- 45 channel default_debug {
- 46 file "data/named.run";
- 47 severity dynamic;
- 48 };
- 49 };
- 50
- 51
zone "." IN {- 52
type hint;- 53
file "named.ca";- 54
};- 55
- 56 include "/etc/named.rfc1912.zones";
- 57 include "/etc/named.root.key";
- 58
- ………………省略部分输出信息………………
第2步:编辑区域配置文件。把区域配置文件中原有的数据清空,然后按照以下格式写入参数。首先使用acl参数分别定义两个变量名称(china与american),当下面需要匹配IP地址时只需写入变量名称即可,这样不仅容易阅读识别,而且也利于修改维护。这里的难点是理解view参数的作用。它的作用是通过判断用户的IP地址是中国的还是美国的,然后去分别加载不同的数据配置文件(linuxprobe.com.china或linuxprobe.com.american)。这样,当把相应的IP地址分别写入到数据配置文件后,即可实现DNS的分离解析功能。这样一来,当中国的用户访问linuxprobe.com域名时,便会按照linuxprobe.com.china数据配置文件内的IP地址找到对应的服务器。
- [root@linuxprobe ~]# vim /etc/named.rfc1912.zones
- 1 acl "china" { 122.71.115.0/24; };
- 2 acl "american" { 106.185.25.0/24;};
- 3 view "china"{
- 4 match-clients { "china"; };
- 5 zone "linuxprobe.com" {
- 6 type master;
- 7 file "linuxprobe.com.china";
- 8 };
- 9 };
- 10 view "american" {
- 11 match-clients { "american"; };
- 12 zone "linuxprobe.com" {
- 13 type master;
- 14 file "linuxprobe.com.american";
- 15 };
- 16 };
第3步:建立数据配置文件。分别通过模板文件创建出两份不同名称的区域数据文件,其名称应与上面区域配置文件中的参数相对应。
- [root@linuxprobe ~]# cd /var/named
- [root@linuxprobe named]# cp -a named.localhost linuxprobe.com.china
- [root@linuxprobe named]# cp -a named.localhost linuxprobe.com.american
- [root@linuxprobe named]# vim linuxprobe.com.china
$TTL 1D | #生存周期为1天 | ||||
@ | IN SOA | linuxprobe.com. | root.linuxprobe.com. | ( | |
#授权信息开始: | #DNS区域的地址 | #域名管理员的邮箱(不要用@符号) | |||
0;serial | #更新序列号 | ||||
1D;refresh | #更新时间 | ||||
1H;retry | #重试延时 | ||||
1W;expire | #失效时间 | ||||
3H;)minimum | #无效解析记录的缓存时间 | ||||
NS | ns.linuxprobe.com. | #域名服务器记录 | |||
ns | IN A | 122.71.115.10 | #地址记录(ns.linuxprobe.com.) | ||
www | IN A | 122.71.115.15 | #地址记录(www.linuxprobe.com.) |
- [root@linuxprobe named]# vim linuxprobe.com.american
$TTL 1D | #生存周期为1天 | ||||
@ | IN SOA | linuxprobe.com. | root.linuxprobe.com. | ( | |
#授权信息开始: | #DNS区域的地址 | #域名管理员的邮箱(不要用@符号) | |||
0;serial | #更新序列号 | ||||
1D;refresh | #更新时间 | ||||
1H;retry | #重试延时 | ||||
1W;expire | #失效时间 | ||||
3H;)minimum | #无效解析记录的缓存时间 | ||||
NS | ns.linuxprobe.com. | #域名服务器记录 | |||
ns | IN A | 106.185.25.10 | #地址记录(ns.linuxprobe.com.) | ||
www | IN A | 106.185.25.15 | #地址记录(www.linuxprobe.com.) |
第4步:重新启动named服务程序,验证结果。将客户端主机(Windows系统或Linux系统均可)的IP地址分别设置为122.71.115.1与106.185.25.1,将DNS地址分别设置为服务器主机的两个IP地址。这样,当尝试使用nslookup命令解析域名时就能清晰地看到解析结果,分别如图13-10与图13-11所示。
图13-10 模拟中国用户的域名解析操作
图13-11 模拟美国用户的域名解析
出现问题?大胆提问!
因读者们硬件不同或操作错误都可能导致实验配置出错,请耐心再仔细看看操作步骤吧,不要气馁~
Linux技术交流请加A群:560843(满),B群:340829(推荐),C群:463590(推荐),点此查看全国群。
*本群特色:通过口令验证确保每一个群员都是《Linux就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。
本章节的复习作业(答案就在问题的下一行哦,用鼠标选中即可看到的~)
1.DNS技术提供的三种类型的服务器分别是什么?
答:DNS主服务器、DNS从服务器与DNS缓存服务器。
2.DNS服务器之间传输区域数据文件时,使用的是递归查询还是迭代查询?
答:DNS服务器之间是迭代查询,用户与DNS服务器之间是递归查询。
3.在Linux系统中使用Bind服务程序部署DNS服务时,为什么推荐安装chroot插件?
答:能有效地限制Bind服务程序仅能对自身的配置文件进行操作,以确保整个服务器的安全。
4.在DNS服务中,正向解析和反向解析的作用是什么?
答:正向解析是将指定的域名转换为IP地址,而反向解析则是将IP地址转换为域名。正向解析模式更为常用。
5.是否可以限制使用DNS域名解析服务的主机?如何限制?
答:是的,修改主配置文件中第17行的allow-query参数即可。
6.部署DNS从服务器的作用是什么?
答:部署从服务器可以减轻主服务器的负载压力,还可以提升用户的查询效率。
7.当用户与DNS服务器之间传输数据配置文件时,是否可以使用TSIG加密机制来确保文件内容不被篡改?
答:不能,TSIG加密机制保障的是DNS服务器与DNS服务器之间迭代查询的安全。
8.部署DNS缓存服务器的作用是什么?
答:DNS缓存服务器把用户经常使用到的域名与IP地址的解析记录保存在主机本地,从而提升下次解析的效率。一般用于经常访问某些固定站点而且对这些网站的访问速度有较高要求的企业内网中,但实际的应用并不广泛。
9. DNS分离解析技术的作用是什么?
答:可以让位于不同地理范围内的读者通过访问相同的网址,而从不同的服务器获取到相同的数据,以提升访问效率。
本文原创地址:https://www.linuxprobe.com/chapter-13.html 编辑:刘遄,审核员:暂无
为您推荐一些与本文相关的文章:
- Linux 下集成开发环境 – PyCharm介绍
- 捷讯:王坤5月27日北京顺利通过RHCE认证。
- EverVim一款适合所有开发者的 Vim 发行版
- 众多匿名社交小程序惨遭封杀?
- Android 4.0 将被苹果抛弃,不再提供支持
- 《Linux Shell命令行及脚本编程实例详解 (刘艳涛)》pdf电子书免费下载
- Ubuntu 18.04 LTS(仿生海狸)将默认采用XOrg图形堆栈
- 数学差不准参加双11 预售被吐槽规则复杂
- 谷歌迎来中国大将加盟 !Google 离我们还有多远?
- 认识一下2018年的程序员
转载必需保留本文链接:https://www.linuxprobe.com/chapter-13.html
本文依据CC-BY-NC-SA 3.0协议发布,竭诚为读者提供Linux视频教程、Linux学习资料以及红帽考试资料等优质学习资源。