路由器与旁路由运行 Xray 内核:部署思路与配置要点概览

概述主路由直跑与旁路由网关两种部署形态,讲清透明代理、DNS 分流与设备网关设置的关系,以及上线前要确认的事项。

本文速览

本文面向准备把 Xray 从单台设备迁到家庭网络网关的用户。先区分主路由运行与独立旁路由,再用固定网段说明网关、DNS、透明代理入口及回程路径。读完可以制定单设备试运行方案,识别需要额外配置的转发规则,并保留恢复主路由直连的操作入口。

一、Xray 内核与路由器各自负责什么

Xray 是处理代理协议、入站、出站和路由规则的内核,不是完整的路由器系统。把可执行文件放进设备,只解决了“程序能否启动”;设备转发、DNS 服务、防火墙接管和开机启动仍由操作系统及部署方案负责。v2rayN 是桌面客户端,v2rayNG 是使用 Xray 内核的安卓客户端,不能把它们的安装包直接当作路由器服务安装。

部署前先记录 CPU 架构、系统版本、可用内存和剩余存储空间。固件包管理器提供的软件包还可能依赖特定系统库;不能只看文件名中出现 ARM 就判定兼容。以下以 OpenWrt 的网络管理逻辑为例,具体功能是否存在,以设备固件和安装包为准。

二、主路由直跑与旁路由的部署边界

主路由通常已经承担拨号、DHCP、NAT 和防火墙。在这台设备上运行 Xray,流量入口比较集中,但规则错误可能影响整个局域网。独立旁路由便于只接管一台测试设备,不过多了一段转发路径,也多了回程不对称、重复 DHCP 和网关配置错误的风险。

两种形态:先确定谁是设备的默认网关

主路由运行 Xray
  • 终端默认网关仍是主路由地址。
  • 在转发入口接管指定设备或指定流量。
  • 需评估拨号、无线和代理共同占用的资源。
  • 改动防火墙前保留本地管理连接。
独立旁路由运行 Xray
  • 先将一台终端的网关改为旁路由地址。
  • 旁路由默认路由指向主路由。
  • 单网口同网段方案需单独检查回程。
  • 不要未经规划就启用第二个 DHCP 服务。

初次部署先保持主路由服务不变,只让一台设备走旁路由;通过验证后再扩大接管范围。

旁路由不一定必须有两个网口。单网口可以承载同一局域网中的收发,但这不代表转发规则可以省略。双网口也不自动等于正确隔离:如果两个接口放在同一桥里,实际仍可能属于同一个二层网络。

三、用固定地址说明网关与回程

下表是一套说明用的 IPv4 拓扑,不是设备默认值,也不是性能测试结果。先确保这些地址未被占用,并将固定地址从 DHCP 动态分配池中排除。测试终端只修改自身设置,其他设备继续沿用主路由。

设备IPv4 地址默认网关DNS
主路由192.168.10.1/24运营商上游按现有网络设置
旁路由192.168.10.2/24192.168.10.1明确配置的解析服务
测试终端192.168.10.100/24192.168.10.2192.168.10.2

终端把 DNS 填成 192.168.10.2 的前提,是旁路由确实在该地址的 53 端口提供解析服务,并允许来自局域网的查询。只安装 Xray 并不等于自动具备这个服务。主路由与旁路由处于同一网段时,直接访问主路由管理地址仍通常走二层通信,不经过默认网关。

53
常规 DNS 服务端口,检查 UDP 与 TCP
123
NTP 常用 UDP 端口,供系统校时使用
12345
本文示例透明入口端口,需与规则一致

单臂旁路由的直连转发可能发生“终端经旁路由发出,主路由直接回给终端”。这会影响有状态防火墙或连接跟踪。源地址转换可以让回包返回旁路由,但会改变上游看到的源地址,不能把它当作所有拓扑的通用开关。还要检查 ICMP 重定向是否使终端改走主路由,以及防火墙是否允许同接口转发。

四、透明代理入口与 Xray 路由不是同一层

显式代理要求应用主动连接 SOCKS 或 HTTP 入口;透明代理则由网络规则把连接送进内核。仅在 Xray 中增加一个监听端口,不会让局域网设备自动使用它。本文示例的 12345 只是选定端口,必须与实际透明入口及防火墙转发目标保持一致。

单设备显式代理验证

推荐

先用局域网可达的 SOCKS 或 HTTP 入站验证节点、证书和出站参数。限制来源地址,验证完成后关闭不再需要的入口。通过这一层测试仍不代表透明代理已经可用。

适合:初次部署时先排除节点和内核配置问题。

REDIRECT 接管

常见方案用于 TCP 流量,并要求对应入站能读取原始目标地址。不能把 TCP 重定向规则直接套到所有 UDP 流量,也不能只配置 NAT 链就认为已覆盖全部协议。

适合:已明确仅接管 TCP,且固件提供匹配配置的环境。

TPROXY 接管

