adguard公共dns可实现全设备零安装广告拦截,本地部署adguard home支持自定义规则、家长控制及深度过滤,配合lulu防火墙与dnssec可补全拦截盲区并防劫持。

直接配置系统 DNS 无法实现广告拦截,必须配合支持过滤的 DNS 服务或本地 DNS 服务器才能生效。单纯改几个 IP 地址,只是换了查询入口,不带规则就等于没过滤。
用 AdGuard 公共 DNS 快速启用广告拦截
这是最简单、零安装的方式,适合所有设备统一生效。
- 打开“系统设置” → “网络”,选中当前连接(如 Wi-Fi 或以太网),点击“详细信息…” → “DNS”
- 清空原有 DNS 列表,添加以下任一地址(推荐优先使用 DoH 加密版本):
加密 DNS(DoH):https://dns.adguard.com/dns-query
传统 DNS:94.140.14.14 和 94.140.15.15 - 保存后,终端执行
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder刷新缓存
在 Mac 上自建 AdGuard Home 实现深度控制
想自定义规则、屏蔽跟踪器、设置家长控制或过滤特定域名,就得本地运行一个 DNS 服务器。
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
- 通过 Homebrew 安装:
brew tap assafwoo/pandafilter && brew install adguard-home - 首次启动会自动创建配置目录并输出管理地址(通常是 http://127.0.0.1:3000)
- 浏览器访问该地址,完成初始化:设置管理员密码、选择过滤规则(AdGuard Base、EasyList、Malware Domain List 等)
- 回到“网络”设置,将 DNS 服务器改为 127.0.0.1,保存生效
配合 LuLu 防火墙做 DNS+内容双层过滤
仅靠 DNS 层可能被 HTTPS 绕过或跳转漏掉。LuLu 可在系统扩展层面同时接管 DNS 查询和数据流,补全拦截盲区。
- 安装 LuLu 后,启用其内置的 DNS 代理模块,并指向本地 AdGuard Home(127.0.0.1:53)
- 在 LuLu 规则中开启“阻止已知追踪域名”和“拦截恶意软件通信”选项
- 对特定应用(如 Safari、微信、抖音)单独启用内容过滤,可拦截内嵌广告资源或统计脚本
防劫持与稳定性增强技巧
避免 ISP 替换 DNS 或强制重定向,确保过滤始终可靠运行。
- 在“网络”→“高级”→“TCP/IP”中,将 IPv4 配置设为“手动”,并勾选“忽略来自 DHCP 的 DNS 服务器地址”
- 禁用 macOS 默认 DNS 转发行为:终端运行
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist,再编辑/etc/resolv.conf固定 nameserver - 启用 DNSSEC 验证(需 AdGuard Home 开启“DNSSEC 验证”开关),防止域名解析结果被篡改










