网络通信 频道

网管员实战手册:寻找最可靠DNS服务器

  【IT168专稿】网管员小李的单位为了保持上网的稳定性,使用了联通和电信两路互联网出口,在硬件防火墙处通过路7由命令实现了访问联通的网段走联通的出口,访问电信的网段走电信的出口。这样可以减少由于两家运营商互联的瓶颈问题,但是最近本地两家运营商的DNS服务器都出现了问题,所以给用户造成了上网故障。因此,及时向用户提供可靠的DNS服务器成了小李必须的工作。为了解决这一问题,小李一直在找一种能够自己寻找可靠DNS服务器的方式,终于功夫不负有心人,今天终于被小李找到了,那就是namebench。

  Namebench有三个版本,分别是WINDOWS、MAC OS和LINUX,经过小李的比较,还是LINUX版本用起来比较方便一些。主要因为这个程序要运行一段比较长的时间才能出现结果,而且都是后台运算,在WINDOWS中既费时间又占资源。这种程序放在LINUX中(我们在机房中放置了一台旧电脑作LINUX主机)最合适了,让namebench在字符界面下高效运行,最后取得所需的结果即可。

  一、下载地址

  http://code.google.com/p/namebench/downloads/detail?name=namebench-1.3.1-source.tgz

  二、安装

  这是一个标准的LINUX的压缩文件格式,我们把它解压即可。

  [root@ziphost tmp]# gunzip namebench-1.3.1-source.tgz

  [root@ziphost tmp]# tar -xvf namebench-1.3.1-source.tar

  三、运行

  进入解压后的目录即可运行。一般情况下我们只需简单的键入./namebench.py即可,程序在运行过程中会不断的显示一些信息,如下所示:

  [root@ziphost namebench-1.3.1]# ./namebench.py

  namebench 1.3.1 - best source (automatic) on 2011-08-06 07:07:49.525422

  threads=40/2 queries=250 runs=1 timeout=3.5 health_timeout=3.75 servers=11

  ------------------------------------------------------------------------------

  - Reading Top 2,000 Websites (Alexa): data/alexa-top-2000-domains.txt (0.7MB)

  - Top 2,000 Websites (Alexa) data took 9.7s to read!

  - Reading Cache Latency Test (100% hit): data/cache-hit.txt (0.1MB)

  - Reading Cache Latency Test (100% miss): data/cache-miss.txt (0.1MB)

  - Reading Cache Latency Test (50% hit, 50% miss): data/cache-mix.txt (0.1MB)

  - Skipping /root/.mozilla/firefox/ivzsfapp.default/history.dat (only 9301b)

  - Skipping /root/.kde/share/apps/konqueror/konq_history (only 12b)

  - Generating tests from Top 2,000 Websites (Alexa) (33575 records, selecting 250 automatic)

  - Selecting 250 out of 33542 sanitized records (weighted mode).

  以上只是程序开始时出现的一部分信息,但是从显示的信息中我们也可以看出namebench的工作原理,即它是通过向全球排名靠前的2000个WEB站点和本机的浏览记录中的网站测试使用各个DNS服务器的连接速度,并最终向我们提供三个最快及离我们最近的三个DNS服务器。我们使用这三个DNS服务器,可以在相同的网络条件下,获得更快的上网速度。

  总体来说namebench的使用是非常简单的,虽然有一些参数,但是我们使用不带参数的namebench.py命令已经可以得到足够多的信息了,下面我们结合着LINUX操作,介绍一些实用的操作。

  四、namebench在操作系统中的灵活运用

  (一)让namebench每天在指定的时间自动运行

  namebench的功能这么强大,我们需要让它每天运行一次,每天都能够为我们提供当前最好用的DNS服务器,这个功能可以通过LINUX的crontab指令即可方便的实现。具体操作如下:

  [root@ziphost tmp]# crontab -e

  添加如下一条内容:

  16 4 * * * /var/namebench-1.3.1/namebench.py

  即在每天的凌晨4点16分 开始执行namebench.py这个程序。

  然后通过service crond restart命令重启crontab进程,如下所示:

  [root@ziphost tmp]# service crond restart

  停止 crond:[确定]

  启动 crond:[确定]

  这样我们每天就会得到namebench提供的符合当前网络的三个DNS服务器。

  (二)让namebench提供的信息通过网页的形式显示出来

  通过在LINUX主机中安装APACHE软件,可以实现WEB网页的发布功能,比如我们在/usr/local/apache2/htdocs目录下新建一个namebench目录,将namebench每天生成的网页文件拷贝到这个目录,就可以通过网页的形式看到具体的内容了,如图1所示:


▲图1 通过网页的形式浏览namebench提供的信息

  (三)一台WINDOWS主机同时设置多个DNS服务器

  namebench一次可为我们提供三个非常好的的DNS服务器,但是默认情况下在WINDOWS操作系统中我们只可以设置两个DNS服务器地址,但是只要仔细找一下,就可以发现设置多个DNS服务器地址的地方,依次进入Internet协议(TCP/IP)属性-高级-DNS,在这里我们就可以一次设置多个DNS服务器,如图2所示:


▲图2 在WINDOWS操作系统中一次设置多个DNS服务器

  总结:通过namebench程序,我们可以找到目前网络环境下非常好的的DNS服务器,灵活运用该程序,我们可以在相同的网络环境中获得更快的上网速度。

0
相关文章