N1设备部署实现Frp + DNS域名解析 + PassWall科学上网方案
问题:如何实现域名在局域网中访问时,直接解析到指定的内网主机ip,在非局域网访问时,解析到公网主机ip。N1作为旁路由,为局域网所有设备提供DNS域名解析服务。N1可以完美实现局域网内,域名映射不同的本地ip。但主机如果开启VPN科学上网时,VPN会强制接管DNS解析服务,执行自己的DNS解析,导致N1设备域名映射服务被绕过,域名内网解析出现异常。
方案:
1.为了解决开发主机开启科学上网时, VPN会在系统代理上强制走VPN的DNS服务,绕过N1的DNS服务。
N1 安装Kwrt 25.12-SNAPSHOT-06.27.2026 系统,做为旁路由(192.168.1.2),主路由器设置dns为192.168.1.2 ,N1 目前部署安装AdGuard Home并监听53端口提供DNS本地域名解析,dnsmasq改为监听5353端口。
N1设备当前的架构下,DNS 的数据流向顺序为:
客户端(192.168.1.114) -> AdGuard Home (53) -> Dnsmasq (5353) -> Passwall (做国内外 DNS 分流与防污染)。
为了确保既能通过 Passwall 正常科学上网(进行正确的国内外 DNS 分流),又能保留 AdGuard Home 的广告过滤和本地域名解析能力,请按照以下步骤进行配置:
一、 配置 AdGuard Home (53端口)
AdGuard Home 作为全局 DNS 入口,负责接管客户端请求、过滤广告及解析自定义本地域名,然后将非本地域名解析请求转发给 Dnsmasq。
- 进入 AdGuard Home 管理界面 -> 设置 -> DNS 设置。
- 上游 DNS 服务器 (Upstream DNS servers):
- 填写:
127.0.0.1:5353 - (作用:将所有常规解析请求交给改为 5353 端口的 Dnsmasq)
- 填写:

- DNS 缓存:
- 建议将 AdGuard Home 内部缓存大小设为
0或较小值,避免影响 Passwall 动态 IP 规则更新。建议直接关闭DNS缓存
- 建议将 AdGuard Home 内部缓存大小设为

- 自定义 DNS 映射 / 本地域名:
- 在 DNS 重写 中添加你的本地域名解析

二、 配置 Dnsmasq (5353端口)
Dnsmasq 作为桥梁,一方面处理系统底层的本地域名规则,另一方面与 Passwall 无缝对接。
- 进入 OpenWrt 后台 -> 网络 -> DHCP/DNS。
- 基本设置:
- DNS 监听端口:设为
5353(已按你的要求修改)。
- DNS 监听端口:设为

- 高级设置:
- 勾选 本地 server 优先 (Locally served domains)。

- 动态 DHCP 租约 及 自定义主机名(可以在此处定义局域网内其他设备的 IP/域名映射,AdGuard Home 会通过 Dnsmasq 读取到)。
三、 配置 Passwall (DNS 分流设置)
Passwall 将直接托管 Dnsmasq 的上游请求,实现“国内域名走国内 DNS,国外域名走远程加密 DNS/节点”的高效分流。
- 进入 Passwall -> 基本设置 -> DNS 设置(或DNS分流页签):
- DNS 分流模式:选择
Dnsmasq。 - Dnsmasq 重定向:关闭,否则导致本地域名解析不成功




四、 客户端与旁路由网络设置 (针对 192.168.1.114)
为保证特定设备(192.168.1.114)的流量和 DNS 完美经过 N1,需要检查以下配置:
方案 A:单设备手动指定(推荐测试使用)
在 192.168.1.114 设备的网络属性中手动设置:
- IP 地址:
192.168.1.114 - 子网掩码:
255.255.255.0 - 默认网关:
192.168.1.2(指向 N1 旁路由) - 首选 DNS:
192.168.1.2(指向 N1 的 AdGuard Home 53端口)
方案 B:主路由器 全局/DHCP 指定
- 主路由 DHCP 设置中:将 默认网关 设为
192.168.1.2,将 DNS 服务器 设为192.168.1.2。
五、 N1 本身网络防环路设置(关键)
作为旁路由,N1 本身的 DNS 绝不能 指向自己(127.0.0.1 或 192.168.1.2),否则容易引发 DNS 解析环路死锁。
- 进入 OpenWrt 后台 -> 网络 -> 接口 -> lan -> 编辑。
- IPv4 网关:填写主路由 IP
192.168.1.1。

- 使用自定义的 DNS 服务器:填写国内可靠的外部 DNS,如
223.5.5.5或119.29.29.29(切勿填127.0.0.1)。

完整的解析路径逻辑
当客户端 192.168.1.114 发起域名访问时:
- 查询请求 -> 发送到 N1 的
192.168.1.2:53(AdGuard Home)。 - AdGuard Home 判断:
- 若是本地域名或黑名单广告 -> 直接返回自定义 IP 或拦截。
- 若是普通域名 -> 转发给
127.0.0.1:5353(Dnsmasq)。
- Dnsmasq / Passwall 判断:
- 国内域名(如
baidu.com) -> 直连国内 DNS(223.5.5.5)解析,返回真实 IP,流量走主路由直连。 - 国外域名(如
google.com) -> 走代理节点安全解析,返回无污染 IP,流量经 Passwall 代理转发。
- 国内域名(如
常见问题:
1.FTP无法正常登录问题解决方案
Passwall 代理接管了 FTP 流量但未开放高位数据端口
如果是连接公网/外网 FTP 服务器,Passwall 的透明代理(Sing-Box)默认只拦截常见的 TCP 端口(如 80、443、21)。当 FTP 切换到被动模式建立高位数据通道时(如 10000~20000 端口),这些动态端口如果没有被代理正确转发或放行,就会导致连接超时。
- 解决方法:
- 打开 Passwall 后台,将该 FTP 服务器的 IP 地址 或 域名 添加到 “直连名单” (Bypass List),让 FTP 流量不经过 Sing-Box 代理内核,直接由 N1 转发出去。
