解决Ubuntu DNS解析慢、上网速度慢

自从ubuntu升级到10.04后,上网速度感觉变慢了很多(ADSL),原因也众说分云,有说是firefox浏览器造成的,于是用chrome访问,速度依然很慢,可见不是由于浏览器造成的。

网速慢, 是因为浏览器在对DNS解析上花费了大量的时间,所以我们要做的工作就是加速DNS的解析。

安装dnsmasq

第1步、 sudo apt-get install dnsmasq

第2步、sudo gedit /etc/dnsmasq.conf,找到 #resolv-file=,用resolv-file=/etc/resolv.dnsmasq.conf替换,确保你没有更改过/etc/resolv.conf文件,如果改过,恢复原状

第3步、sudo cp /etc/resolv.conf /etc/resolv.dnsmasq.conf

第4步、修改ADSL ip4的DNS服务器地址为127.0.0.1这里一定要从图型界面修改,否则重启后resolv.conf会被重写

图一

图二

  
第5步、 重新启动 dnsmasq sudo /etc/init.d/dnsmasq restart

再次访问网页,你会发现解析速度比以前快了N个数量级。

小测试,访问gagahappy.com,调用 dig gagahappy.com 两次

第一次
Query time: 21 msec
SERVER: 127.0.0.1#53(127.0.0.1)
WHEN: Sun Oct 17 22:18:00 2010
MSG SIZE rcvd: 47

第二次
Query time: 0 msec
SERVER: 127.0.0.1#53(127.0.0.1)
WHEN: Sun Oct 17 22:18:49 2010
MSG SIZE rcvd: 47

你会发现使用dnsmasq快了N个数量级

 

以下方法第4步不能使用,试过不行。

注意:在这里要说一下修改resolv.conf的问题,网上的方法是在第3步后

1、 编辑resolv.conf sudo gedit /etc/resolv.conf

2、将其中的域名服务器全部去掉,加入nameserver 127.0.0.1

3、执行命令sudo gedit /etc/ppp/peers/provider(Ubuntu 10.04的文件名是provider,其他版本可能不同)
  
4、在 usepeerdns 前面增加# ,也就是把这条语句覆盖掉,以防resolv.conf的设置被pppoe覆盖

经重新启动后,resolv.conf文件依然会被重写,即加入的127.0.0.1丢失,造成dnsmasq失效,访问速度依然很慢

posted @ 2014-01-05 13:34  编程思想家  阅读(1548)  评论(0编辑  收藏  举报