可用于 TCP 与 UDP,但依赖内核支持、策略路由、流量标记和对应的透明套接字配置。标记值、路由表和入站设置需要作为一组检查。

适合:需要 UDP 接管,并能维护策略路由的环境。

OpenWrt 22.03 起默认采用 firewall4 与 nftables。维护旧方案时先辨认实际规则后端,不要把旧的 iptables 脚本直接追加到新固件,再根据命令退出码判断部署成功。透明入口还应排除内核自身发出的代理连接、管理地址和必要的本地服务,防止流量再次进入自身。

五、DNS 分流要与连接路径配套

终端询问 DNS 的路径与终端连接目标地址的路径是两件事。把网关改为旁路由,不会自动覆盖浏览器自带的加密 DNS;把 DNS 指向旁路由,也不会自动改变默认网关。需要在试运行时明确哪些设备使用系统 DNS,哪些应用自行解析。

若系统已安装相应工具,可在测试终端执行下面两条命令,分别验证常规 UDP 查询和 TCP 查询。能得到答复只说明这个解析入口可用,不代表查询经过了预期的上游;上游路径仍要对照解析服务日志确认。

dig @192.168.10.2 example.com A
dig +tcp @192.168.10.2 example.com A

IPv6 需要同步规划。终端可能通过路由通告获取 IPv6 默认网关和 DNS,应用也可能优先使用 AAAA 记录。没有完成 IPv6 接管前,应在测试设备上明确控制 IPv6 路径并记录设置,而不是只看 IPv4 访问成功就宣布全网生效。

六、从一台终端开始上线

下面的界面路径以 OpenWrt 23.05 系列标准 LuCI 中文界面为例,定制固件的菜单名称可能不同。网络地址变更会断开管理连接,操作前先准备有线接入,并记录主路由地址、原 DHCP 设置与当前配置备份。

  1. 记录原配置

    进入「系统」→「备份/升级」,生成当前配置备份。记下测试终端原来的网关与 DNS,确认可以直接访问主路由 192.168.10.1。

  2. 固定旁路地址

    进入「网络」→「接口」→「LAN」→「编辑」→「基本设置」,按示例设置静态地址 192.168.10.2/24,IPv4 网关指向 192.168.10.1。保存应用后用新地址重新登录。

  3. 避免重复分配

    在旁路由「网络」→「接口」→「LAN」→「编辑」→「DHCP 服务器」→「常规设置」检查「忽略此接口」。同网段测试阶段保留主路由作为唯一 DHCP 分配源。

  4. 核对内核入口

    先验证 Xray 配置与节点连接,再启用已规划的透明接管规则。核对监听端口、转发策略、DNS 服务及进程自身流量排除,不直接复制其他设备的整套防火墙命令。

  5. 只改测试终端

    将测试终端网关改为 192.168.10.2;DNS 服务确认可用后,再将 DNS 指向该地址。分别测试网页、UDP 应用、局域网共享和路由器管理页面。

  6. 验证后再扩展

    重启旁路由并复测。确认服务启动顺序、规则恢复和 DNS 就绪后,再考虑通过 DHCP 选项 3 下发网关、选项 6 下发 DNS;已租约设备需续租后检查实际获取值。

七、按症状排查,不同时修改多层设置

排查顺序建议固定为:终端地址和路由、旁路由转发、DNS、内核入口、代理出站。每次只改一项,记录改动前后的日志。下列命令用于 Linux 网关只读检查;部分精简固件需要安装对应工具。

ip -4 route
ip -6 route
ip rule show
sysctl net.ipv4.ip_forward
ss -lntup
nft list ruleset

改完网关后,所有网页都打不开?

先把测试终端网关恢复为 192.168.10.1,确认原网络可用。再检查旁路由的默认路由、IP 转发及防火墙转发计数;不要先更换节点。DNS 指向旁路由时,还需确认 53 端口服务存在。

网页能开,语音或游戏却不通?

检查实际是否只部署了 TCP 接管,再核对 UDP 入站、策略路由与出站支持情况。用应用日志确认失败协议;不能因为 TCP 网页正常,就认定 UDP 和 DNS 转发也正常。

为什么只有部分设备走旁路由?

逐台查看实际网关和 DNS,不只看 DHCP 管理页面。静态地址、旧租约、应用自带解析以及 IPv6 默认路由都可能造成差异。先在同一台设备上分别确认 IPv4 与 IPv6 路径。

重启后失效,手动启动又正常?

检查服务启动日志,确认网络、时间同步和 DNS 是否先于代理连接就绪。核对防火墙重载后接管链是否仍存在;先解决依赖顺序,再设置有限重试,避免用持续重启掩盖配置问题。

上线前最后确认三个恢复动作:终端能改回原网关,主路由管理入口仍可访问,旁路由停止服务后不会留下指向空端口的接管规则。CPU 架构、节点协议和线路条件差异很大,不能用设备宣传带宽推算代理吞吐;应以实际业务测试、资源占用和连接日志作为扩展接管范围的依据。

V2Ray客户端下载