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

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

标签: dns, Dnsmasq

已有 45 条评论

  1. Klose Klose

    沙发

  2. 可以自动翻么

    1. 那要在自己搭建的DNS上改hosts文件,不过google的ip都被墙了个遍了吧。。。 :eek:

  3. 瞎发 :arrow:

  4. 学习,你可以再试试配个ntp服务器,给我们探路 :wink:

    1. 感觉系统自带的就够用了

  5. Ray Ray

    用vps搭了ss之后,不亦乐乎啊

    1. ss多的用不完- -,闲来没事看看搭建点别的什么来让vps继续发光发热

  6. Klose Klose

    :oops: 这个修改大图的效果帅呆了 大佬

  7. c c

    又换主题了!碉堡!

    1. :?: 总是很美疲劳,实在没救了

  8. 又换主题了,真不错

  9. :idea: 等下我去玩下

  10. 我也搭一个试试,看看具体效果 :wink:

  11. 改的真像一个笔记本了

  12. 我发现最近好像很多人都开始自己搭建DNS了,而我还在用公共DNS :???:

    1. 自建只是娱乐,基本上还是公共DNS

  13. 主题顶部的按钮的文字写成“HOEM”了 :grin:

    1. :grin: 已经改好了

  14. 如果使用自建DNS 是不是就可以访问google了? 然而我用了上面您分享的DNS 却还是不能访问。。。。 :smile:

    1. :arrow: DNS无法解决IP被墙的问题,只是能防止运营商劫持

  15. 发出来,小心查水表, :twisted: 又换主题了

    1. 没涉及到Fan,怎么会查我呢= =,这只是个利国利民的大好事哇 :grin:

  16. 你是不是换过域名?

    1. 是的,换过几个

  17. 简约不简单,大气有内涵!

  18. 没用的,自建dns的请求只要经过GFW就会被篡改。不信你可以从国内向你自建的这个ip查询一下google/fasebook的IP,肯定会被篡改的。

    解决的办法是使用53端口之外的端口。
    在 /etc/dnsmasq.conf里加上 port=5834(随便一个53以外的端口) :wink:

    1. soka,怪不得我在我的DNS上设置了可解析正确google ip的操作,本地却没效果。。。我改一下再试试

      1. 记得你vps上改了dns端口,本地查询的时候就不能用原来的53端口了,得用“IP+你的自定义端口”的形式。

        window下向自定义端口的dns服务器发起查询的话推荐用unbound :roll:

    2. 无名 无名

      其实,最稳妥的办法是加密DNS流量。只要是明文的,GFW就能劫持篡改。可用 stubby 加密DNS流量。

  19. 这个方法会产生一个很明显的问题。就是带CDN的网站,你用国外的DNS会解析出其国外节点的IP,访问速度会比以前慢。最好加一个ChinaIP和 ChinaDNS的判断。 :oops: 评论框表情好评 :wink: :lol: :razz:

  20. 请问自建dns以后可以上草榴吗……?

    1. 那需要一些猥琐的设置,普通的搭建dns不行

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

    1. 家里的路由倒是早早的做了一番工作,但是公司的网络就不行啦

      1. 我在公司也放了一个

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

    1. - -,这个bug有段时间了,我不想改插件,但是单纯改主题我又没什么好办法。暂时先这样吧

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

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

  25. Christophe Lee Christophe Lee

    63.223,哈哈,sentris的小鸡鸡

  26. 感觉个人站长好多程序员 :wink:

  27. 最后发现还是从运营商自动获取的 DNS 比较好 :neutral:

    1. 没感觉,自动获取的快是快,但是劫持是真的有。

  28. uuair uuair

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

添加新评论