DNS服务器是一个外行听起来比较专业的词汇,大部分只是听说过DNS,却不知道DNS服务器是什么鬼;即便知道了DNS服务器是什么东西,却也很难明白DNS服务器背后的“翻译逻辑”是什么,DNS服务器又能帮我们做些什么,还有如何防止恶意攻击保护DNS服务器……今天,笔者就带大家来认识一下这位喜欢躲在小黑屋中的“翻译官”:DNS服务器。

DNS服务器

电脑联网必备技能——DNS

相信大多数人对DNS的初识都和笔者一样,来自于大学时候在宿舍给笔记本联网,一个月20块,交完网费,学校会给你一个IP地址,然后你自己设置联网就好了。

这听起来很简单,但是很多妹子真的对泛IT知识一无所知(撸韩剧、逛淘宝才是他们的专业),于是大学四年,笔者担任了同学、学妹、甚至部分学姐的网络问题相关工作,后来即便不用学校相关部门给地址,都能推算出来……

DNS服务器

DNS服务器联网设置

正所谓实践出真知,笔者对于IPv4地址、默认网关、DNS等名词也是在实际应用中学习的。但是,从专业概念来讲,DNS又是什么呢?

DNS是DomainNameService的缩写,翻译过来就是计算机域名服务器(也有扩写成DomainNameSystem,译为计算机域名系统)。而之所以本文称DNS服务器为“翻译官”,是因为DNS是进行域名(domainname)和与之相对应的IP地址(IPaddress)转换的服务器。虽然我们每天都会用到DNS服务器,但是却很少有人知道它,足以体现DNS容易被视而不见的特性了。

也就是说,在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,而域名解析需要由专门的域名解析服务器来完成,这就是DNS域名服务器。

附录:

名称类型说明示例根域一般认为全球共有13台根逻辑域名服务器单个句点(.)或句点用于末尾的名称顶级域用来指示某个国家/地区或组织使用的名称的类型名称.com第二层域个人或组织在网上使用的注册名称zol.com子域已注册的二级域名派生的域名www.zol.comDNS域名称cn/rucomneteduMilgov组织类型中国/俄罗斯商业公司网络公司教育机构军事政府机构非军事政府机构2DNS服务器背后的“翻译逻辑”

说白了,DNS服务器起到的作用是把我们输入的字符域名转换为主机的IP地址。计算机在网络上进行通讯时只能识别如“201.59.72.14”之类的IP地址(此处为任意IP地址举例),而不能认识域名(如:zol.com.cn)。但是,我们打开浏览器,在地址栏中输入字符域名后,就能看到所需要的页面,就是因为有一个叫“DNS服务器”的存在自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页。也正因此,也有人将DNS服务器比喻成“翻译官”和“电话簿”。

就像大多数同传大神一样,DNS服务器这个翻译官也常常躲在一个小黑屋中工作,不同于同传翻译人员使用一支笔、一个本和大脑来翻译,DNS服务器的翻译逻辑似乎有些不同,毕竟他们只能是0和1的组合。

如果简单来讲,可以将DNS分为C/S(Client/Server,客户机/服务器)两种模式,Client扮演询问角色,由Client向Server询问DomainName(域名),Server负责给出域名对应的真正IP地址。

DNS服务器

具体而言,要分八步走(注,为实现冗余和负载均衡,部分地址解析结果有可能是一个,也可能是多个,本文均以一个为例)。

1、客户端发出请求:我需要访问zol.com.cn,请告诉我它得IP地址。

2、本地DNS服务器(向DNS根服务器)分发需求:缓存中没有zol.com.cn的记录,向d.root-servers.net.请求域名对应IP地址。

3、DNS根服务器给出范围:该域名由.com.cn区域管理,给你.com.cn域服务器地址ns.cernet.net.

4、本地DNS服务器(向.com.cn域服务器)分发需求:域名zol.com.cn对应的IP地址是多少?

5、.com.cn域服务器给出范围:负责zol.com.cn的域服务器应该知道IP地址,你去问它

6、本地DNS服务器(向zol.com.cn域服务器)分发需求:请问域名zol.com.cn对应的IP地址是多少?

7、zol.com.cn域服务器给出答案:经查询得知,该域名对应的IP地址是123.101.57.11

8、本地DNS服务器(向网络客户端)回复答案:域名zol.com.cn对应的IP地址是123.101.57.11

DNS服务器

zolDNS解析过程

一般来讲,DNS服务器一般会在获得域名对应IP地址之后,将该IP地址与域名对应关系记入缓存中,以备下次别的用户查询时可以直接返回结果,以加快网络访问速度。

