使用Ubuntu系统的用户都知道解决Ubuntu10.04系统上网慢并不很容易,但是本文也帮助大家解决了这个难题.下文就是介绍解决Ubuntu10.04系统上网慢的方法.
Ubuntu上网慢?没错!不要再怀疑,Ubuntu上网的确要比Windows下慢.慢在哪里呢?
在Ubuntu9.10下使用Firefox浏览网页的时候你会发现,左下角的状态栏里,长时间的显示:Lookingupxxxx.com....或者Connectingtoxxxx.com的信息.此时页面保持空白.
当这条信息终于跳过去的时候,便是快速的Transferringdatafromxxxx.com,很快,
页面显示完毕.此时我们得出结论:慢在DNS解析上,而非慢在拉取网页数据上.
在Windows下是默认开启了DNS缓存的,因此所有解析过的域名,短时间内不可能再连接远程DNS服务器进行查询,而是直接从本地的DNS缓存中查询,理论上讲,解析DNS的时间近似于0.而Ubuntu并没有默认开启类似的功能.因此,我们感觉,同样一台机器,同样一根电缆,Windows下的上网速度要优于Ubuntu.
因此,解决Ubuntu上网慢的思路也就来了:我们在本机搭建一个DNS代理服务器,缓存DNS即可.linux下搭建DNS代理的常用软件有:bind、djbdns、dnsmasq和pdnsd等.此处,我们以pdnsd来举例.
1.安装
pdnsd已经加入源里了,安装非常简便:
sudoapt-getinstallpdnsd
安装过程中,它会问你选择何种配置,此处选择manual.
2.配置
sudogedit/etc/pdnsd.conf
修改
server{
label="resolvconf";
}
为
server{
label="resolvconf";
ip=61.233.154.33;
ip=211.98.4.1;
timeout=30;
interval=30;
uptest=ping;
ping_timeout=50;
purge_cache=off;
}
其中:
ip=61.233.154.33;
ip=211.98.4.1;
这两行也可以写成一行ip=61.233.154.33,211.98.4.1;代表当地的DNS服务器地址,如果你上的是校园网,那么这两个地址就是网管阿姨给你的那个DNS和备用DNS了...
可以有多个,根据自己情况填写.这里是铁通的DNS.
后面的参数采用默认就可以了.
3.设置本机的DNS
sudogedit/etc/resolv.conf
在所有内容之前插入一行:
nameserver127.0.0.1
特别的,如果你是ADSL拨号上网(通过pppoeconf配置),那么还需要修改一下文件:
sudogedit/etc/ppp/peers/dsl-provider
在usepeerdns前加#,注释掉.防止ppp强制使用远程DNS,并覆盖resolv.conf
如果你启用了DHCP服务,那么要
sudogedit/etc/dhcp3/dhclient.conf
去掉
#prependdomain-name-servers127.0.0.1;
前面的"#".
4.启动pdnsd
sudo/etc/init.d/pdnsdstart
5.简单测试
digyahoo.com|greptime
第一次结果显示:;;Querytime:11msec
第二次结果显示:;;Querytime:0msec
第三次结果显示:;;Querytime:0msec
第四次结果显示:;;Querytime:0msec
第N次结果显示:;;Querytime:0msec、
至此,我们的本地DNS代理服务器已经搭建成功.当然,这并没有意味着网速会
立马得到提升.但是,当Firefox第二次访问同一个域名下的页面时,Lookingupxxxx.com....或者Connectingtoxxxx.com...的时间已经几乎为0.现在我们的Ubuntu的上网速度已经和Windows下相当了.
本人按照上述方法实验之后,第四步没有成功,提示"Notstartpdnsd"不过可喜可贺的是,第五步竟然成功了!!!也就是说达到了预期效果.
总结:
希望本文介绍的解决Ubuntu10.04系统上网慢的方法能够对读者有所帮助,更多有关linux系统的知识还有待于读者去探索和学习.
于 2012-03-07 19:54:28发表:
应该不是系统的问题,而是所用的DNS服务器不给力,
估计换个好使的DNS地址就行了,没必要在自己机器上搭一个DNS服务
together 于 2012-03-05 16:20:13发表:
我的网速一直觉得还可以