-
Notifications
You must be signed in to change notification settings - Fork 652
如何在做本地DNS解析缓存,优化Unblock Youku DNS在较远地区的使用体验
Baiyi "Patrick" Liao edited this page May 7, 2017
·
1 revision
恭喜,你现在已经会用Unblock Youku的DNS来解锁各种国内网站了。
但如果你是个离北美大陆比较远一点的地方(例如在日本和欧洲的一些国家),
你可能会注意到解析的速度非常慢,具体的表现为网页得转好久才会开始加载但是加载的时候就很快。
原因就在于你距离Unblock Youku 的DNS太远了,每次打开网页时浪费的时间都浪费在拉取DNS解析记录了。
比如我,就在日本租了一台Linode,打开b站那叫一个慢...
好消息是,对于Linux和mac用户,你们的福音来了。
只需在本地缓存这些DNS解析记录即可解决问题。而且这么做还可以帮助Unblock Youku的服务器缓解压力,你的贡献可不会少于捐助哟~~
- 备份
/etc/resolv.conf
这个文件,具体可以这么做:
cp /etc/resolv.conf /etc/resolv.conf.original
- 使用以下命令来安装bind9
apt -y install bind9
- 运行以下命令来备份原版配置文件
mv /etc/bind/named/named.conf.options /etc/bind/named.conf.options.original
- 写一个bind9的配置文件,文件名为
named.conf.options.original
,当然你也可以直接把这个现成的写进去:
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
max-cache-size 65536;
forwarders {
158.69.209.100;
45.32.72.192;
// 8.8.8.8;
// 8.8.4.4;
// 2001:4860:4860::8888;
// 2001:4860:4860::8844;
};
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation no;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
具体偷懒方法:
- vim一下配置文件(应该里面什么都没有,如果你做了第一步的话)
vim /etc/bind/named.conf.options
- 按一下
I
键,进入编辑模式 - 复制上面的范例,然后对着编辑窗口右键粘贴
- ESC,然后输入:
:wq
即可。
- 打开你的系统的DNS设置,将DNS设置为127.0.0.1
如果你是Ubuntu或者其他Linux系的用户,可以修改 刚刚提到的```/etc/resolv.conf```文件
- 用你习惯的编辑器(例如我刚刚用的vim)打开
/etc/resolv.conf
文件- 注释所有其他行,然后新增如下行
nameserver 127.0.0.1
保存退出,搞定。
- 重启一下bind9服务,让你的配置文件生效
systemctl restart bind9
- 这时你的本地DNS应该就搭建完成了,你可以通过如下命令试一下你的成果:
dig @localhost bilibili.com
如果能正确解析,并且解析结果里有42.96开头的一个服务器,那就表明你做对了,恭喜。