DNS的分离解析

简介:

                           DNS的分离解析


实验背景


在Internet环境中,考虑到不同地区(华北、华南、港澳台、海外……)、不同ISP服务商(移动、电信、联通、教育网……)的访问速度差异,许多大型站点(新浪、网易、腾讯、搜狐……)会分别部署多台镜像服务器,不同地区或不同ISP接入的用户会自动连接到离他们最近的镜像服务器。


针对类似这样的需求,对于这些站点的权威DNS服务器来说,如何根据客户机的来源不同而引导其访问正确的镜像服务器呢?这个就需要用到Slit DNS(分离解析)了,有时候也成为智能解析。


1.为区域tarena.com配置分离解析,针对www.tarena.com的A记录做分离测试。


2.当客户机来自192.168.4.0/24或127.0.0.0/8时,将www.tarena.com解析为192.168.4.100。


3.当客户机来自其他网络时,将www.tarena.com解析为1.2.3.4。


实验环境:

VMware Workstartion      RHEL5.9


实验方案:


使用2台RHEL 5虚拟机,为了简化实验网络结构,提供分离解析的DNS服务器配置有2个IP地址(192.168.4.5和172.16.16.5),以便不同网段的客户机可直接访问。两台RHEL 5虚拟机及Windows真机都可作为DNS客户机执行测试.



实验实现:

1.认识Split分离解析的实现方式


1)基本配置用法


针对同一个区域(tarena.com),可以在多个视图内分别定义,使用的区域地址数据文件相互独立,从而实现解析结果的分化 ——



2)将来源地址分组,定义为不同的ACL


针对大批量的地址段(单个IP、网段地址),可定义为访问控制列表,每个地址均以分号表示结束。例如“192.168.4.120;172.16.16.0/24;“,若使用”any;“可匹配任意地址。


定义访问控制列表需用到acl配置,相应的acl应该用到的地方之前先定义:


比如acl "YIDONG" { ip地址段1;ip地址段2;... 网段1;网段2;...};



2.配置分离解析的DNS服务器


1)确认服务器可接受不同客户机地址的DNS查询


为简化实验步骤,本例中直接为DNS服务器配置2个IP地址。基于物理网卡eth0和虚拟接口eth0:0,IP地址分别为192.168.4.5/24和172.16.16.5/24。


确认DNS服务器已配置的IP地址信息:




# ifconfig | grep "inet addr"

       inet addr:192.168.4.5  Bcast:192.168.4.255  Mask:255.255.255.0

       inet addr:172.16.16.5  Bcast:172.16.16.255  Mask:255.255.255.0

       inet addr:127.0.0.1  Mask:255.0.0.0


这样的话,就可以为这三个网段的客户机提供DNS查询服务了,方便下面的DNS分离解析测试。


2)建立主配置文件named.conf

 根据实验要求,定义2个视图。其中,一个视图名为“mylan“,对应来源地址为192.168.4.0/24或127.0.0.0/24的客户机;另外一个视图名为”other“,对应来源地址为其他任何地址的客户机:


#vim /var/named/chroot/etc/named.conf

options{

directory "/var/named";

};

acl "mylan"{

192.168.4.0/24;127.0.0.0/8;

};

view "mylan"

match-client { mylan; };

zone "tarena.com"  IN{

type master ;

file "tarena.com.zone.lan"

};

view "other" {

match-client { any;};

type master;

file "tarena.com.zone.other";

};

};


3)为不同视图分别建立区域地址数据文件


建立mylan视图的地址数据文件(tarena.com.zone.lan):


$TTL 86400

@ IN SOA tarena.com. admin.tarena.com.

( 2013101701

3H

15M

1W

1D

)

@ IN NS svr5.tarena.com.

svr5 IN A 192.168.4.5

svr6 IN A 192.168.4.6

www IN A 192.168.4.100

               //注意与其他视图中的差异 * IN A 192.168.4.100


建立mylan视图的地址数据文件(tarena.com.zone.other):


# vim /var/named/chroot/var/named/tarena.com.zone.lan

$TTL 86400

@ IN SOA tarena.com. admin.tarena.com. (

2013101701

3H

15M

1W

1D

)

@ IN NS svr5.tarena.com.

svr5 IN A 192.168.4.5

svr6 IN A 192.168.4.6

www IN A 1.2.3.4                     //注意与其他视图中的差异 * IN A 1.2.3.4



4)重启named服务,确认服务状态


重启named服务程序:


#service named restart


使用netstat检查监听状态,确认所涉及到的三个地址的监听都可用:


3.测试分离解析的效果


)从本机测试DNS解析


指定127.0.0.1作为DNS服务器,这样相当于来自127.0.0.0/8网段。则查询www.tarena.com时,适用于mylan视图,结果是192.168.4.100:


[root@svr5 ~]# nslookup www.tarena.com 127.0.0.1

Server: 127.0.0.1

Address: 127.0.0.1#53

Name: www.tarena.com

Address: 192.168.4.100





指定192.168.4.5作为DNS服务器,这样相当于来自192.168.4.0/24网段。则查询www.tarena.com时,同样适用于mylan视图,结果仍然是192.168.4.100



[root@svr5 ~]# nslookup www.tarena.com 192.168.4.5

Server: 192.168.4.5

Address: 192.168.4.5#53

Name: www.tarena.com

Address: 192.168.4.100


指定172.16.16.5作为DNS服务器,这样相当于来自其他地址(在any之前无任何视图可匹配)。则查询www.tarena.com时,适用于other视图,结果变成1.2.3.4:



[root@svr5 ~]# nslookup www.tarena.com 172.16.16.5

Server: 172.16.16.5

Address: 172.16.16.5#53

Name: www.tarena.com

Address: 1.2.3.4



从Windows 7真机测试DNS解析


Windows 7真机的IP地址是192.168.4.110,显然适用于mylan视图,当以192.168.4.5作为DNS服务器时,查询www.tarena.com的结果是192.168.4.100,



#nslookup www.tarena.com 192.168.4.5

名称:www.tarna.com

Address :192.168.4.100









实验总结:

注意:启用view视图设置后,不允许在view以外的地方再定义zone区段。


当客户机地址匹配“来源地址1”时,根据“视图1”中zone配置指定的地址数据文件提取查询结果;当客户机地址匹配“来源地址2”时,根据“视图2”中zone配置指定的地址数据文件提取查询结果;…… 以此类推,最后可准备一个来源地址为“any”的默认视图,匹配任意客户机地址。





      本文转自Jx战壕  51CTO博客,原文链接:http://blog.51cto.com/xujpxm/1370851,如需转载请自行联系原作者




相关文章
|
7月前
|
域名解析 存储 网络协议
域名解析的终极指南:从基础到进阶,彻底搞懂 DNS 记录
域名解析是网站运行的基础,正确配置DNS记录至关重要。本文从基础到进阶全面解析DNS知识,涵盖A、AAAA、CNAME、MX、TXT、CAA等常见记录类型及其应用场景。通过学习,你将了解DNS的工作原理,掌握如何优化域名配置,确保网站与邮件服务高效运行。无论搭建个人博客还是企业官网,本文都能助你轻松搞定域名解析!
1518 0
|
6月前
|
域名解析 网络协议 网络安全
SSL证书验证全攻略:DNS/HTTP/手动解析怎么选?
SSL证书在网络安全中至关重要,1Panel提供三种验证方式:DNS验证、HTTP验证和手动解析。DNS验证便捷,适合CDN网站;HTTP验证快速,需服务器在线;手动解析灵活,但操作复杂。根据需求选择合适确认方式,定期检查证书状态。
752 2
|
8月前
|
域名解析 存储 缓存
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
|
6月前
|
网络协议 安全 Linux
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
阿里云服务器国际站dns服务器不可用怎么办?dns可以随便改吗?
|
9月前
|
负载均衡 网络协议 容灾
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
【飞天技术沙龙】云解析 DNS 上海站《多云+IDC 融合场景下的 DNS 最佳实践》圆满落幕
201 0
|
存储 分布式计算 Java
存算分离与计算向数据移动:深度解析与Java实现
【11月更文挑战第10天】随着大数据时代的到来,数据量的激增给传统的数据处理架构带来了巨大的挑战。传统的“存算一体”架构,即计算资源与存储资源紧密耦合,在处理海量数据时逐渐显露出其局限性。为了应对这些挑战,存算分离(Disaggregated Storage and Compute Architecture)和计算向数据移动(Compute Moves to Data)两种架构应运而生,成为大数据处理领域的热门技术。
436 2
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
8月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
790 29
|
8月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
287 4
|
8月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS