静看光阴荏苒
不管不顾不问不说也不念

使用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

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

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

赞(2)
未经允许不得转载:荒岛 » 使用CoreDNS搭建一个去广告/无污染的DNS
分享到: 更多 (0)

评论 4

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    不知道这个能不能把自己搭建的adguardhome做上游,然后在adguardhome添加过滤规则,这样能否过滤掉广告。
    直接用adguardhome好像效果不好,油管的广告都过滤不了。最近一直在找一个dns方案能过滤掉油管广告的

    myannascar1个月前 (12-09) Microsoft Edge 18.18362 Microsoft Edge 18.18362 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 你是不是说错了。。adguardhome的效果不好你还把adguardhome做上游然后继续在adguardhome里面添加规则??那最后和直接用adguardhome没区别呀。

      LALA1个月前 (12-10) Google Chrome 74.0.3729.169 Google Chrome 74.0.3729.169 Windows 10 x64 Edition Windows 10 x64 Edition回复
  2. #2

    好久没来了,一来就看到DNS相关的文章。正好最近需要,我也试试。

    TheEastWind1个月前 (12-09) Google Chrome 78.0.3904.108 Google Chrome 78.0.3904.108 Windows 10 x64 Edition Windows 10 x64 Edition回复
  3. #3

    屏蔽规则的话还是自己改吧,比如这个我自己用的 :shock: https://www.codepile.net/pile/p2d8RD2G

    橘子1个月前 (12-09) Google Chrome 77.0.3833.80 Google Chrome 77.0.3833.80 Windows 7 Windows 7回复

分享创造快乐

广告合作资源投稿