github编辑

10.2 配置 V2Ray

安装 V2Ray

V2Ray、Xray-core 配置基本相同,配置文档可以在各自的官方文档找到,Xray 完全可以参考 V2Ray 的配置方法。

安装 V2Ray

  • 使用 pkg 安装 V2Ray:

# pkg install v2ray
  • 或者使用 Ports 安装 V2Ray:

# cd /usr/ports/net/v2ray/
# make install clean

安装 Xray-core

  • 也可使用 pkg 安装 Xray-core:

# pkg install xray-core
  • 或者使用 Ports 安装 Xray-core:

# cd /usr/ports/security/xray-core/ 
# make install clean

启动代理软件

如果事先已有代理客户端,可以将客户端节点配置导出并复制到 FreeBSD 系统中(如使用 Windows 版本的 V2RayN 导出),假设导出的文件名为 config.json,然后执行以下命令:

  • 使用指定的配置文件启动 V2Ray:

  • 使用指定的配置文件启动 Xray:

此时,代理软件应已成功启动。

配置代理参数

此时可打开 config.json,找到对应的 inbounds 属性。inbounds 是一个数组,其中的每个元素表示一项入站接口配置,包括监听地址、端口号和代理协议类型。在需要使用代理的软件中,将代理服务器地址和端口号设置为此处对应的值。

配置浏览器使用代理(以 Firefox 为例)

即使代理软件在后台成功运行,浏览器仍需手动指向代理端口。

1. 查找端口:

打开你的 config.json,在 inbounds 字段下确认端口号。通常 Windows 导出的配置中,SOCKS5 端口为 10808,HTTP 端口为 10809

例如,其中一个入站接口的 protocolhttplisten127.0.0.1port10809

2. Firefox 设置:

  • 打开 设置 → 网络设置 → 代理服务器

  • 选择 手动代理配置

  • 对于 HTTP 代理:将地址设置为 127.0.0.1,端口设置为 10809

  • 对于 SOCKS 代理:将 SOCKS 主机填写为 127.0.0.1,端口填写为 10808

  • 重要: 勾选底部的"使用 SOCKS v5 时代理 DNS"(Proxy DNS when using SOCKS v5),这一步对绕过 DNS 污染至关重要

配置终端命令行程序

不同软件的代理设置方式差异较大,整体较为分散。对于桌面软件,通常需要在各自的设置界面中手动配置对应的代理服务器。对于终端命令行程序,如需使用代理,配置过程相对简单。大多数终端命令会读取 HTTP_PROXYHTTPS_PROXYALL_PROXY 这三个环境变量,并根据其取值自动使用相应的代理。

下面的命令适用于 sh、bash、zsh:

设置完成后,可在 Firefox 浏览器中访问网页,并观察 V2Ray 输出的日志,即可确认浏览器流量已通过代理转发。终端命令同样会通过代理访问网络,但部分命令对环境变量的支持方式不同,请根据具体软件查阅其代理配置方法。

代理流量分流

部分网址并不需要通过代理服务器访问,例如境内网站或本地网络资源。此时需要对网络流量进行分流处理,使一部分流量通过代理转发,另一部分流量采用直连方式访问。

打开 config.json 文件,找到对应的 routing 属性,其中的 rules 子属性用于配置 V2Ray 的流量分流规则。在 rules 中可以配置多条分流规则,每条规则通常包含 ipdomain 等匹配条件。代理流量通常包含域名和 IP 地址信息。当 IP 或域名匹配到某条规则时,V2Ray 会根据 outboundTag 属性,将流量转发到对应的 outbounds 出站配置中,例如标签为 proxy(代理)、direct(直连)或 block 的出站。因此,只需将需要分流处理的域名或 IP 地址配置到相应的规则中即可。相关配置细节可参考 V2Ray 官方文档。实际上,在 V2Ray 客户端中导出配置文件时,通常已包含默认的流量分流规则。

V2Ray 还预置了 geosite.datgeoip.dat 两个资源文件,其中 geosite.dat 按分类保存各类域名信息,geoip.dat 按分类保存各类 IP 地址信息。资源文件路径可通过设置环境变量 V2RAY_LOCATION_ASSET 指定,V2Ray 会自动在该路径下查找 geosite.datgeoip.dat 文件。对于 Xray,则使用 XRAY_LOCATION_ASSET 环境变量来指定资源文件路径。

例如,在直连规则中可以配置 geosite 中的 cn 域名走直连:

V2Ray 社区提供的 cn 域名直连规则覆盖范围有限,分类也相对较少。可自行在 GitHub 上查找由社区维护的 geosite 和 geoip 文件,其中通常对“白名单模式”和“黑名单模式”的配置方式也有较为详细的说明。

故障排除与未竟事宜

解决 Xray 资源文件加载失败(geosite.dat/geoip.dat)

FreeBSD 系统中,xray-corepkg 安装的资源文件位于 /usr/local/share/xray-core/,但程序默认会在可执行文件同级目录(/usr/local/bin/)查找。若启动时报 open /usr/local/bin/geosite.dat: no such file or directory 错误,可采用以下两种方案:

方案一:终端临时运行或用户级配置

临时运行:

通过环境变量指定资源路径:

注:若想在后台持续运行,可在命令末尾添加 &

持久化配置:

根据所使用的 shell,选择适合的方式进行持久化配置:

Shell 配置路径

  1. sh: ~/.profile 写入 A 组配置

  2. bash: ~/.bash_profile 或 ~/.profile 写入 A 组配置

  3. csh: ~/.cshrc 写入 B 组配置

A 组(sh/bash)

B 组(csh)

配置完成后,请源化配置文件以使更改立即生效(例如,对于 sh 或 bash:source ~/.profile;对于 csh:source ~/.cshrc),或注销并重新登录。对于系统服务运行方式(如 rc.conf),无需此配置,因为它通过 sysrc 注入环境变量。

创建符号链接

建立软链接,使 Xray 无论从何处启动都能找到数据库:

方案二:系统服务运行

这是最符合 FreeBSD 规范的方法,支持开机自启和统一管理。

1. 放置配置文件:

将配置移动到系统默认目录并修正权限:

  • FreeBSD 的 security/xray-core 没有创建独立的 xray 用户/组,而是沿用 net/v2rayv2ray:v2ray

注意:若 /usr/local/etc/xray-core/ 目录下存在其他 .json 样例文件,建议将其移走或删除,避免配置冲突。

2. 配置 rc.conf:

执行以下命令开启服务并注入环境:

3. 服务管理:

  • 启动:service xray start

  • 停止:service xray stop

  • 临时禁用自启:在 /etc/rc.conf 中注释掉 xray_enable="YES"

  • 永久禁用自启:使用 service xray disable,此命令会自动在 /etc/rc.conf 中将 xray_enable="YES" 修改为 xray_enable="NO",从而永久取消开机自启(直到手动重新启用)。注意,xray_enable="YES" 仅控制开机自启动,而不影响手动启动或停止命令的执行;即使自启被禁用,你仍可以使用 service xray startservice xray stop 来管理服务的运行状态。如果你想重新启用自启,可使用 service xray enable(这会将 xray_enable 改为 "YES")。

最后更新于