雨云搭建 AdGuard Home 自建去广告DNS

用雨云 KVM 云服务器 Docker 自建 AdGuard Home,全家设备去广告不用装插件
发布于 更新于
9

手机电脑上的广告、视频前贴片、网页追踪器越来越多,很多人装了浏览器去广告插件,可电视、平板上那些没地方装插件的设备还是满屏广告。AdGuard Home 是一个开源的「网络级」去广告与追踪拦截器:它跑在你自己的服务器上、当全家网络的 DNS 服务器,所有走这台 DNS 的设备(手机、电视、平板、电脑)都被统一过滤,不用在每台设备上分别装插件。本文用一台雨云 KVM 云服务器,Docker 一把部署,把家庭 DNS 收归自己掌控。

一、先准备一台雨云 KVM 云服务器

AdGuard Home 极轻,1 核 1G 都跑得动,但它最好 7×24 在线、带一个固定公网 IP,家里路由器把 DNS 指过来就全家用。想低成本起一台可以看国产高性价比云服务器,比如雨云:KVM 虚拟化、Debian/Ubuntu 镜像任选,新用户用优惠码 admin01 享五折,入门版折后约 9 元/月,支持 7 天无理由退款,拿来当家庭 DNS 很划算。挑机器可参考 VPS 怎么选不踩坑新手买 VPS 先看这几个配置参数

我选 Debian 12。基础安全按 VPS 到手第一件事做什么 走一遍,本文默认你已建好普通用户、开了 ufw。AdGuard Home 默认用 53 端口(DNS)和 3000 端口(管理后台),放行即可。

二、装 Docker 并拉起 AdGuard Home

装 Docker:

curl -fsSL https://get.docker.com | sh
systemctl enable --now docker

建目录并写 docker-compose.yml

mkdir -p /opt/adguard && cd /opt/adguard
version: "3"
services:
  adguardhome:
    image: adguard/adguardhome:latest
    container_name: adguardhome
    restart: unless-stopped
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "3000:3000/tcp"
      - "80:80/tcp"
      - "443:443/tcp"
    volumes:
      - ./work:/opt/adguardhome/work
      - ./conf:/opt/adguardhome/conf

若这台机器上还跑着别的 Web 服务占了 80/443,把最后两行删掉、只留 53 和 3000 即可,管理后台走 3000 端口也够用。放行端口:

ufw allow 53/tcp
ufw allow 53/udp
ufw allow 3000/tcp
ufw reload

启动:

docker compose up -d

三、初始化与上游 DNS

浏览器打开 http://服务器IP:3000,跟着向导走:设管理员账号密码、监听接口选「所有接口」、DNS 端口 53、管理端口 3000。进后台后到「设置 → DNS 设置」,把上游 DNS 服务器填好——国内网络推荐用公共 DNS,比如 223.5.5.5(阿里)和 119.29.29.29(腾讯),也可以启用 DNS-over-HTTPS(DoH)加密上行,防运营商偷看域名。

拦截规则在「过滤器 → DNS 黑名单」里添加,社区维护的 AdGuard 基础规则、EasyList 中文版直接贴订阅链接就行,更新频率设每天自动拉取。

四、让设备用上这台 DNS

最简单:家里路由器把「DNS 服务器」改成这台雨云机器的 IP,全屋设备重启联网后即统一走过滤。只想单台设备试,就在该设备的网络设置里手动指定 DNS 为服务器 IP。验证:打开带广告的网页,看广告是否消失;后台「查询日志」能看到每个域名的拦截情况。

想顺带把服务器资源盯起来,可以参考 雨云搭建哪吒监控 看 CPU/内存和在线率;多个自托管服务要统一备份思路,见 雨云快照备份与对象存储

五、踩过的坑与经验

  • 53 端口被占:若机器上已跑着 systemd-resolved,它会占 53。把 sudo systemctl stop systemd-resolved && sudo systemctl disable systemd-resolved 后再起容器,或改 AdGuard 监听非 53 端口、用端口转发。
  • 运营商封锁 53:少数家庭宽带上行会拦 53,导致外网当 DNS 用不了。自建 DNS 主要给「自己设备」用——把服务器当 DNS 解析源没问题;想让外网朋友用你的 DNS 才受此限制,一般家庭场景不涉及。
  • 规则太狠误杀:某些银行、验证码接口会被误拦。后台查询日志里把域名加白名单即可,别一上来开最激进的规则。
  • 管理后台暴露公网:3000 端口别对全网开放,用强密码 + 限制来源 IP,详见 VPS 安全配置实战
  • DoH 更稳:公共网络下用 DoH 上行,能避免 DNS 被篡改,也比裸 UDP 53 更抗干扰。

小结

AdGuard Home 的魅力在「一次部署、全家受益」:网络层的广告和追踪拦截,不需要每台设备单独折腾。部署就是一个 docker-compose,难点在 53 端口冲突和规则调优。长期在线的家庭 DNS 推荐雨云这类低价稳定的 KVM 机器——优惠码 admin01 五折、7 天无理由退款,跑 DNS 这类常驻小服务很合适。

合规提醒:使用雨云及本文所述方案时,请遵守《网络安全法》《个人信息保护法》《数据安全法》等相关法律法规,仅用于合法合规的广告/追踪过滤与自有网络的 DNS 管理,不得用于污染、劫持或干扰他人正常网络解析等任何违法违规活动。

常见问题(FAQ)

AdGuard Home 和浏览器去广告插件有什么区别?
浏览器插件只在装了插件的设备、网页浏览时生效;AdGuard Home 是网络层 DNS 拦截,所有把 DNS 指向它的设备——手机、电视、平板、电脑——都被统一过滤,包括 App 内广告和视频贴片,覆盖面更广、不用逐台配置。
雨云最低配能跑 AdGuard Home 吗?
能。AdGuard Home 资源占用极低,1 核 1G 甚至更低都轻松跑。关键是它要 7×24 在线、有固定公网 IP,方便家里路由器把 DNS 指过来。入门版折后约 9 元/月,优惠码 admin01 五折后很便宜。
启动报 53 端口被占用怎么办?
多半是系统自带的 systemd-resolved 占了 53。停掉它(systemctl stop/disable systemd-resolved)再起容器即可;或把 AdGuard 监听改成非 53 端口再做转发。另外若机器上已有别的 Web 服务占 80/443,compose 里删掉对应的端口映射、只用 53 和 3000 管理端口。
雨云优惠码 admin01 怎么用?
下单页优惠码/推广码输入框填 admin01 即享五折,以结算页显示为准。建议先开最低配月付验证线路与售后,再考虑年付;雨云支持 7 天无理由退款。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600

用雨云 KVM 云服务器 Docker 自建 Heimdall 导航页,聚合图床/监控/Wiki/Git 等自托管服务入口,配 HTTPS 与访问保护。含卡片整理与优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 自建 Wallabag 稍后读服务:一键保存网页、正文去广告、多端离线阅读,Pocket 替代方案。含 DOMAIN_NAME 配置坑与优惠码 admin01 五折。

用雨云 KVM 云服务器 Docker 自建 Plausible 隐私统计,Postgres+事件处理+HTTPS 反代,跟踪代码嵌入网站。含 SECRET_KEY_BASE 坑与优惠码 admin01 五折。