存档

文章标签 ‘ipv6’

firefox: 别整天解析域名了

2011年3月18日 zhubaining 1 条评论
  • 本文链接地址:http://zhubaining.com/blog/2011/03/18/archives/firefox-and-dns
  • 作者:zhubaining

用Firefox上网时,发现经常卡在解析域名的阶段,有时候刚刚访问过的网站,再次访问又要解析域名,真是无法忍受。

于是,使用常规武器:STFW,发现可以尝试修改Firefox的配置,让它将dns缓存一下。

发现效果并不理想,于是尝试安装dnsmasq。要让本机的dns请求先到这个dnsmasq,就需要修改/etc/resolv.conf:

zhubaining@zhubaining-laptop:~$ cat /etc/resolv.conf
nameserver 127.0.0.1
nameserver x.x.x.x

插入“nameserver 127.0.0.1”这一行。

不过悲剧是,一般住所或者公司都用的是DHCP,而DHCP会修改这个文件,导致你插入的这一行丢失。 很多地方都说修改/etc/dhcp3/dhclient.conf,增加prepend那一行:

#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;

但现实是残酷的,发现这招并不奏效。
于是乎,自己很土地写了下面这个很土的脚本,在crontab里面每分钟执行一次:

#!/bin/bash
grep 127.0.0.1 /etc/resolv.conf
if [ $? = 1 ]; then
echo ‘nameserver 127.0.0.1′ >tmp.conf
cat /etc/resolv.conf >> tmp.conf
cp tmp.conf /etc/resolv.conf
fi

执行这么频繁的原因是,我的网络在公司里容易断掉,比如去一次会议时,漫游一把就断了,虽然很悲惨,但这个已经是我努力后的结果了。

故事并没有结束。在访问网络红人磊磊的博客时,发现卡在dns请求那里更久,wireshark抓包后发现:

原来是不停地查询IPV6地址。

好吧,先把这个IPV6地址的查询给禁掉吧: 在about:config里面,将network.dns.disableipv6设置为true.

OK,世界终于快起来了。

分类: linux 标签: , , , ,