10.2 V2Ray 配置
V2Ray 是一款代理软件,支持多种代理协议和流量路由功能。Xray-core 是 V2Ray 的一个分支,在保持核心功能的基础上进行了性能优化和功能扩展。二者配置基本相同,Xray 可参考 V2Ray 的配置方法。
安装 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:
此时,代理软件应已成功启动,可通过日志输出或进程状态进行验证。
配置代理参数
代理软件启动后,需要对相关软件进行代理参数配置。V2Ray/Xray 采用 inbounds(入站)和 outbounds(出站)的架构设计:inbounds 定义代理软件如何接收流量,outbounds 定义代理软件如何转发流量。
打开 config.json,找到对应的 inbounds 属性。inbounds 是一个数组,其中的每个元素表示一项入站接口配置,包括监听地址、端口号和代理协议类型。在需要使用代理的软件中,将代理服务器地址和端口号设置为此处对应的值。
配置浏览器使用代理(以 Firefox 为例)
1. 查找端口:
打开配置文件 config.json,在 inbounds 字段下确认端口号。通常 Windows 导出的配置中,SOCKS5 端口为 10808,HTTP 端口为 10809。
例如,其中一个入站接口的 protocol 为 http,listen 为 127.0.0.1,port 为 10809,这表示该入站接口在本地环回地址的 10809 端口监听 HTTP 代理请求。
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_PROXY、HTTPS_PROXY 和 ALL_PROXY,并根据其取值自动使用相应的代理。
下面的命令适用于 sh、bash、zsh:
设置完成后,可在 Firefox 浏览器中访问网页,并观察 V2Ray 输出的日志,即可确认浏览器流量已通过代理转发。终端命令同样会通过代理访问网络,但部分命令对环境变量的支持方式不同,请根据具体软件查阅其代理配置方法。
代理流量分流
为了提高网络访问效率,部分网址不需要通过代理服务器访问,例如境内网站或本地网络资源。此时需要对网络流量进行分流处理。
打开 config.json 文件,找到对应的 routing 属性,其中的 rules 子属性用于配置 V2Ray 的流量分流规则。在 rules 中可以配置多条分流规则,每条规则通常包含 ip 或 domain 等匹配条件。当 IP 或域名匹配到某条规则时,V2Ray 会根据 outboundTag 属性,将流量转发到对应的 outbounds 出站配置中,例如标签为 proxy(代理)、direct(直连)或 block(拦截)的出站。只需将需要分流处理的域名或 IP 地址配置到相应的规则中即可。相关配置细节可参考 V2Ray 官方文档。实际上,在 V2Ray 客户端中导出配置文件时,通常已包含默认的流量分流规则。
V2Ray 还预置了 geosite.dat 和 geoip.dat 两个资源文件:geosite.dat 按分类保存各类域名信息,geoip.dat 按分类保存各类 IP 地址信息。资源文件路径可通过设置环境变量 V2RAY_LOCATION_ASSET 指定,V2Ray 会自动在该路径下查找 geosite.dat 和 geoip.dat 文件。对于 Xray,则使用 XRAY_LOCATION_ASSET 环境变量来指定资源文件路径。注意:如果使用 Xray,请确保正确设置 XRAY_LOCATION_ASSET 环境变量,否则可能导致资源文件加载失败。
例如,在直连规则中可以配置 geosite 中的 cn 域名走直连:
V2Ray 社区提供的 cn 域名直连规则覆盖范围有限,分类也相对较少。可自行在 GitHub 上查找由社区维护的 geosite 和 geoip 文件,其中通常对“白名单模式”和“黑名单模式”的配置方式也有较为详细的说明。
故障排除与未竟事宜
解决 Xray 资源文件加载失败(geosite.dat/geoip.dat)
在使用 Xray 时,可能会遇到资源文件加载失败的问题。FreeBSD 系统中,xray-core 的 pkg 安装的资源文件位于 /usr/local/share/xray-core/,但程序默认会在可执行文件同级目录 /usr/local/bin/ 查找。若启动时报 open /usr/local/bin/geosite.dat: no such file or directory 错误,可采用以下两种方案:
方案一:终端临时运行或用户级配置
临时运行:
通过环境变量指定资源路径,这种方式适用于单次运行或测试场景:
注意:若想在后台持续运行,可在命令末尾添加 &,使进程脱离当前终端会话。
持久化配置:
根据所使用的 Shell,选择适合的方式进行持久化配置,使环境变量在每次登录时自动生效:
Shell 配置路径
sh:
~/.profile写入 A 组配置bash:
~/.bash_profile或~/.profile写入 A 组配置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/v2ray的v2ray:v2ray,这是为了保持用户权限管理的一致性。
注意:若 /usr/local/etc/xray-core/ 目录下存在其他 .json 样例文件,建议将其移走或删除,避免配置冲突,因为 Xray 可能会扫描目录下的所有 JSON 文件。
2. 配置 rc.conf:
执行以下命令开启服务并注入环境:
3. 服务管理:
启动:
service xray start停止:
service xray stop临时禁用自启:在
/etc/rc.conf中注释掉xray_enable="YES"永久禁用自启:使用
service xray disable重新启用自启:使用
service xray enable
课后习题
在 FreeBSD 上安装 Xray-core 并通过系统服务方式运行,使用社区维护的 geosite/geoip 文件配置完整的分流规则,验证 geosite:cn 域名是否真的走直连,并将其作为补丁贡献到 Ports。
最后更新于