v2ray 官方发布 OpenWRT 透明代理 – 仅 TCP – chnroute

目录

  1. 简介
  2. 环境准备
  3. 安装 v2ray 3.1. 下载 v2ray 配置文件 3.2. 修改 v2ray 配置文件 3.3. 启动 v2ray
  4. 配置透明代理 4.1. 配置防火墙规则 4.2. 配置 chnroute
  5. 测试验证
  6. 常见问题 FAQ 6.1. v2ray 无法正常启动怎么办? 6.2. 透明代理为什么只支持 TCP 协议? 6.3. chnroute 是什么?如何配置? 6.4. 如何查看 v2ray 的运行状态和日志?

1. 简介

v2ray 是一款功能强大的代理工具,支持多种协议和传输方式。v2ray 官方近期发布了针对 OpenWRT 平台的透明代理功能,该功能仅支持 TCP 协议,并采用 chnroute 的方式进行路由分流。本文将详细介绍如何在 OpenWRT 上配置和使用该功能。

2. 环境准备

  • 已安装 OpenWRT 系统的路由器设备
  • 已在路由器上安装 v2ray 程序

3. 安装 v2ray

3.1. 下载 v2ray 配置文件

从 v2ray 官方仓库下载最新版的 OpenWRT 配置文件:

wget https://github.com/v2fly/v2ray-core/releases/latest/download/v2ray-openwrt.zip

3.2. 修改 v2ray 配置文件

解压下载的 zip 文件,并编辑 config.json 文件,根据实际情况修改以下配置项:

  • inbounds 部分的 portprotocol 字段
  • outbounds 部分的 servers 字段,填写你的 v2ray 服务器信息

3.3. 启动 v2ray

将修改好的 config.json 文件上传到路由器,并使用以下命令启动 v2ray:

/etc/init.d/v2ray start

4. 配置透明代理

4.1. 配置防火墙规则

编辑 /etc/config/firewall 文件,在 config zone 'wan' 部分添加以下规则:

list forwarding_rule ‘v2ray_tproxy’ option src ‘wan’ option dest ‘lan’ option proto ‘tcp’ option target ‘TPROXY’ option tproxy_mark ‘0x01/0x01’

然后重启防火墙:

/etc/init.d/firewall restart

4.2. 配置 chnroute

下载最新版的 chnroute 列表:

wget https://ispip.clang.cn/all_cn.txt -O /etc/v2ray/chnroute.txt

修改 config.json 文件,在 routing 部分添加以下配置: “routing”: { “rules”: [ { “type”: “field”, “outboundTag”: “direct”, “ip”: [ “geoip:cn” ] }, { “type”: “field”, “outboundTag”: “proxy”, “network”: “tcp” } ]}

重启 v2ray 使配置生效:

/etc/init.d/v2ray restart

5. 测试验证

在局域网内的设备上访问一些网站,观察是否能正常访问。如果访问国内网站速度正常,访问国外网站速度明显提升,则说明透明代理配置成功。

6. 常见问题 FAQ

6.1. v2ray 无法正常启动怎么办?

  • 检查 config.json 文件是否存在语法错误
  • 查看 v2ray 的日志信息,了解启动失败的原因
  • 确保路由器有足够的内存和CPU资源运行 v2ray

6.2. 透明代理为什么只支持 TCP 协议?

v2ray 的透明代理功能目前仅支持 TCP 协议,这是由于 OpenWRT 系统的 TPROXY 机制的局限性所致。UDP 协议需要使用 REDIRECT 机制,这会导致部分应用程序无法正常工作。

6.3. chnroute 是什么?如何配置?

chnroute 是一个包含中国大陆 IP 段的列表,用于将访问国内网站的流量直接走本地网络,提高访问速度。在 v2ray 的透明代理配置中,我们使用 chnroute 进行流量分流。

可以通过 wget 命令定期下载最新版的 chnroute 列表,并在 config.json 文件中进行配置。

6.4. 如何查看 v2ray 的运行状态和日志?

可以使用以下命令查看 v2ray 的运行状态和日志信息:

/etc/init.d/v2ray status # 查看 v2ray 运行状态 logread | grep v2ray # 查看 v2ray 的日志

正文完