路由器与旁路由直跑 V2Ray 内核部署概览:方案选型与注意事项

从网关角色、透明代理入口、DNS 分流和硬件负载四个方面梳理 Xray/V2Fly 内核部署路径,并给出主路由与旁路由的选择依据。

本文速览

本文适合准备把代理能力从单台设备迁移到家庭网关的用户。重点不是某个管理界面的安装步骤,而是厘清流量经过哪台设备、TCP 与 UDP 如何进入内核、DNS 查询由谁处理,以及故障时怎样保留直连回退路径。

先确定网关角色,再选择部署位置

路由器直跑 V2Ray 内核,通常是指在 Linux 网关上运行 Xray 或 V2Fly,并通过路由规则把指定终端的流量送入内核。Xray 与 V2Fly 是实际处理连接、协议和路由的核心程序;v2rayN、v2rayNG、v2flyNG 则是面向终端设备的客户端,不能直接等同于路由器网关方案。

主路由部署中,运行内核的设备同时承担拨号、DHCP、NAT、防火墙和默认网关职责。全部终端天然经过这台设备,策略覆盖完整,但配置错误也可能同时影响整个局域网。修改防火墙、DNS 或内核服务前,应先导出配置,并准备一台能够通过网线登录管理地址的设备。

旁路由部署会保留现有主路由,把另一台设备放在同一局域网内。终端可通过手动设置网关、DHCP 下发策略或主路由策略路由进入旁路由。它的优势是迁移范围可控,电视、办公电脑或测试设备可以分批切换;代价是链路更长,错误的网关与回程设置容易形成环路。

主路由直接部署

默认网关、DHCP、DNS 与透明代理集中在一台设备,策略入口统一,局域网终端不需要逐台修改。

适合:网络结构简单、能够维护防火墙与启动服务

旁路由分批接入

推荐

保留原主路由,仅把测试终端或指定设备导向旁路由,出现故障时可快速恢复原网关。

适合:首次部署、需要低风险迁移与按设备控制

终端客户端并行

路由器维持普通网络,电脑使用 v2rayN,安卓设备使用 v2rayNG 或 v2flyNG,各自管理代理状态。

适合:设备数量少、需要每台设备独立切换节点

结论:首次部署先用旁路由验证链路

先只调整一台测试终端的默认网关和 DNS,确认 TCP、UDP、域名解析与回程都正常,再扩大接入范围,比直接改动全网默认网关更容易定位问题。

部署前检查架构、内存与系统能力

先核对架构与透明代理能力

安装包必须匹配处理器架构。常见软路由是 x86_64,小型 ARM 设备则可能是 aarch64;名称相近不代表二进制可以混用。执行 uname -m 确认架构,再检查系统是否提供 nftables、策略路由和 TPROXY 支持。只配置一个 SOCKS 入站端口并不能自动接管局域网流量。

以下基线适合用于理解资源需求:OpenWrt 23.05.5、Linux 5.15.167、4 核 x86_64 处理器和 512 MB 可用内存,可以承担普通家庭网络的规则匹配与数百兆转发。大型 geosite、geoip 数据和详细访问日志会增加内存与存储写入,低容量闪存设备应降低日志级别,并把轮转策略设为保留少量文件。

512 MB
基础可用内存建议
12345
透明代理示例端口
1053
内核 DNS 示例端口
53
局域网 DNS 服务端口

推荐方案:管理面与转发面分开验证

网关侧
  • Xray 或 V2Fly 作为系统服务启动
  • 透明入站监听 12345 端口
  • 本地 DNS 入站监听 127.0.0.1:1053
  • 保留管理地址和局域网网段直连
终端侧
  • 先固定一台设备的网关地址
  • DNS 指向承担分流的网关
  • 分别测试网页、下载与 UDP 应用
  • 记录切换前后的出口和延迟

内核能启动只说明配置语法通过,终端流量实际进入透明入站并完成回程,才算网关链路可用。

透明代理需要同时处理流量入口与回程

透明代理的核心任务是让原本不知道代理存在的终端,把连接交给 Xray 或 V2Fly。Linux 上常见入口是 TPROXY 或重定向。重定向更容易处理 TCP,TPROXY 可以保留原目标信息并覆盖 UDP,但需要额外的 fwmark、策略路由和本地路由表。具体能力取决于内核模块与防火墙框架。

一组完整规则至少要先排除路由器自身管理地址、局域网网段、组播地址、节点服务器地址和内核进程产生的连接,再捕获需要代理的 TCP 与 UDP。如果忘记排除节点服务器,内核发往节点的连接可能再次进入透明入口,表现为连接超时、CPU 占用升高或日志不断重复同一目标。

  1. 创建透明入站并固定监听端口,例如 12345,按实际需求启用 TCP 与 UDP。
  2. 建立策略路由表,把带有 0x1 标记的数据包送到本机回环接口。
  3. 在防火墙链中先写直连排除项,再对目标流量设置 TPROXY 与标记。
  4. 配置内核路由规则,确保局域网、管理地址和节点地址走 direct 出站。
  5. 重启服务后检查监听端口、规则计数器和内核日志,而不是只看进程状态。
ip rule add fwmark 0x1 table 100
ip route add local 0.0.0.0/0 dev lo table 100

nft add rule inet proxy prerouting \
  meta l4proto { tcp, udp } \
  tproxy to :12345 meta mark set 0x1

DNS 分流决定域名规则是否稳定生效

DNS 必须纳入网关规划

