路由器部署的关键不是把桌面配置复制过去,而是让网关、流量接管、DNS 与内核出站形成完整路径。本文面向准备使用 Linux 或 OpenWrt 设备承担代理转发的用户,先区分主路由和旁路由,再给出单机试点步骤、透明代理边界、硬件评估指标与故障回退方法。
一、部署位置:主路由与旁路由分别负责什么
主路由通常负责互联网接入、DHCP 地址分配、NAT 和防火墙。把内核运行在主路由上,容易获得完整的转发入口,但代理服务更新、规则误配或资源不足,也可能影响整个局域网。旁路由则是额外的转发设备,先让少量终端使用它作为网关,可以缩小试验范围。
独立旁路由试点
推荐保留主路由原有拨号和地址分配,只给测试终端修改网关。出错时恢复终端原网关,比修改全网转发规则更容易定位和回退。
适合:首次部署、需要逐台验证的家庭网络
主路由直接运行
在同一设备上统一处理接入、防火墙与代理。规则入口更集中,但需要确认 CPU、内存和存储余量,并保留本地管理入口。
适合:熟悉防火墙、希望统一维护的网络
终端客户端接入
桌面使用 v2rayN,安卓按节点需求选择 v2rayNG 或 v2flyNG。无需调整局域网网关,适合作为路由器部署前的节点可用性基线。
适合:仅有少量设备需要代理、暂不改造网络
本文采用单网口旁路由示例:主路由为 192.168.10.1/24,旁路由为 192.168.10.2/24,测试终端为 192.168.10.100/24。地址需按实际网段调整,并把旁路由地址排除在 DHCP 动态分配池之外。这组地址是配置示例,不是设备出厂默认值。
测试终端 192.168.10.100
默认网关 → 旁路由 192.168.10.2
├─ 直连出站 → 主路由 192.168.10.1 → 互联网
└─ 代理出站 → 主路由 192.168.10.1 → 远端节点
旁路由自身的默认网关:192.168.10.1
主路由自身的默认网关:运营商上游
二、内核选择:协议、架构与配置格式一起核对
Xray 与 V2Fly 都是可独立运行的代理内核,不是路由器操作系统。v2rayN、v2rayNG、v2flyNG 则属于客户端界面;其中 v2rayNG 使用 Xray 内核,v2flyNG 使用 V2Fly 内核。路由器部署关注的是对应 Linux 程序、配置文件和服务启动方式,而不是安装桌面客户端。
- 确认处理器架构:运行
uname -m,再核对固件的软件包架构、位数及运行环境。不能只凭设备标注“ARM”就选择程序。 - 确认节点协议:逐项核对 VMess 或 VLESS、传输方式、TLS 参数与服务端要求。节点使用 REALITY 时,应选择明确支持对应配置的 Xray 构建,不能默认两套内核的字段可互换。
- 确认配置版本:V2Fly 不同配置格式与版本存在差异;Xray 的字段也会演进。按设备实际安装版本检查配置,不从其他内核直接复制整份 JSON。
- 确认订阅处理:订阅地址不是内核通用的自动更新配置。面板或管理脚本通常负责解析订阅、生成配置、安排更新与重载,纯内核部署要单独实现这些环节。
三、透明代理:监听端口之外还需要策略路由
显式代理要求应用把连接发送到 HTTP 或 SOCKS 监听端口;透明代理则由网关在转发路径中截获连接,再交给内核。只让程序监听一个端口,既不会自动接管局域网流量,也不会自动建立返回路径。Linux 防火墙规则、策略路由与内核入站必须相互对应。
上面的端口与路由表编号是设计示例,不代表任何管理界面的默认值;路由表编号 100 使用前还要确认未被其他服务占用。透明入站需要启用所选内核要求的透明套接字选项,并匹配防火墙交付流量的方式。
| 接管方式 | 关键机制 | 部署注意项 |
|---|---|---|
| REDIRECT | 将连接重定向至本地监听端口 | 常用于 TCP;不能把 TCP 方案原样套到 UDP |
| TPROXY | 透明套接字接收流量,结合标记与策略路由送到本机 | 可用于 TCP/UDP;需要固件内核模块和对应防火墙支持 |
| 显式 SOCKS | 应用主动连接代理监听地址 | 适合先验证内核;应用必须支持并正确使用代理 |
OpenWrt 使用 firewall4 的环境通常基于 nftables 管理规则,旧资料中的 iptables 命令不一定能直接使用。TPROXY 常见设计是给流量打标记,通过 ip rule 选择专用路由表,再由本地路由把流量送入透明套接字;标记值与掩码必须避开已有的多线、策略路由服务。
- 先放行回环、组播、广播、局域网管理网段,以及旁路由自身必须直连的通信。
- 排除节点服务器地址和内核自身出站,避免“代理连接再次进入代理”的回环。
- 将局域网转发入口与路由器本机发起流量分开处理;PREROUTING 规则不会自动接管全部本机连接。
- 检查软件或硬件流量卸载是否绕过预期规则路径,调试阶段先关闭相关卸载再对照测试。
四、网关与 DNS:先改一台终端再扩大范围
旁路由没有唯一通用的设置页面。以下以常见 OpenWrt LuCI 菜单为例,菜单翻译可能随版本变化。操作前导出配置,并记下主路由管理地址;不要在没有备用管理入口时同时修改管理 IP、DHCP 和防火墙。
-
固定管理地址
进入旁路由「网络」→「接口」→「LAN」→「编辑」→「基本设置」,设置静态地址
192.168.10.2、掩码255.255.255.0,上游 IPv4 网关填写192.168.10.1。 -
保留单一 DHCP
主路由继续分配地址。旁路由在「网络」→「接口」→「LAN」→「编辑」→「DHCP 服务器」→「常规设置」勾选「忽略此接口」,避免两台设备同时发放相互冲突的配置。
-
单机修改网关
在测试终端的 IPv4 设置中保留原地址与掩码,只把网关改为
192.168.10.2。确认旁路由已启用 IPv4 转发,且对应防火墙允许所需转发方向。 -
核对 DNS 路径
仅在旁路由已提供可访问的 DNS 服务后,才把测试终端 DNS 指向
192.168.10.2。分别检查 UDP/TCP 53 端口、上游解析路径,以及节点服务器域名能否在代理启动前解析。 -
扩大并验证
单机稳定后,如主路由也是 LuCI,可在「网络」→「接口」→「LAN」→「编辑」→「DHCP 服务器」→「高级设置」的 DHCP 选项中设置
3,192.168.10.2;需要同步分发 DNS 时再设置6,192.168.10.2,随后让终端续租。
同网段单网口旁路由可能出现非对称路径:终端经旁路由发送直连流量,主路由却直接向终端回包。它可能影响连接跟踪、统计和防火墙判定。是否对旁路由转发流量做源地址转换,应结合拓扑验证;源地址转换能让返回路径更可控,但会隐藏原始终端地址,不能作为所有网络的固定答案。
五、硬件资源:按目标负载测量,不按网口速率推算
千兆网口只说明链路协商能力,不代表加密代理一定能达到相同速率。CPU 单核能力、协议与传输组合、内存压力、散热和节点线路都会限制吞吐。小型路由器还要给无线、连接跟踪与防火墙保留资源;旁路由则要额外检查网卡驱动和虚拟化开销。
| 评估项目 | 具体检查 | 判断方法 |
|---|---|---|
| CPU 与散热 | 用 top 观察单核占用;负载持续 10 分钟 | 吞吐平台期若伴随单核满载,优先排查算力和降频 |
| 内存余量 | 查看 free 和内核日志;更新规则时再次记录 | 关注可用内存、进程退出与内存不足终止记录 |
| 存储空间 | 用 df 检查可写分区和临时目录 | 为程序更新、规则文件及日志轮转留余量 |
| 并发连接 | 依次用 1 台、3 台终端重复相同任务 | 比较延迟与错误率,不能只记录峰值下载速度 |
测试应使用同一有线终端、同一节点和同一下载目标,依次记录直连基线、终端客户端代理、旁路由代理三组结果。每组重复 3 次,记录吞吐、延迟、CPU 和内存;如果节点本身波动明显,就不能把差异全部归因于旁路由。这里给出的是测量方法,不是某款设备的实测性能承诺。
结论:先定位瓶颈,再决定升级设备
旁路由单核持续满载而终端客户端能稳定跑得更快,才有依据优先升级算力;若两端同时变慢,应先换时间段或节点做对照,不要仅因网口标称速率较低就更换整机。
六、排错顺序:地址、转发、入站、出站逐层检查
“能打开旁路由管理页”只证明局域网地址可达,不能证明互联网转发或代理出站正常。先在旁路由上检查默认路由,再检查透明入口是否真的收到流量,最后结合连接日志判断路由规则命中了哪个出站。调试日志可能包含目标域名和地址,排查结束后应恢复常规日志级别并配置轮转。
# 以下是只读检查命令;部分精简固件需先安装对应工具。
ip -4 addr show
ip -4 route show
ip -4 rule show
ip -4 route show table 100
sysctl net.ipv4.ip_forward
ss -lntup
nft list ruleset
free
df -h
ip -4 route show table 100 仅适用于确实采用本文示例编号的方案;若管理服务使用其他路由表,应查询实际编号。ss 能确认端口与进程,但不能单凭监听结果判断透明代理规则正确。检查 nft 输出时,应关注现有规则集及匹配计数,避免清空整个防火墙来“排除干扰”。
网关改成旁路由后,所有网页都打不开怎么办?
先把测试终端网关恢复到 192.168.10.1。然后在旁路由检查默认路由是否指向主路由、net.ipv4.ip_forward 是否为 1,以及转发防火墙是否放行;先修复普通转发,再恢复接管规则。
网页能开,游戏或语音却不通?
检查应用是否依赖 UDP,再核对透明入站、TPROXY 规则、策略路由与节点出站是否都支持该流量。只有 TCP 重定向时,不能靠更换 DNS 补齐 UDP 接管能力。
配置了分流,为什么有些域名还是走错?
先看 DNS 是否由预期的解析器处理,再核对规则顺序与日志中的目标信息。应用自带加密 DNS 可能不经过本地 53 端口;嗅探也不能保证还原全部域名,应对测试应用单独验证。
重启后失效,是不是节点坏了?
依次检查内核服务是否启动、透明规则是否加载、策略路由是否存在,以及系统时间是否同步。把这些操作纳入所用固件的服务管理流程,不要只在交互终端执行一次命令。
七、上线与回退:把网关配置纳入维护范围
旁路由稳定运行不仅依靠配置文件,还依靠启动顺序与失败处理。时间未同步、DNS 尚未就绪或规则下载失败,都可能让服务在开机时异常。自动更新应先检查新配置,再替换当前文件;不要把“进程仍存在”当作网络路径正常的唯一判据。
- 保存可恢复配置:分别备份网络、防火墙、DNS 与内核配置,记录已使用的监听端口、标记和路由表编号。
- 验证冷启动:重启后检查地址分配、节点域名解析、直连与代理两条路径,并确认管理入口仍可达。
- 限定管理范围:管理页面和代理监听只向所需局域网开放,不把未经认证的代理端口暴露到互联网。
- 设计退出步骤:先恢复终端或 DHCP 下发的网关与 DNS,再撤销接管规则、策略路由及服务。只停止内核而保留拦截规则,可能造成流量被送往无人监听的端口。
如果需求只是让一两台设备使用代理,终端客户端通常更容易维护。确实需要统一接管局域网时,再按单机试点、DNS 验证、UDP 与 IPv6 检查、全网推广的顺序推进。参数含义可继续查阅术语手册,接入范围与路由分流的区别可参阅使用手册。