在很久之前,我就写过在内网部署AdGuard Home实现家庭网络内去广告和保护隐私,但是这个需要在自己机器上部署,出门公网访问也很不方便。而腾讯云(dnspod)在很早之前其公共dns就支持去广告,这样我们可以不用部署任何服务就能实现和AdGuard Home一样的效果。
一、相关基础知识
首先需要了解下为什么使用特殊的dns就可以实现去广告和保护隐私的功能,我们访问互联网内容第一步往往是先解析dns——它负责将网址(如 example.com)解析成实际的 IP 地址。通过使用经过配置的特殊 DNS(如 AdGuard DNS),这些服务在收到解析请求时,会识别并拦截已知的广告域名、追踪器域名或恶意网站,返回无效地址或直接屏蔽,从而实现去广告和保护隐私的功能,而一般的公共dns是没有这些功能,所以平时我们就需要在浏览器上安装相关插件或者在内网上部署AdGuard Home这种。
但是在内网部署AdGuard Home一旦自己外出就没法使用,总不可能你不在家还使用内网的dns吧。当然之前我也写过在公网部署AdGuard Home,但是那个需要自己有服务器,而且也有一定的风险,既然有现成的公共dns能实现刚刚说的功能,直接用公共的更方便。
二、开通服务&开启过滤规则
开通的过程我就不说了(因为我是好几年前开通的,早就没有相关图片),开通这个没要求,也不需要你在腾讯云有任何服务(不需要任何域名服务,点击就能开通)。准确的说应该是dnspod,但是dnspod被腾讯收购后几乎所有的服务都能在腾讯云控制。反正在腾讯云-云解析-公共dns里面开通,不花一分钱,也不需要你在腾讯云有域名,0费用。
开通后会每个月送300万次的解析次数,正常情况下是根本不会耗尽,所以放心用。
默认是不会开启任何拦截规则的,需要手动开启,这里就可以看到拦截规则里面就有Adguard的规则,所以腾讯云这个公共dns拦截效果是和Adguard差不多的,至于剩下的规则,可以看自己需求,我建议是最下面的分类目录不用开启,其他的都开。
三、替换原dns
这里分为两种形式,一种是普通的dns,另一种是用doh(dns over https)/dot(dns over tls),后者是带加密,且不用绑定自己的ip地址,我建议是直接使用doh/dot,更安全也免去了绑定ip的步骤。
先说使用doh/dot的形式,我这里只说一下电脑版要如何配置,手机浏览器等设备可以直接看官方文档,我这就不废话了。电脑在网络设置里面找到dns,然后开启doh,把腾讯云分配给你的dns填入就行。
需要注意的是,安卓目前不支持doh只支持dot,而dot目前是不支持拦截规则和黑白名单,所以如果是使用的安卓用户,需要使用常规的dns并绑定ip。
如果是在家庭网络,可以直接使用普通的公共dns,但是如果要过滤规则那些服务,是需要绑定对应ip(自己宽带的ip地址,不限于是否有公网),官方只给了个绑定ip的url,我这里给出个开机自启脚本,这个脚本放在内网的某个设备,开机自动运行,每过5分钟会自动访问一次那个url实现绑定自己的ip,我这个只适用于alpine系统,其他系统可以自行修改命令,直接把下面的命令粘贴复制到终端内:
cat > /etc/init.d/auto_bind <<'EOF'
#!/sbin/openrc-run
name="Auto Bind DNS"
description="Bind to DNS every 5 minutes"
command="/bin/sh"
command_args="-c 'while true; do curl -s https://link.dns.pub/aaaa/aaaaa; sleep 300; done'"
command_background=true
pidfile="/run/${RC_SVCNAME}.pid"
EOF
chmod +x /etc/init.d/auto_bind
rc-update add auto_bind
rc-service auto_bind start
这样的话就可以把dns更换成腾讯云普通的公共dns地址,绑定了自己网络ip也就能过滤广告那些。
评论前必须登录!
注册