为什么同样的网站别人没广告?原来问题出在DNS上
前言
不知道你有没有这种感觉。
以前上网最烦的是网速慢,现在上网最烦的是广告太多。
打开网页先弹广告,看视频先看广告,手机里的各种APP隔三差五弹出推广内容。更让人无奈的是,很多广告根本不是最讨厌的部分,那些隐藏在网页背后的追踪脚本、数据分析器和各种统计服务,才是真正让人头疼的存在。
很多人尝试过安装广告拦截插件。
电脑上效果不错,可手机怎么办?平板怎么办?电视怎么办?家里的智能音箱、电视盒子和各种智能设备又怎么办?
于是问题变得越来越明显:
如果每台设备都要单独配置一次,那几乎不可能长期维护。
后来我发现,解决问题最简单的方法并不是给每台设备安装插件,而是直接从网络入口下手。
AdGuard Home 就是这样一个工具。它通过接管家庭网络中的 DNS 解析,把广告域名、追踪器和恶意网站拦截在请求发出之前。无论是电脑、手机、电视还是 IoT 设备,只要接入同一个网络,都能够自动获得过滤能力。真正做到一次部署,全家受益。
1.什么是AdGuard Home?
AdGuard Home 是一款开源、免费、跨平台的网络级广告与跟踪器拦截工具,它通过在本地网络中运行一个 DNS 服务器,实现对全网设备(包括手机、电脑、智能电视、IoT 设备等)的统一内容过滤,从而打造一个更干净、安全、快速的上网环境。
核心原理:基于 DNS 的全局过滤
AdGuard Home的工作方式不同于浏览器插件,它不依赖于单个设备,而是部署在网络的“上游”——通常是一台家庭服务器、树莓派或 NAS 设备上。所有连接到该网络的设备,只要将DNS指向AdGuard Home所在的IP地址,其网络请求就会被自动过滤。
一次部署,全家生效
无需在每台设备上单独安装软件,连智能音箱、游戏机等“无法装插件”的设备也能享受无广告体验。
技术特点
开源免费:代码公开在GitHub,社区活跃,透明可信。
轻量高效:单二进制文件运行,资源占用低,适合树莓派等低功耗设备。
支持DoH / DoT:可配置上游DNS使用加密协议,提升隐私性。
Web管理界面:提供直观的图形化控制面板,配置简单,无需命令行操作。
跨平台支持:支持Linux、Windows、macOS、FreeBSD、Docker等。
典型应用场景
- 家庭网络净化
- 企业内网安全增强
- NAS或家庭服务器增值功能
- 替代公共DNS
2.linux安装AdGuard Home
如果系统没有wget,使用以下命令安装:
#rhel系列的操作系统:yuminstallwget-y#debian系列的操作系统:aptinstallwget下载压缩包:
wget--no-check-certificate https://static.cdn.muzzink.cn/attachments/AdGuardHome_linux_amd64-v0.107.67.tar.gz将压缩包移动到/opt目录,并解压缩:
mvAdGuardHome_linux_amd64-v0.107.67.tar.gz /optcd/opttar-xvfAdGuardHome_linux_amd64-v0.107.67.tar.gz解压完成之后,当前目录下会出现AdGuardHome文件夹,执行以下命令安装程序并自启:
添加AdGuardHome服务,实现便捷启动:
vi/etc/systemd/system/AdGuardHome.service[Unit]Description=AdGuard HomeAfter=network.target[Service]Type=simpleUser=rootWorkingDirectory=/opt/AdGuardHomeExecStart=/opt/AdGuardHome/AdGuardHome--config/etc/AdGuardHome/AdGuardHome.yamlRestart=on-failureRestartSec=5[Install]添加服务后,重新加载服务,启动:
systemctl daemon-reload systemctl restart AdGuardHome启动后,根据生成的ip+端口即可通过浏览器访问(正常端口都是3000):
3.windows安装AdGuard Home
在 AdGuardHome/releases 中下载AdGuardHome_windows_amd64.zip:
解压到自己所设目录,例如(D:\1):
进入AdGuardHome目录,点击应用程序AdGuardHome:
点击后,会出现终端,根据Ip和地址访问即可:
4.配置AdGuard Home
4.1 基础配置
开始配置:
均选择“所有接口”:
设置用户名及密码:
配置后即可打开仪表盘啦!
4.1 DNS配置
设置上游DNS服务器,修改为:
https://doh.pub/dns-query https://dns.alidns.com/dns-query https://doh.360.cn点击“测试上游”后会提示已正常运行。
设置Bootstrap DNS服务器,修改为:
119.29.29.29223.5.5.5223.6.6.6划到最下面,选择应用:
DNS缓存根据自己需要配置:
这样我们简单的配置就完成啦!
AdGuard Home默认只能在本地局域网中访问和使用。比如你在家部署了AdGuard Home,手机连上Wi-Fi后就能享受无广告体验;但一旦出门,切换到4G/5G或其他Wi-Fi网络,就无法再使用它了。
更进一步,如果你希望:
- 在公司远程登录AdGuard Home管理界面调整规则;
- 让父母家的设备也能使用你精心配置的过滤策略;
- 临时分享一个“干净DNS”给朋友测试……
这些需求都超出了局域网的边界,而传统方案(如公网IP、DDNS、端口映射、自建VPN)对普通用户门槛过高,且多数家庭宽带根本不分配公网IPv4地址。
这时,cpolar就派上了用场。跟我一起来继续部署吧!
5.安装cpolar实现随时随地开发
5.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
5.2 部署cpolar
cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
sudocurlhttps://get.cpolar.sh|sh安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudosystemctl status cpolarCpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。
6.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:adguard,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:3000
- 域名类型:随机域名
- 地区:选择China Top
创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。
访问成功。
7.保留固定公网地址
使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。
点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是adguard,大家可以自定义。填写备注信息,点击保留。
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。
更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。
最后,这样一个永久不会变化的二级子域名公网网址即设置好了。
总结
很多人第一次接触 AdGuard Home,往往是为了屏蔽广告。但真正使用一段时间后会发现,它带来的价值远不止于此。除了减少网页广告和应用推广内容之外,对于各种追踪脚本、恶意域名以及隐私泄露风险同样具有不错的防护效果。
本文分别完成了 AdGuard Home 在 Linux 与 Windows 环境下的安装部署,并对上游 DNS、Bootstrap DNS 以及基础过滤规则进行了配置。通过这些设置,一个统一的家庭 DNS 过滤中心就已经搭建完成。
相比浏览器插件方案,AdGuard Home 最大的优势在于覆盖范围。手机、平板、电视、游戏机以及各种智能家居设备都能够共享同一套过滤策略,而无需逐台安装软件和维护规则。对于设备较多的家庭环境来说,这种集中管理方式会更加省心。
而借助 cpolar 提供的公网访问能力之后,即使身处公司、出差途中或者连接其他网络环境,也能够远程访问 AdGuard Home 管理界面,查看日志、调整规则或者维护过滤策略。对于希望长期优化网络环境的用户来说,这种能力会带来更多灵活性。
