阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

使用AdGuard Home搭建一个无广告和跟踪的公共DNS

160次阅读
没有评论

共计 2160 个字符,预计需要花费 6 分钟才能阅读完成。




AdGuard Home 是一款全网广告拦截与反跟踪软件。在您将其安装完毕后,它将保护您所有家用设备,同时您不再需要安装任何客户端软件。随着物联网与连接设备的兴起,掌控您自己的整个网络环境变得越来越重要。

简单点说 AdGuard Home 就是一个公共 DNS 服务,如 Google 的公共 DNS8.8.8.8,和 DNSmasq 一样 AdGuard Home 是开源的,可以自行搭建安装后在客户端配置使用。xiaoz 之前分享过一个自己写的项目PHPDNS,PHPDNS 在 DNSmasq 的基础上开发了 WEB 界面,功能比较简单,不过该项目不在维护,这里推荐功能更加强大的 AdGuard Home

AdGuard Home 使用 Golang 开发,编译好了各大平台的二进制文件,因此安装非常简单,这里以 CentOS 7 为例,其它系统可参考官方帮助文档。

AdGuard Home 主要功能

  • 拦截随处可见的广告
  • 注重隐私保护
  • 家庭保护模式
  • 自定义过滤

CentOS 7 X64 安装

AdGuard Home 二进制文件位于https://github.com/AdguardTeam/AdGuardHome/releases 可根据自己的平台下载最新版本。CentOS 7 安装方法如下:

# 下载 AdGuard Home
wget http://soft.xiaoz.org/linux/AdGuardHome_v0.93_linux_amd64.tar.gz
#解压
tar -zxvf AdGuardHome_v0.93_linux_amd64.tar.gz
#进入 AdGuardHome 目录
cd AdGuardHome
#放行 3000 端口(AdGuardHome 初始化需要使用)#firewalld 放行 3000 端口
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
#iptables 放行 3000 端口
iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
service iptables save
#启动 AdGuard Home
./AdGuardHome

运行 AdGuardHome 后,会提示打开 http://IP:3000 端口进行初始化,如下截图。

浏览器打开http://IP:3000, 根据提示无脑的下一步即可。首次初始化会要求设置账号、密码(请牢记),下次登录需要使用。

AdGuardHome 基本设置

设置中文

进入 AdGuardHome 后台 – 网页右下方 – 可设置为繁体中文,感觉是机器翻译的,不太准确,将就用。

设置上游 DNS

AdGuard Home 默认使用 Cloudflare DNS 作为上游服务器,如果您服务器在国内可能请求上游 DNS 延迟比较高,在后台 – 设定 – 可以设置为国内的 DNS,如腾讯的119.29.29.29,但坏处是不支持 DNS over TLS

过滤器

在后台 – 过滤器,可以看到 AdGuardHome 内置了部分广告过滤规则,但在中国有点水土不服,如果要想更完美的实现广告屏蔽还需要自己添加规则。

以下是过滤规则的一些说明,更多规则可以在 AdGuardHome 后台查看或参考官方帮助文档。

  1. ||example.org^ – 封锁 example.org 域及其他子域
  2. @@||example.org^ – 解除封锁 example.org 域及其他子域
  3. 127.0.0.1 example.org – 将 example.org host 指向到 127.0.0.1(不包含其他子域)
  4. ! – 注释符号
  5. # – 也是一个注释符号
  6. /REGEX/ – 正则表达式模式

额外设置

为了方便管理,可以继续输入命令 ./AdGuardHome -s install 安装为服务,然后就可以使用下面的命令来进行管理了。

# 启动
systemctl start AdGuardHome
#开机自启
systemctl enable AdGuardHome
#重启
systemctl restart AdGuardHome
#停止
systemctl stop AdGuardHome

DNS 默认使用 53(TCP/UDP)端口进行通信,因此别忘记放行 53 端口,否则 DNS 无法正常使用。

#firewalld 放行 53 端口
firewall-cmd --zone=public --add-port=53/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --reload
#iptables 放行 53 端口
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
service iptables save

总结

AdGuard Home 支持 MacOS、Windows、Linux、树莓派等系统,提供二进制和 docker 安装方式,安装简单。AdGuard Home 还提供了直观的统计系统,使用方便。如果您打算自建一个公共 DNS,AdGuard Home 值得一试。

其它

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计2160字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中