• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

13.6 分离解析技术

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

现在,喜欢看我们这本《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分离解析技术

为了解决海外读者访问https://www.linuxprobe.com时的速度问题,刘遄老师已经在美国机房购买并架设好了相应的网站服务器,接下来需要手动部署DNS服务器并实现分离解析功能,以便让不同地理区域的读者在访问相同的域名时,能解析出不同的IP地址。

建议大家将虚拟机还原到初始状态,并重新安装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就该这么学》的读者,答疑更有针对性,不定期免费领取定制礼品。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
第14章 使用DHCP动态管理主机地址。发布时间:2022-02-03
下一篇:
13.5 部署缓存服务器发布时间:2022-02-03
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap