原文: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 服务器地址。