DNS服务有担当
2016-11-26
引言:我们在上网访问时,有时网络连接状态明明是正常的,但是浏览相关站点内容时,却出现了失败故障,这是什么原因呢?很可能是DNS服务设置不当引起的!其实,合理设置使用DNS服务,不仅能方便用户快捷访问网络,而且也能有效改善访问安全。
快捷访问方面
在网络连接正常的情况下,之所以网络访问速度缓慢甚至出错,主要有两个方面的原因,一是网络运营商或接入网络自身方面的因素,二是DNS服务解析不流畅。对于第一种因素,用户往往无能为力;但对于后面一种因素,用户可以通过合理设置,来加快DNS服务解析域名或IP地址的速度,以实现快捷访问目的。
1.手工指定地址
当发现本地DNS服务器地址解析不畅时,可以尝试到Internet网络中寻找免费高效的DNS服务器进行试用。当然,通过百度搜索引擎寻找到的免费DNS服务器可能比较多,如果随意选择一个使用时,可能并不能改善访问速度。这时,建议用户首先选用本地ISP提供的DNS服务器地址,毕竟用户访问本地DNS服务器的速度要比访问其他位置的速度快一些。如果本地没有可用的DNS服务器时,不妨从网上下载专门测试DNS服务器访问速度的专业工具,通过它实时检测出访问速度最快的DNS服务器地址。
图2 标签设置页面
一旦找到速度最快的DNS服务器地址时,可以采用手工指定地址的方式,在需要的时候将该DNS服务器拿来使用。在Windows XP系统环境中,手工指定DNS服务器地址时,可以依次点击“开始”、“设置”、“网络连接”命令,弹出网络连接列表界面。从中选择“本地连接”图标,打开它的右键菜单,点击“属性”命令,展开本地连接属性对话框。选中“Internet协 议(TCP/IP)”选项,按下“属性”按钮,进入如图1所示的Internet协议属性对话框,选中“使用下面的DNS服务器地址”选项,在首选DNS服务器和备用DNS服务器位置处,输入之前找到的访问速度最快的DNS服务器地址。要是认为两个DNS服务器地址还不够保险时,不妨按下“高级”按钮,进入Internet协议高级属性对话框,点击“DNS”标签,切换到如图2所示的标签设置页面,在这里不停点击“添加”按钮,将查找到的多个高速DNS服务器地址依次添加到本地计算机系统中,这样Windows系统日后会按照添加顺序,在合适的时候逐一调用相关DNS服务器,确保DNS服务解析操作始终顺畅。
当然,在重新指定好其他DNS服务器地址后,必须要记得及时清空本地系统的DNS缓存内容。在进行该操作时,可以依次单击本地系统的“开始”、“运行”命令,将“cmd”命令填写到系统运行框中,单击回车键,切换到DOS命令行工作窗口;其次在命令行提示符下,输入字符串命令“ipconfig /flushdns”,单击回车键后,系统返回如图3所示的结果信息,这就意味着本地DNS缓存内容已被成功清空,日后上网访问时,新指定的DNS服务器就能正式发挥作用了。
图3 结果信息
图4 电脑诊所
如果对DOS命令操作不熟悉时,也可以通过修复本地连接的方法,清空本地系统的DNS缓存内容。只要先退出已经打开的上网浏览窗口,之后按照前面的操作进入网络连接列表界面,用鼠标右键单击“本地连接”图标,从弹出的右键菜单中点击“修复”命令,这样本地系统的DNS缓存内容就会被自动清空了。如果本地计算机安装的是Windows 7系统,只要先进入网络共享中心管理界面,按下管理网络连接按钮,打开“本地连接”右键菜单,点击“诊断”命令,就能实现自动清空系统DNS缓存目的。
2.自动更新地址
缺省状态下,用户使用的DNS服务器地址基本都是本地ISP提供的,不过要是这个服务器遇到意外无法正常工作时,上网访问速度就会很慢甚至无法访问。此时,采用手工方法指定DNS服务器地址,虽然能够解决问题,但是操作效率不高。有鉴于此,我们可以从网上下载安装能自动搜索设置DNS服务器地址的专业工具,例如360上网助手、腾讯电脑管家、DNS Jumper等工具。
这里以腾讯电脑管家为操作蓝本,当用户遭遇能在线聊天而无法访问网站页面现象时,只要开启腾讯电脑管家工具的运行状态,点击“电脑诊所”标签,在该标签页面的“上网异常”位置处,按下“能上QQ不能上网”按钮,如图4所示。在其后弹出的设置页面中,单击“一键修复”按钮,目标工具会自动对本地系统执行修复操作,修复结束后重新启动计算机系统,这时本地系统的DNS服务器地址就会被自动更新了。在修复过程中,腾讯电脑管家首先会检查DNS服务是否工作正常,访问速度如何,一旦探测到DNS服务有异常时,它就会自动更新使用新的DNS服务器地址,同时自动清空本地系统的DNS缓存内容。
3.善用转发功能
在局域网工作环境中,很多人使用的都是单位内部部署的DNS服务器,但要是该DNS服务器运行不稳定时,可能会拖累单位内网所有计算机的上网访问效率。为了保证上网访问始终高效、快捷,在合适的时候,我们也能将单位内部的DNS服务器DNS转发功能启用起来,以便将所有用户的域名解析请求交给它统一处理,这样可以存储域名与IP地址的对应缓存,从而有效缩短域名解析过程。
在开启DNS服务器自带的转发功能时,只要先以超级用户权限登录进入DNS服务器所在主机系统,逐一点击“开始”、“设置”、“控制面板”选项,弹出系统控制面板窗口,用鼠标双击其中的“管理工具”、“DNS”图标,切换到DNS服务器控制界面,从左侧列表中选择特定DNS主机,打开它的快捷菜单,点击“属性”命令,弹出DNS服务器属性设置对话框。
图5 标签设置页面
其次点选“转发器”标签,进入如图5所示的标签设置页面,选中这里的“启用转发器”选项,将“IP地址”文本框激活,输入ISP提供的或者从网上寻找到的快速DNS服务器地址,按下“确定”按钮退出设置对话框。成功启用了转发器功能之后,我们只要在局域网的终端计算机系统,打开Internet协议属性对话框,选中“使用下面的DNS服务器地址”选项,输入转发器的DNS服务器地址,而不需要输入备用的DNS服务器地址了。日后,当转发器接受到用户的上网访问请求时,就能利用DNS转发功能,将用户访问请求转发给解析能力更强的高速DNS服务器,那么域名解析自然会更加流畅,用户上网访问快捷程度也会大幅度地攀升。
值得注意的是,在启用了转发功能的DNS服务器主机中,尽量关闭递归查询功能,以保证DNS服务器有足够的系统资源去响应用户的上网解析请求。要做到这一点,只要先打开服务器系统的控制面板窗口,逐一双击其中的“管理工具”、“DNS”选项,进入DNS服务器控制界面。选中左侧列表中的特定DNS主机名称,打开它的右键菜单,点击“属性”命令,弹出DNS服务器属性设置对话框,点击“高级”标签,在高级标签页面的“服务器选项”设置项处,选中“停用递归”选项,确认后保存设置即可。
4.合理使用缓存
如果对安全访问要求不是很高,可以合理使用DNS缓存,来提升DNS服务解析效率,改善上网访问速度。默认状态下,Windows系统可用的DNS缓存空间不是很大,只能存储少量的站点访问记录,不过,我们可以自己动手,手工增大该缓存空间,让上网访问更加快捷高效。要改善DNS缓存空间大小时,不妨进行如下设置操作:
首先使用“Win+R”快捷菜单,调用系统运行对话框,输入“regedit”命令并回车,弹出系统注册表编辑窗口。从该编辑窗口左侧列表中,将鼠标定位到注册表分支HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDnscachePar ameters上,看看指定分支下有没有双字节键值“Ca cheHashTableBucketSize”,要是没有该键值的话,不妨手工创建好该双字节键值,同时将其数值设置为“384”(如图6所示),确认后保存设置操作。
其次在注册表分支HKEY_LOCAL_MACHINESYSTEMCurrent Control SetServicesDnscacheParameters下,手工 创 建好“CacheHashTableSize”双字节键值,将其数值修 改 为“64000”;同 样地,在相同的注册表分支下,创建好双字节键值“MaxCacheEntryTtlLimit”,将其数值调整为“301”。继续在目标分支下创建双字节键值“Max SOACacheEntryTtlLimit”,将其数值修改为“300”,最后重启Windows系统。这样,就能增大DNS缓存空间,更多已被访问过的站点解析记录会被存储下来,那么日后用户上网访问相同站点时,速度自然会更快一些。
图6 修改数值
安全访问方面
DNS服务虽然可以提升网络访问速度,但也容易成为恶意用户攻击的对象;要是该服务遭遇攻击,那么网络访问可能会出现安全麻烦,所以我们应该掌握一定的安全预防措施,解决DNS安全访问问题。
1.防止修改缓存内容
为了改善域名解析效率,不少DNS服务器在将域名解析查询结果反馈给终端用户之前,会自动将其保存在高速缓存中,日后发现有以前的域名解析请求发送过来时,它会从高速缓存中直接调用以前的记录,同时将该记录返回给用户,这样既能加快用户网络访问速度,又能减少DNS服务器资源消耗。不过,DNS缓存功能在给我们带来方便的同时,也容易引起恶意用户攻击,比方说,要是恶意用户使用专业工具偷偷篡改缓存内容,不但无法提升用户网络访问速度,而且还会引起解析结果错误,甚至还会劫持用户去浏览恶意内容。
为了防止恶意用户自由调整DNS缓存内容,我们不妨启用DNS服务器的预防缓存污染功能,保证正确的DNS缓存内容,不会受到恶意用户的非法干扰。默认状态下,安装在Windows Server 2003系统中的DNS服务器,已经开启了预防缓存污染功能。一旦看到其被意外关闭时,不妨进行下面的设置,重新启用预防缓存污染功能:
首先以系统管理员权限登录Windows Server 2003服务器系统,逐一点击“开始”、“设置”、“控制面板”选项,进入系统控制面板窗口,双击其中的“管理工具”、“DNS”选项,打开DNS控制界面。选中本地服务器主机图标,打开它的快捷菜单,选择“属性”命令,弹出DNS服务器属性设置框。
点击“高级”选项卡,展开选项设置页面,看看“服务器选项”位置处的“保护缓存防治污染”选项有没有被选中,当看到其没有处于选中状态时,那就意味着DNS服务器当前的缓存污染预防功能已被关闭,这时必须重新选中该选项,确认后退出设置对话框,再重新启动Windows系统即可。
对于普通终端用户来说,如果担心本地DNS缓存内容遭遇恶意修改时,不妨直接停用DNS缓存功能,这样还能避免访问隐私外泄。要关闭终端计算机系统的DNS缓存功能很简单,只要停用DNS Client服务就行,具体操作为:依次单击“开始”、“运行”命令,打开系统运行对话框,在其中执行“services.msc”命令,进入系统服务列表窗口。从中选择DNS Client服务,打开它的右键菜单,点击“属性”命令,展开对应系统服务属性设置框,看看它的工作状态是否正常,如果看到它已经处于正常运行状态时,那就表示本地计算机已经开启了DNS缓存功能。这个时候,只要单击“停止”按钮,同时将启动类型调整为“自动”,点击“确定”按钮即可。
2.防止修改网络配置
在部署有DNS服务器的网络环境中,如果它的网络配置被人随意修改,这很容易造成DNS服务器无法向终端用户提供安全服务。默认状态下,DNS服务器的网络配置信息都存储在Root.dns、Zone_name.dns、Cache.dns等文件中,通过NTFS文件系统的权限管理功能对它们进行严格控制,可以防止任何人随意访问,从而确保DNS配置安全。
以系统管理员权限登录DNS服务器主机系统,打开系统资源管理器界面,将鼠标定位到“C:WINDOWSsystem32dns”目录上,选择该目录右键菜单中的“属性”命令,展开“DNS”目录属性对话框,点击“安全”选项卡,删除对应选项设置页面中的已有用户账号,按“添加”按钮,重新添加合法的用户账号,同时为它们分配适当的访问权限,单击“确定”按钮后,只有特定的账户才能访问这些配置文件,其他任何用户将无权访问它,这能有效避免非法用户的偷偷篡改操作。
此外,DNS服务器的配置内容,还能通过注册表途径进行修改。为了防范这一点,我们可以使用“Win+R”快捷菜单,调用系统运行对话框,输入“regedit”命令并回车,弹出系统注册表编辑窗口,将鼠标定位到注册表分支HKEY_LOCAL_MACHINESYSTEMCurrent Control SetServicesDNS上,用鼠标右键单击该分支选项,从右键菜单中点击“权限”命令,展开特定分支权限设置框,点击“安全”选项卡,在选项设置页面中,依照实际需求进行合理授权,确保仅让受信任的用户账户访问指定注册表分支信息,从而在最大程度上保护DNS服务器网络配置安全。
当然,为了防止恶意用户通过网络途径远程访问DNS服务器,我们还可以切断所有用户的网络访问权限。只要依次单击“开始”、“运行”命令,在弹出的系统运行框中执行“gpedit.msc”命令,打开系统组策略编辑界面。将鼠标定位到该界面的“本地计算机策略”、“计算 机配 置”、“Windows设置”、“安全设置”、“本地策略”、“用户权限分配”分支下,双击该分支下的“从网络访问此计算机”组策略,在其后界面中删除所有用户账号,确认后保存设置操作,这样恶意用户就不能通过网络随意远程登录并修改DNS网络配置了。
3.防止黑客恶意攻击
大多时候,黑客攻击DNS服务器主要目的,就是偷偷窃取网络中的重要配置信息,例如DHCP服务器地址、网关地址、通配符MX记录等。为了避免黑客进行这类攻击,我们可以通过在网络中同时部署多台DNS服务器的方法,来干扰迷惑黑客,让其找不到真正的攻击目标。
例如,先在与单位外网环境部署一台虚假的DNS服务器,在这台服务器中全部使用虚假配置信息,以达到蒙骗黑客目的。之后,在单位内网环境中再安装配置一台真实的DNS服务器,让该服务器对内网用户提供域名解析服务。我们可以在真实的DNS服务器中,添加平时经常要要用到的DNS解析记录,并利用正确设置让其自动将其他解析记录转发给外部服务器。最后对终端计算机进行配置,打开Internet协议属性对话框,选中“使用下面的DNS服务器地址”选项,在首选DNS服务器位置处,输入真实的DNS服务器的IP地址,单击“确定”按钮后执行设置保存操作,以强制内网终端使用真实DNS服务器上网。