家里网络拓扑稍微复杂一点之后,DNS 分流就成了绕不开的事——国内域名走国内解析,流媒体走解锁节点,AI 服务也要按地区路由。过去我是在软路由上手动写 dnsmasq 配置,规则文件越攒越多,改一条规则要翻半天文本,关键还不知道当前节点到底解没解锁 Netflix。
前几天在 V2EX 上看到有人推荐 Prism-Gateway,一个基于 DNS 的分流规则管理面板。名字有点唬人,核心就是把 DNS 分流规则搬到了 Web 界面上,顺便加了流媒体和 AI 服务的自动解锁检测。UI 用的 Apple Liquid Glass 风格——就是今年 WWDC 那个液态玻璃设计语言,半透明毛玻璃效果。
项目在 GitHub 上叫 Liquid-Glass-Prism-dns(作者 mslxi),v1.3 是目前最新版,3 月初发的。架构分三个角色:
- Controller:中央控制器,跑 Web UI + API + 规则引擎 + 解锁检测
- DNS Client:边缘节点,接收客户端 DNS 查询,按规则转发
- Proxy Agent:出口节点,转发流量到目标服务器,上报解锁状态
看着架构有点重,实际部署倒不麻烦。Controller 一键脚本装完:
wget -O install.sh https://raw.githubusercontent.com/mslxi/Liquid-Glass-Prism-dns/main/install.sh && sudo bash install.sh
脚本自己下二进制、建目录、生成 JWT secret,装完直接告诉你 admin 密码和端口。我把 Controller 跑在局域网里一台 Linux 机器上,没遇到什么坑。
DNS Client 和 Proxy Agent 得分别装。DNS Client 我放在软路由旁边——它负责接收局域网设备的 DNS 查询,然后根据 Controller 下发的规则决定往哪个 Proxy Agent 转发。Proxy Agent 装在有解锁出口的节点上,Agent 安装命令带个 --smart 参数就能开启自动检测。
装好之后把 DHCP 的 DNS 指向 DNS Client 的地址,局域网里所有设备自动走分流。不用逐台设备改 DNS,这点比以前省太多事。
进面板一看,规则配置、节点管理、解锁检测全在一个界面里:

Dashboard 上能看到各节点状态、DNS 查询统计,数据基于 SSE 实时推送,不用手动刷新页面。节点管理页面可以给 Proxy Agent 设优先级和分组策略——Smart 模式自动选解锁状态最好的节点,Fallback 模式按优先级从高到低依次尝试,故障自动降级。

规则页面支持导入外部规则集(比如常见的流媒体域名列表),不用一条一条手动加。v1.2 新增了批量选择预设规则的功能,省不少配置时间。

我最喜欢的功能是解锁检测。面板会自动跑检测脚本,告诉你每个节点能解锁哪些服务:

流媒体覆盖 Netflix、Disney+、HBO Max、YouTube Premium 等 20 多个,AI 服务覆盖 OpenAI、Claude、Gemini、Copilot。以前我是手动 curl 检测的,现在面板一键全扫出来,哪个节点能解、哪个不能,一眼看穿。
踩了几个小坑:
- Controller 二进制 26MB 左右,Agent 各 7MB——不算大,但在 ARM 小内存机器上还是留意一下资源占用
- 首次装完密码只在终端显示一次,错过就得手动改配置文件里的 JWT secret
- 解锁检测偶尔误报,AI 服务那边检测依赖 HTTP 状态码和页面关键词匹配,前端改了就可能失准。v1.3 修了不少 bug,Claude 和 TikTok 的检测方法已经更新
- 它是非侵入式部署——不改你原有的 DNS 配置,只是把 DHCP 的 DNS 指向它就行,随时切回去没影响。比我之前直接改 dnsmasq 配置舒服多了
跑了一周,整体稳定。Smart 模式在节点波动时切换够快,Fallback 作为兜底也没出过断流。UI 刷新偶尔有延迟但不影响功能。
有多个出口节点的家庭网络,DNS 分流面板比手动写配置文件强太多了——不用在文本文件里翻规则,解锁状态随时能看。