MENU

V2ray 反向代理 & 内网穿透 简单配置

January 29, 2023 • Read: 5716 • 随心笔记

官方描述

反向代理是一个 V2Ray 的附加功能,可以把服务器端的流量向客户端转发,即逆向流量转发。

反向代理的大致工作原理如下:

  • 假设在主机 A 中有一个网页服务器,这台主机没有公网 IP,无法在公网上直接访问。另有一台主机 B,它可以由公网访问。现在我们需要把 B 作为入口,把流量从 B 转发到 A。
  • 在主机 A 中配置一个 V2Ray,称为 bridge,在 B 中也配置一个 V2Ray,称为 portal。
  • bridge 会向 portal 主动建立连接,此连接的目标地址可以自行设定。portal 会收到两种连接,一是由 bridge 发来的连接,二是公网用户发来的连接。portal 会自动将两类连接合并。于是 bridge 就可以收到公网流量了。
  • bridge 在收到公网流量之后,会将其原封不动地发给主机 A 中的网页服务器。当然,这一步需要路由的协作。
  • bridge 会根据流量的大小进行动态的负载均衡。

根据官方的描述,V2ray Reverse 功能适合一些比较特殊的场景,反向代理或者内网穿透;除此之外 面对一些纯 IPv6 主机,我们可以先通过 warp 获取一个 IPv4 出口,再配合 Reverse 功能构建一个反向传输隧道、我的配置如下:

Bridge

  • {
  • "log": {
  • "access": "/var/log/v2ray/access.log",
  • "error": "/var/log/v2ray/error.log",
  • "loglevel": "warning"
  • },
  • "outbounds": [
  • {
  • "tag": "freedom",
  • "protocol": "freedom"
  • },
  • {
  • "tag": "in_bridge",
  • "protocol": "shadowsocks",
  • "settings": {
  • "servers": [
  • {
  • "address": "x.x.x.x",
  • "port": 7788,
  • "method": "aes-256-gcm",
  • "password": "666888"
  • }
  • ]
  • }
  • }
  • ],
  • "reverse": {
  • "bridges": [
  • {
  • "tag": "bridge",
  • "domain": "v2fly.org"
  • }
  • ]
  • },
  • "routing": {
  • "rules": [
  • {
  • "type": "field",
  • "inboundTag": [
  • "bridge"
  • ],
  • "domain": [
  • "full:v2fly.org"
  • ],
  • "outboundTag": "in_bridge"
  • }
  • ]
  • }
  • }

Portal

  • {
  • "log": {
  • "access": "/var/log/v2ray/access.log",
  • "error": "/var/log/v2ray/error.log",
  • "loglevel": "warning"
  • },
  • "inbounds": [
  • {
  • "port": 7788,
  • "tag": "ss_in",
  • "protocol": "shadowsocks",
  • "settings": {
  • "method": "aes-256-gcm",
  • "password": "666888",
  • "network": "tcp,udp"
  • }
  • }
  • ],
  • "reverse": {
  • "portals": [
  • {
  • "tag": "portal",
  • "domain": "v2fly.org"
  • }
  • ]
  • },
  • "routing": {
  • "rules": [
  • {
  • "type": "field",
  • "inboundTag": [
  • "ss_in"
  • ],
  • "outboundTag": "portal"
  • }
  • ]
  • }
  • }

参考文档