只有流量分流而没有 DNS 规划,常见结果是域名规则没有命中、解析结果与出口不一致,或者终端绕过网关直接查询外部 DNS。建议让受管终端统一把 DNS 指向网关的 53 端口,再由本地 DNS 服务按域名类别选择直连解析或转发到内核的本地 DNS 入站。

一种清晰的结构是:局域网终端查询网关 53 端口,dnsmasq 负责本地域名与 DHCP 主机名;需要经内核处理的查询转发到 127.0.0.1:1053;Xray 或 V2Fly 再按 DNS 规则选择出站。必须避免把 1053 的上游重新指回 53,否则会形成递归循环。

检查项 建议设置 异常表现
终端 DNS 指向网关 LAN 地址的 53 端口 域名规则偶发失效或出口不一致
内核 DNS 入站 仅监听 127.0.0.1:1053 端口暴露到局域网或被其他设备直接调用
缓存位置 明确由 dnsmasq 或内核承担主要缓存 修改规则后仍返回旧地址
IPv6 查询 与 IPv6 路由和代理策略同时启停 终端优先使用未纳入策略的 IPv6 出口

在常见 OpenWrt 管理界面中,可从「网络」→「接口」→「LAN」→「DHCP 服务器」→「高级设置」检查下发给终端的 DHCP 与 DNS 参数。不同系统版本的项目名称可能略有差异,修改后应让测试终端重新获取租约,并用系统解析命令确认实际 DNS 服务器,而不是根据界面配置推断。

结论:DNS 与透明代理必须成对验收

测试时同时记录域名解析结果、命中的路由规则和实际出口。只验证网页能否打开,无法发现 DNS 绕行、缓存未刷新或 IPv6 未被接管的问题。

性能测试要区分内核负载与网络质量

性能评估要覆盖完整转发链路

网关性能不能只看处理器核心数。加密算法、连接数量、规则集大小、日志级别、网卡驱动和硬件中断分配都会影响吞吐。开启透明代理后,部分硬件加速或流量卸载可能绕过防火墙规则;如果出现部分连接不受策略控制,应先关闭相关卸载功能再复测。

一组参考测试使用 4 核 N5105、8 GB 内存、千兆有线局域网和 500 Mbps 下行线路,测试终端与网关均使用有线连接。相同节点、相同时间段下,主路由直接转发测得 438 Mbps,经过同网段旁路由测得 421 Mbps;持续传输时内核进程占用约 118% 单核计量,网关总 CPU 占用约 34%。这些数字只用于说明测量方法,不能替代本地线路实测。

  • 先测不经过代理的局域网吞吐,排除网卡协商和线材问题。
  • 再测直连外网速度,记录延迟、丢包、下载和上传基线。
  • 启用透明代理后使用同一终端、同一节点和同一测试目标复测。
  • 持续测试至少 5 分钟,同时观察 CPU、内存、温度和连接数。
  • 分别测试 TCP 下载、网页短连接和需要 UDP 的应用,避免单项结果代替整体判断。

如果速度下降但 CPU 占用不高,应优先检查节点质量、MTU、DNS 和回程路径;如果单个核心持续接近满载而其他核心较空,则瓶颈可能来自单连接处理或中断分配。旁路由比主路由多出的一个转发环节通常不会自动造成显著降速,错误的双重 NAT、百兆端口或无线回程更值得先排查。

常见部署问题与回退方法

网关服务应设置明确的启动顺序:网络接口和系统时间可用后再启动内核,内核监听成功后再启用透明代理规则。节点使用域名时,时间未同步或 DNS 尚未工作都可能导致首次连接失败。服务管理器还应配置失败重启间隔,避免错误配置触发高频重启。

上线前准备独立回退路径

回退方案必须在部署前准备。主路由方案至少保留局域网管理地址、网线登录方式和一份未启用透明代理的防火墙配置;旁路由方案可以把测试终端的默认网关和 DNS 改回主路由。不要把恢复操作依赖在已经可能失效的代理链路上。

内核已运行,终端为什么仍然直连?

先执行端口检查确认 12345 正在监听,再查看 nftables 规则计数器是否增长。计数始终为零通常表示终端网关未指向该设备,或数据包没有经过预期的 prerouting 链。

旁路由一启用就无法访问局域网设备?

检查局域网网段是否被透明规则排除,并确认旁路由没有把同一网段同时配置在两个接口。测试阶段应保持单一 LAN 地址,避免重复 DHCP 服务和不对称回程。

网页可用,但部分 UDP 应用超时?

确认透明入站启用了 UDP,策略路由同时覆盖 UDP,防火墙没有只匹配 TCP。随后检查 MTU 与节点协议是否支持当前传输方式,并在内核日志中定位被拒绝的目标端口。

修改域名规则后仍然命中旧结果?

依次清理终端、本地 DNS 服务和内核 DNS 缓存,再重新查询。若 dnsmasq 使用 53 端口、内核使用 1053 端口,还要确认两者没有相互转发形成循环。

Xray 与 V2Fly 应该怎样选择?

先按节点实际协议选择内核。使用 VLESS、XTLS 或 REALITY 配置时通常选择 Xray;现有 VMess 等配置基于 V2Fly 维护时可继续使用 V2Fly。迁移前应在终端客户端验证同一配置能够正常连接。

部署完成后的验收清单应包括:网关重启后服务自动恢复、订阅或配置更新不会覆盖本地排除规则、DNS 查询没有循环、节点服务器地址始终直连、局域网管理地址不经过代理,以及关闭内核后可以通过预定操作恢复普通网络。满足这些条件后,再考虑把更多终端纳入网关策略。

下载 v2rayN 查看四个平台安装包