解决Ubuntu 10.04 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个数量级
注意:在这里要说一下修改resolv.conf的问题,网上的方法是在第3步后
编辑resolv.conf sudo gedit /etc/resolv.conf
将其中的域名服务器全部去掉,加入nameserver 127.0.0.1
执行命令sudo gedit /etc/ppp/peers/provider(Ubuntu 10.04的文件名是provider,其他版本可能不同)
在 usepeerdns 前面增加# ,也就是把这条语句覆盖掉,以防resolv.conf的设置被pppoe覆盖
以上方法经本人实践,在ubuntu10.04 + ADSL上网环境中无效,经重新启动后,resolv.conf文件依然会被重写,即加入的127.0.0.1丢失,造成dnsmasq失效,访问速度依然很慢