为什么同样的网站别人没广告?原来问题出在DNS上
前言不知道你有没有这种感觉。以前上网最烦的是网速慢现在上网最烦的是广告太多。打开网页先弹广告看视频先看广告手机里的各种APP隔三差五弹出推广内容。更让人无奈的是很多广告根本不是最讨厌的部分那些隐藏在网页背后的追踪脚本、数据分析器和各种统计服务才是真正让人头疼的存在。很多人尝试过安装广告拦截插件。电脑上效果不错可手机怎么办平板怎么办电视怎么办家里的智能音箱、电视盒子和各种智能设备又怎么办于是问题变得越来越明显如果每台设备都要单独配置一次那几乎不可能长期维护。后来我发现解决问题最简单的方法并不是给每台设备安装插件而是直接从网络入口下手。AdGuard Home 就是这样一个工具。它通过接管家庭网络中的 DNS 解析把广告域名、追踪器和恶意网站拦截在请求发出之前。无论是电脑、手机、电视还是 IoT 设备只要接入同一个网络都能够自动获得过滤能力。真正做到一次部署全家受益。1.什么是AdGuard HomeAdGuard Home 是一款开源、免费、跨平台的网络级广告与跟踪器拦截工具它通过在本地网络中运行一个 DNS 服务器实现对全网设备包括手机、电脑、智能电视、IoT 设备等的统一内容过滤从而打造一个更干净、安全、快速的上网环境。核心原理基于 DNS 的全局过滤AdGuard Home的工作方式不同于浏览器插件它不依赖于单个设备而是部署在网络的“上游”——通常是一台家庭服务器、树莓派或 NAS 设备上。所有连接到该网络的设备只要将DNS指向AdGuard Home所在的IP地址其网络请求就会被自动过滤。一次部署全家生效无需在每台设备上单独安装软件连智能音箱、游戏机等“无法装插件”的设备也能享受无广告体验。技术特点开源免费代码公开在GitHub社区活跃透明可信。轻量高效单二进制文件运行资源占用低适合树莓派等低功耗设备。支持DoH / DoT可配置上游DNS使用加密协议提升隐私性。Web管理界面提供直观的图形化控制面板配置简单无需命令行操作。跨平台支持支持Linux、Windows、macOS、FreeBSD、Docker等。典型应用场景家庭网络净化企业内网安全增强NAS或家庭服务器增值功能替代公共DNS2.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]DescriptionAdGuard HomeAfternetwork.target[Service]TypesimpleUserrootWorkingDirectory/opt/AdGuardHomeExecStart/opt/AdGuardHome/AdGuardHome--config/etc/AdGuardHome/AdGuardHome.yamlRestarton-failureRestartSec5[Install]添加服务后重新加载服务启动systemctl daemon-reload systemctl restart AdGuardHome启动后根据生成的ip端口即可通过浏览器访问正常端口都是30003.windows安装AdGuard Home在 AdGuardHome/releases 中下载AdGuardHome_windows_amd64.zip解压到自己所设目录例如D:\1进入AdGuardHome目录点击应用程序AdGuardHome点击后会出现终端根据Ip和地址访问即可4.配置AdGuard Home4.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 什么是cpolarcpolar是一款安全高效的内网穿透工具无需公网IP或复杂配置只需一条命令即可将本地服务器、Web服务或任意端口映射到公网让你随时随地远程访问内网应用特别适合开发调试、远程运维和应急部署等场景。5.2 部署cpolarcpolar 可以将你本地电脑中的服务如 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 管理界面查看日志、调整规则或者维护过滤策略。对于希望长期优化网络环境的用户来说这种能力会带来更多灵活性。