使用本地DNS缓存加速网络浏览

发布时间:2019-10-22编辑:脚本学堂
问题:访问google服务时,总是很慢,发现在looking up for host时花费了大量的时间,就是说在域名解析的时候花费了大量的时间,应该采取措施提高域名解析的速度。

问题:
访问google服务时,总是很慢,发现在looking up for host时花费了大量的时间,就是说在域名解析的时候花费了大量的时间,应该采取措施提高域名解析的速度。

方法一:在/etc/hosts文件中添加主机名字和IP

复制代码 代码如下:
64.233.189.99 www.google.com
64.233.189.104 www.google.com
64.233.189.147 www.google.com
209.85.143.19 mail.google.com
209.85.143.18 mail.google.com
209.85.143.83 mail.google.com
203.208.39.104 www.google.cn
203.208.39.99 www.google.cn
209.85.171.99 google.cn
209.85.165.99 google.cn
72.14.247.99 google.cn
64.233.161.99 google.cn
203.208.35.100 g.cn
203.208.33.100 g.cn
203.208.37.99 g.cn
203.208.39.99 g.cn

这样本机访问google时,域名解析就快了很多。

方法二:使用本地DNS缓存
首先安装:
 

复制代码 代码如下:
sudo apt-get install dnsmasq

然后编辑/etc/dnsmasq.conf,搜索“listen-address”把注释号去掉,并修改为:
 

复制代码 代码如下:
listen-address=127.0.0.1

编辑/etc/dhcp3/dhclient.conf,修改为:
 

复制代码 代码如下:
#supersede domain-name “fugue.com home.vix.com”;
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;

编辑/etc/resolv.conf,在第一行添加
 

复制代码 代码如下:
nameserver 127.0.0.1

示例:
 

复制代码 代码如下:
nameserver 127.0.0.1
nameserver 210.77.69.1
nameserver 210.77.68.240
nameserver 210.77.69.2

重启服务:
sudo /etc/init.d/dnsmasq restart

测试,执行两次就能看出查询时间的差异了:
dig google.com

参考: http://forum.ubuntu.org.cn/viewtopic.php?t=70453

清空DNS缓存
在 Ubuntu 中冲掉 DNS 缓存的方式是重新启动 nscd 守护程序。
安装 nscd 的方式是在命令行中运行这条命令:
sudo aptitude install nscd
在Ubuntu中清 DNS 缓存的命令是:
sudo /etc/init.d/nscd restart

在crontab中添加规则:
* */5 * * * /etc/init.d/nscd restart