完成以上8步,正向解析完成,除了正向解析(域名转换成IP地址的操作)之外,还有反向解析,即通过IP地址转换成域名的操作,这里再不做详尽解释。

3DNS可以帮你优化网速和查漏洞

除了基本的翻译工作之外,DNS还能为我们带来哪些优势呢?今天,笔者就向大家简单介绍三种DNS能够告诉我们的事儿。

一、检测垃圾邮件和Botnet僵尸网络

DNS服务器

检测垃圾邮件

众所周知,Botnet僵尸网络就是许多台被恶意代码感染、控制的与互联网相连接的计算机。而当一个运行一个垃圾邮件的时候,会有大量的邮件被发送到一个预定的域名列表里;就导致一个已经不存在的域名,被高频率的访问。另外,在图示一圾邮件和Botnet僵尸网络,并迅速识别受损及其,解决问题。

二、优化网络速度,降低网络成本

DNS服务器

图片来自网络

DNS数据可以告诉我们是否出现网络堵塞,并识别网络堵塞的原因。上图是未经过滤的图片,根据颜色的不同,可以看出网络速度的不同。继续研究的话你可以调节DNS服务器配置,改善网络速度,减少在某些应用程序上的等待时间,甚至有可能节省网络成本。

三、发现软件漏洞

正常的DNS应该是稳定的,但如果你发现Servfail响应异常,那可能意味着出现了网络漏洞。它或者意味着软件漏洞,或这意味着你的服务器配置相对较差,可能会增加你的风险。

DNS服务器

恶意DNS劫持(图片来源于网络)

GoogleDNS服务器平均每天处理超过1500亿个查询。在2014年3月17日,根据网络监测公司BGPMon数据,Google的公开DNS服务器IP8.8.8.8被劫持到了委内瑞拉和巴西超过22分钟。类似这样的事件时有发生,我们所需要做的就是利用一切手段,防止这样的事件发生。

长久以来,DNS一直未作为分析网络问题的标准,甚至可能性。但是如今根据相关测试我们可以看出,DNS可以告诉我们的还有很多。比如检测垃圾邮件和Botnet僵尸网络;优化网络速度,降低网络成本和发现软件漏洞。

尽管DNS看起来优势多多,但是DNS域名服务器安全问题由来已久,比如2009年的519事件,因为DNSPOD用户域名相互攻击造成DNSPOD宕机,大量请求压力让运营商服务器受到了影响,导致南方六省断网、服务器崩溃。后来的DNS域名被篡改、DDOS攻击、内部威胁等问题也持续存在。

如何防止恶意攻击 保护DNS服务器

一般来讲,只要不是网络服务供应商受到重大攻击,企业网络完全陷入瘫痪的可能性不大。而企业DNS服务器会面临的漏洞主要包括:DNSIPv6漏洞、公用DNS服务器上的漏洞、内部威胁和社会工程学四大方面。而要提高企业DNS服务器安全问题也十分简单。

DNS服务器

1、控制入口。即对主要网络资源访问权限进行管控。从DNS服务器从主力DNS服务器接收这些区域文件的只读拷贝。比如,你可以配置企业的DNS服务器,禁止区域传输请求,或者仅允许针对组织内特定服务器进行区域传输,以此来进行安全防范;在基于Windows的DNS服务器中,你也应该在DNS服务器相关的文件系统入口处设置访问控制,这样只有需要访问的帐户才能够阅读或修改这些文件。

2、做好PlanB。几乎在所有企业级IT应用场景中冗余和备份都是不可缺少的一部分,所以做好灾难备份和恢复、做好风险评估方面就显得异常重要。此外,在管理方面,企业还需要制定相关规范,遇到问题形成快速反应机制。

3、专业支持。俗话说,网络安全工作要靠三分技术、七分管理,所谓管理就是控制入口、做好备用方案,而三分技术才是企业稳定运行的基础。这就需要企业找到专业的软硬件服务器供应商,匹配专业的技术人员,建立一个健康的IT生产环境,保证DNS服务器及企业网络安全。

DNS服务器

根域解析故障(图片来自知乎)

对于普通消费者而言,除了遇到类似2014年1月21日中国互联网根域名服务器(DNS)故障这种所有通用顶级域名的根域解析出现异常,导致大量网站域名解析不正常,网站无法打开的情况之外,大多数时候,DNS服务器只是躲在小黑屋中,帮助我们实现正向/反向解析的翻译官,似乎没什么大用。但是正因为大量默默无名的DNS服务器在刻苦工作,才有了我们发达的互联网生态。