DNS服务之智能DNS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DNS服务之智能DNS相关的知识,希望对你有一定的参考价值。

前言和实验背景

智能DNS是一个很关键的应用,也是直观体现工资的一项技能。智能DNS现在的技术已经非常的成熟,而且可以进化成CDN(内容分发网络)。基本掌握了智能DNS和CDN的技术,就代表已经成为一名合格的中高级网页服务器运维工程师了。


大陆的网络垄断的情况在全球算得上前三名,联通和电信基本瓜分了大陆80%的网络宽带进线份额,而联通电信大概也是南北分治,北方的使用联通的网比较多,南方的使用电信的情况比较常见,这种现象比较直观的体现在网络游戏上。


回来说网页服务器,公司企业既然开门做生意,那么面对的客户自然来自大江南北。为了保证用户能够有好的网页视觉体验,自然要把网页开启的速度,这一点在视频服务器上体现尤为重要。那么智能DNS就可以做到“根据来访ip地址,然后把同一个域名解析成不同的ip地址,然后提供给用户最适合的ip地址”。如图:

技术分享

这个例子里的DNS服务器只写了一个,实际生产应该会有多个。默认9.9.0.0网段的用户都是联通的用户,那么9.9.0.0网段的用户数据肯定会走DNS服务器的9.9.9.9网卡,同时DNS服务器会把lnsjb.com解析成9.9.9.1反馈给用户;5.5.0.0网段的用户同理,他们得到的网页ip地址是5.5.5.1,虽然网页是一样的,但是由于两个ip不同,两个用户都是就近访问,保证了访问速度。


这种例子是可以用nginx实现的,使用nginx的host语句,就能判断来访ip,然后根据不同的ip分配不同的网页ip。这里主要说的是用bind软件实现,其实现的主要部件就是view。


#man named.conf一下就能看到整个named.conf的功能,在view模块里的内容更是非常的丰富,可以毫不夸张的说,bind这个软件就足够写出一本书。


每一个view对应一类用户,结合上面的例子,9.9.0.0/24就是一类用户、5.5.0.0/24也是一类用户。所以view要分别写两个,分别匹配好各自的客户端,然后就是声明zone。


实验操作的前期准备

首先安装bind软件主体,#yum install bind -y。然后安装一个扩展包,#yum install caching-nameserver。不过如果是centos 6以上的系统,就不用执行扩展包的安装,bind会直接自带caching-nameserver。安装完毕之后,在/etc下就会看见多了一个叫named.rfc1912.zones这个文件。

技术分享

#vim /etc/named.rfc1912.zones一下,看看里面的内容。

技术分享

可以看见这个文件跟named.conf的格式很相似,都是声明了最基础dns的三个解析域。但是这个文件里每个域都有一个allow-update,这个“自动更新”功能就是针对dhcp而来的,如果网页服务器使用的是动态地址,那么每更新一次动态地址,这个文件也会把Address更新成新的ip地址。


dhcp应用于网页服务器上是很危险的,因为这给了黑客可趁之机,他可能会把网页服务器里的付款界面ip地址更新成一个钓鱼网站的地址,这样对公司的声誉将会是巨大的破坏!所以一般这个allow-update后面都会跟着一个{ none; },即不准许动态更新。


实验的具体操作步骤

那么开始在/etc/下写named.conf。

技术分享

:wq保存退出之后,#named-checkconf一下,检查这个named.conf文件语法问题。确认无误之后,就可以专心的写lnsjb.com.zone.unicom和lnsjb.com.zone.telecom这两个区域文件。


lnsjb.com.zone.unicom和lnsjb.com.zone.telecom这两个文件跟之前DNS主服务器文章里的区域文件写法一模一样,区别就是要对应加上不同的ip地址。


如何检验?

文件写完之后,在服务器上#ifconfig eth0:1 9.9.9.9/24#ifconfig eth0:2 5.5.5.5/24,然后别忘了#service named restart#netstat -tnlp |grep :53一下,看一下9.9.9.9和5.5.5.5的53端口是否被监听。


然后就可以在客户机上设定网卡是9.9.0.0/24网段,然后#dig -t lnsjb.com @ 9.9.9.9,看一下得到的answer应该是9.9.9.1。5.5.0.0/24的结果一样。


本文出自 “生活就是等待戈多” 博客,请务必保留此出处http://chenx1242.blog.51cto.com/10430133/1754070

以上是关于DNS服务之智能DNS的主要内容,如果未能解决你的问题,请参考以下文章

利用智能DNS和squid反向代理模拟简易CDN

实验:模拟实现智能DNS

Linux网络服务学习之路——DNS域名系统服务之基础功能实验

F5 GTM DNS 知识点和实验 5 -智能DNS的探针

讲清楚,说明白!DNS域名解析服务实现原理之二--智能解析

F5 GTM DNS 知识点和实验 4 -智能DNS基础