通过view实现智能DNS

<h2>原理介绍</h2>
<p>DNS策略解析最基本的功能是可以智能的判断访问您网站的用户,然后根据不同的访问者把您的域名分别解析成不同的IP地址,然后跟DNS服务器内部的IP表匹配一下,看看用户的类型,然后给用户返回对应的IP地址。例如:一台http服务器在不同地区有不同代理服务器,智能DNS会在用户访问这个http服务器的时候,自动识别用户的IP所在地区和哪个代理服务器最近(根据内部设置的表格识别),然后将代理服务器的IP地址返回给用户让其访问,相当于进行了引导和负载均衡。
如下图所示:
<img src="http://wx2.sinaimg.cn/mw690/9e44f588gy1fjw5s1p7prj212x0o4447.jpg" /></p>
<h2>应用场景</h2>
<h3>双线路的机房:</h3>
<p>服务本身有两个IP,一个电信IP,一个网通IP或者其他线路。</p>
<h3>镜象网站:</h3>
<p>在网通及电信的机房放置多个相同的镜象站点, 让不同的地方客户访问不同的站点。</p>
<h3>负载均衡:</h3>
<p>对于流量比较大的网站,可以把流量分配到几台不同的服务器上,以提高网站速度。</p>
<h3>个性化站点服务:</h3>
<p>比如通过IP表的重新定义, 让国外的客户自动访问英文版的网站; 让国内的客户自动访问中文版的网站。</p>
<h3>CDN加速器:</h3>
<p>通过与squid等WEB缓存软件结合实现CDN加速器。</p>
<h3>防止DDOS攻击:</h3>
<p>通过多个线路分散攻击流量,从而达到抵挡DDOS攻击。</p>
<h2>CDN和智能DNS</h2>
<h3>CDN服务:</h3>
<p>就是把静态页面缓存到不同地区很多台专门的缓存服务器上,然后根据用户线路所在的地区自动选择一个最近的缓存服务器让用户访问,以此提高速度,这种方案对静态页面效果非常好,同时它也需要智能DNS的帮助才能实现把用户引导到离自己最近的缓存服务器上。   </p>
<h3>智能DNS:</h3>
<p>本身并没有加速功能,说白了就是自动识别网通、电信各线路的用户,然后解析到不同的IP,起到一个引导作用。但是由于国内各地域、各系统的网络环境各不相同,并不仅仅是简单的电信、网通两种资源,所以会有域名做了智能DNS后,其用户访问速度反而下降的情况发生。但是使用智能DNS,客户源站是动态还是静态内容则没有影响,效果一样。</p>
<h2>BIND VIEW:</h2>
<p>view:视图,多个zone的组合。
一个bind服务器可定义多个view,每个view中可 义一个或多个zone
每个view用来匹配一组客户端 
多个view内可能需要对同一个区域进行解析,但使用不同的区域解析库文件 </p>
<pre><code>格式: 
    view VIEW_NAME { 
        match-clients { testacl;  }; 
        zone “magedu.com” { 
            type master; 
            file “magedu.com.zone”; }; 
        include “/etc/named.rfc1912.zones”; 
    };
注意: 
    (1) 一旦启用了view,所有的zone都只能定义在view中,包括根zone。
    (2) 仅在允许递归请求的客户端所在view中定义根区域 
    (3) 客户端请求到达时,是自上而下检查每个view所服务 的客户端列表
</code></pre>

<h2>智能DNS的实现</h2>
<p>要利用到调用ACL和view。通过定义的不同ACL来规定不同区域的主机,然后给这些不同的主机分配不同的访问IP地址。
下面用一个小实验来展示智能DNS的实现:通过搭建智能DNS实现来访问www.hhy.com的河南用户和北京用户分别得到不同的服务器IP地址。</p>
<h3>在主配置文件/etc/named.conf规定acl:</h3>
<p><img src="http://wx1.sinaimg.cn/mw690/9e44f588gy1fjw5s27jznj20qf0dgq3m.jpg" /></p>
<h3>在主配置文件/etc/named.conf配置view:</h3>
<p><img src="http://wx1.sinaimg.cn/mw690/9e44f588gy1fjw5s2ojpyj20u10ewgmd.jpg" /></p>
<h3>配置不同用户DNS配置文件:</h3>
<p>北京用户 vim named.rfc1912.zones.bj
<img src="http://wx3.sinaimg.cn/mw690/9e44f588gy1fjw5s335fdj20cw03xt8k.jpg" /></p>
<p>河南用户 vim named.rfc1912.zones.hn
<img src="http://wx2.sinaimg.cn/mw690/9e44f588gy1fjw5s3mjagj20do03tq2s.jpg" /></p>
<h3>配置不同用户的区域数据库文件</h3>
<p>北京用户 vim jzt.com.zone.bj
<img src="http://wx1.sinaimg.cn/mw690/9e44f588gy1fjw5s43gt0j20po0ao74i.jpg" /></p>
<p>河南用户 vim jzt.com.zone.hn
<img src="http://wx4.sinaimg.cn/mw690/9e44f588gy1fjw5s4pc74j20pu0af74i.jpg" /></p>
<h3>检查配置</h3>
<p><img src="http://wx3.sinaimg.cn/mw690/9e44f588gy1fjw5s53b1kj20tx05udg0.jpg" /></p>
<h3>在客户端进行测试</h3>
<p><img src="http://wx1.sinaimg.cn/mw690/9e44f588gy1fjw5s5o908j20uc0jlq3u.jpg" /></p>
<h2>后记</h2>
<p>虽然这个实验相对来说比较简单,但是想要深刻了解和理解DNS的工作原理以及智能DNS的详细技术,还需要我们进行更像详细和深刻的学习。本文只是一个引导大家进入这个世界的一条小路罢了。</p>
时间: 2024-10-27 16:54:42

