跳转到内容
登录关注  
洛汐

使用CoreDNS搭建一个去广告/无污染的DNS

已推荐帖子

CoreDNS常规用途是用于k8s内的DNS和服务发现,但因为这个东西有很多插件又是go开发的,所以完全可以单独拿来出使用。

CoreDNS的配置语法也非常简单是类Caddy的,这里我把它部署在本地局域网的一台Debian9内,实现无污染的DNS和广告过滤。当然它也支持Windows等其他平台,你直接装在电脑内使用也是可以的。总而言之CoreDNS是一款扩展性很强的工具。

安装supervisor:

apt -y update
apt -y install supervisor

下载/解压coredns:

mkdir -p /opt/coredns && cd /opt/coredns
wget https://github.com/coredns/coredns/releases/download/v1.6.5/coredns_1.6.5_linux_amd64.tgz
tar -xzvf coredns_1.6.5_linux_amd64.tgz

下载hosts文件,用于屏蔽广告域名(不需要屏蔽广告的话可以省略这些步骤)

wget https://github.com/StevenBlack/hosts/archive/2.5.28.tar.gz
tar -xzvf 2.5.28.tar.gz
cp hosts-2.5.28/hosts ./adblock.hosts

新建一个CoreDNS的配置文件:

nano Corefile

写入如下配置:

. {
    hosts adblock.hosts {
       fallthrough
    }
    forward . tls://1.1.1.1 tls://1.0.0.1 {
       tls_servername cloudflare-dns.com
       health_check 5s
    }
    cache 30
    log
}

注:

1.hosts配置块指定hosts文件,不在hosts文件内的域名全部移交给下一个配置块解析。

2.forward配置块用于DNS转发,将请求转发到支持DoT的DNS上防DNS污染。

配置好了之后新建一个supervisor的配置文件:

nano /etc/supervisor/conf.d/coredns.conf

写入:

[program:coredns]
priority=1
directory=/opt/coredns
command=/opt/coredns/coredns -conf Corefile
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/supervisor/coredns.log

更新supervisor配置然后查看coredns的运行状态,回显RUNNING就OK了:

supervisorctl update
supervisorctl status coredns

简单测试一下是否能够正常工作:

lala.im_2019-12-09_15-15-29.png

未完待续。。因为我发现支持hosts这种格式的广告屏蔽规则不是很多,屏蔽的不彻底。。

查看完整帖子

分享这篇帖子


链接帖子

参与讨论

你现在可以发表并稍后注册。 如果你有帐户,现在就登录参与讨论。

游客
回复主题...

×   粘贴为富文本.   粘贴为纯文本来代替

  只允许使用75个表情符号.

×   你的链接已自动嵌入.   显示为链接来代替

×   你之前的内容已恢复.   清除编辑器

×   你无法直接粘贴图片。要从网址上传或插入图片。

登录关注  

×
×
  • 创建新的...