为什么要搭建自己的DNS服务器?
国内的DNS已经被严重污染了,很多的域名返回的都是错误的域名。要防止DNS的污染,就需要用一种加密的DNS协议。DNSCrypt 协议就能满足这种要求,DNSCrypt 是一种加密的DNS协议,有很多的DNS服务器都支持这种协议,支持 DNSCrypt 协议的服务器列表在这里。
方案
最好的方案是国内的域名通过国内的DNS服务器(比如114或阿里DNS)查询,国外的通过 DNSCrypt 查询,这就需要dnsmasq的配合。dnsmasq是一个开源的,小巧的DNS服务器,支持很多的配置选项,最大的优点是能通过配置文件指定不同的域名通过不同的DNS服务器来查询。已经有人把这样的配置文件做好了,放在Github上了,叫做dnsmasq-china-list,这是一个国内域名列表。
安装和配置
安装和配置参考这篇文章。
文章中讲的是编译安装的方式,也可以直接在软件源中安装(软件源中不一定有)。
安装dnscrypt-proxy之前必须安装libsodium,centros中,在安装libsodium之后要执行下面这两行命令,不然configure时会有错误: