由于ChinaDns的一个问题,经常无法正常解析,甚至无响应。于是寻找替代方案。 目前我是用dnsmasq-china-list分流国内外站点域名的DNS解析,而本地DNS服务器可以使用pdnsd或ss转发。
方式一:使用pdnsd通过TCP方式进行DNS查询
修改/etc/pdnsd.conf
配置
glocal{
#...
server_port = 54; #本地端口
query_method=tcp_only; #查询方式TCP
#...
}
#....
server{
#...
ip = 8.8.4.4
port = 53
#...
}
/etc/init.d/pdnsd enable
方式二:继续使用shadowsocks-libev-spec的DNS转发功能
UDP本地端口:5300
UDP转发地址:8.8.4.4:53
dnsmasq-china-list
dnsmasq-china-list是一个dnsmasq的配置文件,令列表内的域名使用114(默认是114,可以修改为你喜欢的DNS)解析,不再列表外的域名则使用dnsmasq默认设置解析。
- 将 accelerated-domains.china.conf 和 bogus-nxdomain.china.conf 放到
/etc/dnsmassq.d/
目录(如果不存在则新建)。 - 修改
/etc/dnsmasq.conf
- 反注释
conf-dir=/etc/dnsmasq.d
,如果没有则自己新增 - LuCI 中定位至 「网络 - DHCP/DNS」-「基本设置」- 本地服务器 填写 127.0.0.1#5300 或者 127.0.0.1#54(以上例子中pdnsd使用了54端口,而ss转发则用了5300端口)
- 反注释
/etc/init.d/dnsmasq restart
当然,也可以在pdnsd中设置上游服务器为ss的转发。