通过view实现智能DNS的相关文章

如何手动编译bind,如何使用view实现智能DNS解析,以及如何对DNS服务器进行压力测试。

今天带大家来看看如何手动编译源码bind,自己手动编译安装的很多文件都要自己去建立,配置文件也要从零写起,而且没有服务启动脚本,需要自己编写启动脚本. 实验规划: 1.在192.168.1.200这台主机上编译安装bind,完成后为named服务编写启动脚本,加入到service. 2.配置view实现智能DNS解析:当请求解析www.tuchao.com,来源为192.168.1.0/24时候,解析到192.168.1.100.其他的来源都解析到外网地址,1.1.1.1 3.使用querype

智能dns

acl inet { 172.16.0.0/16; 192.168.1.0/24;}; allow-query {inet;}; none; any; 智能DNS view view  VIEW_NAME  { }: 所有的区域都必须定义在视图中 zone "."定义在需要递归的区域中 acl  telecom { 172.16.0.0/16:127.0.0.0/8:}: acl  unicom  { 192.168.0.0/24;0.0.0.0/0;}; options { dire

DNS篇之六 智能dns的搭建

DNS试图及日志系统: allow-recursion {}; #能够被递归的客户端来源: allow-query {};  #允许被查询的客户端: allow-transfer {};#允许进行区域传送的客户端: axfr ixfr allow-query { 172.16.0.0/16; 127.0.0.0/8; 10.0.0.0/8; } 如果我们的query,recursion,都需要进行修改怎么办? 我们可以定义一个acl,将我们的客户端取个名字,想使用的时候,直接拿过来用即可.同时可

DNS服务之智能DNS

前言和实验背景 智能DNS是一个很关键的应用,也是直观体现工资的一项技能.智能DNS现在的技术已经非常的成熟,而且可以进化成CDN(内容分发网络).基本掌握了智能DNS和CDN的技术,就代表已经成为一名合格的中高级网页服务器运维工程师了. 大陆的网络垄断的情况在全球算得上前三名,联通和电信基本瓜分了大陆80%的网络宽带进线份额,而联通电信大概也是南北分治,北方的使用联通的网比较多,南方的使用电信的情况比较常见,这种现象比较直观的体现在网络游戏上. 回来说网页服务器,公司企业既然开门做生意,那么面

centos 系统搭建 智能DNS解析-V1.1.pdf

centos5.8 DNS服务地址解析 目录 centos5.8 DNS服务地址解析... 1 一.         DNS服务地址解析... 2 1.      安装bind. 2 2.      配置named. 3 3.      配置named.rfc1912.zones. 4 4.      配置正反向文件... 7 1.      配置正向解析... 7 2.      配置反向解析:... 8 如果有多个IP段的话可以参考如下设置配置反向解析:... 8 5 检查文件是否有语法错误

linux 使用bind部署智能DNS

其实真的是掌握了,电信或者网通的路由表就是可以做智能DNS 上次已经装好了,bind 9.6.1 直接开始吧: vi /etc/named.conf key "rndc-key" {        algorithm hmac-md5;        secret "jDw02/wylWu8aMTIDpN+Wg=="; }; controls {        inet 127.0.0.1 port 953                allow { 127.0.

Bind+DLZ构建企业智能DNS

Bind+DLZ构建企业智能DNS 目录:一.简介二.服务规划三.安装BIND及基本环境四.配置Bind-View-DLZ-MYSQL五.添加相关记录并进行测试六.配置从DNS七.补充 一.简介:1.智能DNS(Bind-view):智能DNS 原理很简单:在用户解析一个域名的时候的,判断一下用户使用的IP,然后跟DNS 服务器内部的IP 表匹配一下,看看用户是电信还是网通用户,然后给用户返回对应的IP 地址.目前的域名服务运营商不提供智能DNS 服务,所以必须自行架设DNS 服务或者使用网上免

DNS单机部署以及智能dns部署

dns理论 dns的出现 网络出现的早期是使用IP地址通讯的,那时就几台主机通讯.但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(Linux和Windows也继承保留了这个文件).这个文件中记录着主机名称和IP地址的对应表.这样只要输入主机名称,系统就会去加载hosts文件并查找对应关系,找到对应的IP,就可以访问这个IP的主机了. 但是后来主机太多了,无法保证所有人都能拿到统一的最新的hosts文件,就出现了在文件服务器上集中存放h

CentOS7.0下智能DNS服务配置

CentOS7.0下智能DNS服务配置 智能DNS简介 智能DNS是域名服务在业界首创的智能解析服务.能自动判断访问者的IP地址并解析出对应的IP地址,使网通用户会访问到网通服务器,电信用户会访问到电信服务器. 实验环境:Centos7.0最小化四台,XP三台. Bind Server:192.168.9.203 Apache Server(电信): 192.168.9.204 Apache Server(网通): 192.168.9.205 Apache Server(any): 192.16