不晓得为撒,用网上的一些公共DNS服务的时候,总是莫名其妙的有些网站无法解析,有时候114能解析,阿里DNS不行或者腾讯DNS不行,导致总是来回切换DNS,很是烦心。
于是就想着自己搭建一个DNS服务会不会好一点?网上搜了一下,好像很复杂的样子,一直就没动手,但是今天试了下,发现出奇的简单,体验了一番,感觉效果良好。
首先你要有一个VPS,质量不用太好,我在我美国的64M内存的VPS上面完美安装,看了下内存32M应该也是可以的。
如果你对解析速度要求比较高,建议是用亚洲的VPS,甚至用国内VPS中转也是可以的,但是成本就略高了点,还是根据自己需求DIY吧。
安装Dnsmasq
yum install dnsmasq -y
service dnsmasq start
配置Dnsmasq
Dnsmasq的配置文件是 /etc/dnsmasq.conf,编辑成如下格式:
需要注意的一点是,检查一下no-hosts前面是不是已经有了#号,默认的情况下是有的,dnsmasq 会首先寻找本地的 hosts 文件再去寻找缓存下来的域名, 最后去上游dns 服务器寻找。
一般搭建DNS服务,可以允许所有用户使用你的DNS服务,即listen-address默认注释掉即可,如果你不想所有用户都使用你的DNS服务,可以在listen-address后面加上你指定的IP地址,如:
listen-address=listen-address=192.168.1.123,127.0.0.1
修改Dnsmasq上游DNS服务器
编辑 /etc/resolv.conf ,参考如下:
nameserver 8.8.8.8
nameserver 4.4.4.4
启动Dnsmasq并加入启动项
chkconfig dnsmasq on
/etc/init.d/dnsmasq restart
执行 netstat -tunlp|grep 53
可以查看Dnsmasq是否有正常启动
剩下的就是修改你本地的DNS就可以了。
提供一个我搭建好的DNS
63.223.104.179 (美国)
仅供测试,不保证永久可用