记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

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

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

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

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

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

参考:https://www.xiaoz.me/archives/12318

AdGuard Home主要功能

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

CentOS 7 X64安装

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

XML/HTML代码
  1. #下载AdGuard Home  
  2. wget http://soft.xiaoz.org/linux/AdGuardHome_v0.93_linux_amd64.tar.gz  
  3. #解压  
  4. tar -zxvf AdGuardHome_v0.93_linux_amd64.tar.gz  
  5. #进入AdGuardHome目录  
  6. cd AdGuardHome  
  7. #放行3000端口(AdGuardHome初始化需要使用)  
  8. #firewalld放行3000端口  
  9. firewall-cmd --zone=public --add-port=3000/tcp --permanent  
  10. firewall-cmd --reload  
  11. #iptables放行3000端口  
  12. iptables -A INPUT -p tcp --dport 3000 -j ACCEPT  
  13. service iptables save  
  14. #启动AdGuard Home  
  15. ./AdGuardHome  

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

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

AdGuardHome基本设置

设置中文

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

设置上游DNS

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

过滤器

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

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

XML/HTML代码
  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 安装为服务,然后就可以使用下面的命令来进行管理了。

XML/HTML代码
  1. #启动  
  2. systemctl start AdGuardHome  
  3. #开机自启  
  4. systemctl enable AdGuardHome  
  5. #重启  
  6. systemctl restart AdGuardHome  
  7. #停止  
  8. systemctl stop AdGuardHome  

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

XML/HTML代码
  1. #firewalld放行53端口  
  2. firewall-cmd --zone=public --add-port=53/tcp --permanent  
  3. firewall-cmd --zone=public --add-port=53/udp --permanent  
  4. firewall-cmd --reload  
  5. #iptables放行53端口  
  6. iptables -A INPUT -p tcp --dport 53 -j ACCEPT  
  7. iptables -A INPUT -p udp --dport 53 -j ACCEPT  
  8. service iptables save  

 总结

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

其它

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):