通过Dnsmasq自建干净的DNS服务

/ 45评 / 29

不晓得为撒,用网上的一些公共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 (美国)

仅供测试,不保证永久可用

45条回应:“通过Dnsmasq自建干净的DNS服务”

  1. uuair说道:

    现在的新技术使用dnscrypt-wrapper加密访问了。

  2. Richa说道:

    最后发现还是从运营商自动获取的 DNS 比较好 😐

  3. shirley说道:

    感觉个人站长好多程序员 😉

  4. Christophe Lee说道:

    63.223,哈哈,sentris的小鸡鸡

  5. 韩小七说道:

    学习了,等闲了研究研究。https://biji.io/wp-content/plugins/wp-alu-master/static/img/icon_mrgreen.gif

  6. 站长资源网说道:

    自建DNS,也不一定能保证能解析所有域名。解析的好坏,很大程度上取决于离你最近的宽带机房。现在各大电信机房的流量劫持,DNS劫持时有发生。如果你是使用的移动宽带,那你还是通过上游机房代理上网的。
    不会自建DNS的,可以同时使用2家DNS解析服务。

  7. 荒野无灯说道:

    发现你这个评论有bug. 只点击“回复”别人的评论的时候,表情便点击不了。

  8. 荒野無燈说道:

    可以试一下通过路由器来解决 ,体验非常好

发表评论

电子邮件地址不会被公开。 必填项已用*标注