smartdns使用china-list

需求

一直使用无污染的dns,但是无污染需要额外代价,常用不用避免污染的域名解析也走无污染服务器的话耗时比较长。
后来发现dnsmasq-china-list整理了常用的国内域名和不需要抗污染的加速域名。
只要根据列表走国内dns,列表外的域名去污染就行。

dnsmasq

dnsmasq配合这个项目使用很简单,用readme里的一件脚本更新规则,修改一下dnsmasq上游服务器就行了。
但是由于dnsmasq的实现问题,对于大量的域名规则都是遍历查询。所以在请求量稍大点的时候就会发现树莓派的cpu使用几乎要满了,查询速度也比较慢。

smartdns

dnsmasq-china-list的维护者已经在#227中表示换用smartdns了,所以我也换成smartdns试了一下。
没怎么说明smartdns的配置,所以这里简单记录一下

  1. github获取项目内容
  2. make smartdns SERVER=china生成配置文件
  3. 修改smartdns的配置,指定默认上游服务器和china组的上游服务器,添加生成的smartdns配置到配置文件
conf-file accelerated-domains.china.smartdns.conf
conf-file apple.china.smartdns.conf
conf-file google.china.smartdns.conf
bind [::]:53
server 127.0.0.1:5301
server 114.114.114.114 -group china

因为没有smartdns的更新脚本,所以需要自己编写更新脚本,挂定时任务自动更新
切换到smartdns后树莓派上看没再发现过dns请求多的情况下cpu暴涨了,而且smartdns的cpu使用一直都比其他程序还低

@

Show Comments