AdGuard Home:搭建去广告DNS | 树莓派

原文:https://blog.uniartisan.com/archives/noads_dns.html

AdGuard Home 项目是著名广告拦截器 AdGuard 里 DNS Server 的一个开源版本。该项目的原理是,在 DNS 的域名解析的过程里拦截网页上的广告。

该项目代码与ADGuard DNS核心代码几乎相同,所以您不必考虑效率问题。

DNS:网络世界的指南针

DNS,英文全称「Domain Name Server」,域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,以及控制因特网的电子邮件的发送。

##构建Adguard HOME
AdGuard Home 与 PI-Hole 最大的不同在于:开箱即用。

以X64 Linux为例:

wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz
tar xvf AdGuardHome_linux_amd64.tar.gz
cd AdGuardHome
sudo chmod u+x AdGuardHome
sudo ./AdGuardHome -s install

tar -zxvf 用于解压  .tar.gz 后缀结尾的

tar -xvf 用于解压   .tar后缀结尾的

如果安装过程出现以下提示:

请检查服务器的80以及53端口是否冲突,这两个端口程序需要使用。

注意一个问题,二进制安装的程序是前台显示,请安装完成后,请使用以下命令加入后台运行:

ps -ef | grep AdGuardHome | grep -v grep | awk '{print $2}' | xargs kill -9;supervisorctl shutdown;supervisord -c /etc/supervisord.conf
nohup /home/AdGuardHome/AdGuardHome &
或者可以使用命令

./AdGuardHome -s install
安装为服务,就能使用自带的systemctl控制命令了。

#启动
systemctl start AdGuardHome
#开机自启
systemctl enable AdGuardHome
#重启
systemctl restart AdGuardHome
#停止
systemctl stop AdGuardHome
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
iptables -A INPUT -p udp --dport 3000 -j ACCEPT
iptables-save

树莓派:

wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_arm.tar.gz
tar xvf AdGuardHome_linux_arm.tar.gz
cd AdGuardHome
sudo chmod u+x AdGuardHome
sudo ./AdGuardHome -s install

猫盘

cd /root/ && wget -N --no-check-certificate https://gitee.com/fkj2005/catdriver-Adguard/raw/master/install.sh && chmod +x install.sh && sh install.sh

Docker | 不建议使用

docker pull adguard/adguardhome
docker run --name adguardhome -v /my/own/workdir:/opt/adguardhome/work -v /my/own/confdir:/opt/adguardhome/conf -p 53:53/tcp -p 53:53/udp -p 67:67/udp -p 68:68/tcp -p 68:68/udp -p 80:80/tcp -p 443:443/tcp -p 853:853/tcp -p 3000:3000/tcp -d adguard/adguardhome

请修改数据库目录为您需要的目录。

请注意:
默认会占用3000、56、63、80等端口,当然您也可以修改。
打开浏览器,输入网址 http://yourip:3000/,就可以登录 AdGuard Home 网页端,并对 AdGuard Home 进行一些设置。

在「仪表板」上,我们可以看到 DNS 查询次数、被过滤器封锁的网站、查询 DNS 请求的 IP 地址等等信息。

仪表盘

您需要首先设置上游 dns 服务器,建议使用114、腾讯、谷歌、阿里的 ipv4 dns 服务器和 cnnic 的 ipv6 dns,对于用树莓派来建立 dns 的同学请务必禁用 edns。

移动、联通、电信默认的 dns 服务器极有可能返回错误的 IPv6 结果,导致 IPv6 优先的浏览器部分网站无法访问或者访问慢。

移动对于QQ、微信的图像进行了错误的解析: ::1, ipv4也是移动自己的地址。
移动地址移动地址

为了更强力的拦截广告效果,我们可以做两件事。

第一,勾选「使用 AdGuard 浏览安全网络服务」、「使用 AdGuard 家长监控网络服务」、「强制执行安全搜索」。
第二,建议禁用自带 Adhost 规则导入 adblock 规则,程序兼容了两种规则语法。

开箱即用 DNS

提供教育网 IPv4 DNS 同时可解析 IPv6, 解析域名: edudns.unirtisan.com 获取地址。
暂时未启用 doh、dot

服务器配置分享

DNS配置

223.5.5.5
223.6.6.6
119.29.29.29
182.254.116.116
2400:3200::1
2400:3200:baba::1
240c::6666
240c::6644
tls://223.5.5.5
tls://223.6.6.6
tls://dns.pub
https://doh.pub/dns-query
https://dns.alidns.com/dns-query

去广告配置

https://files.uniartisan.com/anti-ad/filter.txt
https://files.uniartisan.com/anti-ad/anti-ad-easylist.txt

仅供日常使用,切勿恶意攻击服务器,解析地址!

设置设备 dns

路由器

此设置将自动覆盖连接到您的家庭路由器的所有设备,您不需要手动配置它们。

  • 打开您的路由器配置界面。通常情况下,您可以通过浏览器访问地址(如 http://192.168.0.1/ 或 http://192.168.1.1 )。打开后您可能需要输入密码以进入配置界面。如果您不记得密码,通常可以通过按下路由器上的重置按钮来重设密码。一些路由器可能需要通过特定的应用来进行这一操作,请确保您已经在计算机或手机上安装了相关应用。
  • 找到路由器的 DHCP/DNS 设置页面。您会在 DNS 这一单词旁边找到两到三行允许输入的输入框,每一行输入框分为四组,每组允许输入一到三个数字。
  • 请在此处输入 DNS 服务器地址。
其他平台