扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
网管员小李的单位为了保持上网的稳定性,使用了联通和电信两路互联网出口,在硬件防火墙处通过路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每天生成的网页文件拷贝到这个目录,就可以通过网页的形式看到具体的内容了。
(三)一台WINDOWS主机同时设置多个DNS服务器
namebench一次可为我们提供三个最佳的DNS服务器,但是默认情况下在WINDOWS操作系统中我们只可以设置两个DNS服务器地址,但是只要仔细找一下,就可以发现设置多个DNS服务器地址的地方,依次进入Internet协议(TCP/IP)属性-高级-DNS,在这里我们就可以一次设置多个DNS服务器。
总结:通过namebench程序,我们可以找到目前网络环境下最佳的DNS服务器,灵活运用该程序,我们可以在相同的网络环境中获得更快的上网速度。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者