在几天前,Xray-core 发布了 v25.10.15 版本,重点强调了 VLESS Reverse Proxy 默认加了传递公网端的 Source & Local (IP & port) 到内网端
相信大家应该还没怎么用过 VLESS 的反向隧道功能,我手搓了一个简易脚本,能够让大家入门,看看最新的极简配置是怎么个事。
内网穿透
提到内网穿透,大家肯定先想到 FRP。
给小白介绍一下 frp 是什么:
frp(fast reverse proxy)是一套反向代理/隧道工具:你在外网有一台可被访问的 frps(服务端),内网机器跑 frpc(客户端)主动连出去建立一条长期通道。以后别人访问 frps 暴露的端口或域名,流量就沿着这条通道被转到你内网的服务上——这就绕过了 NAT/入网防火墙的阻挡。
访问路径:客户端 → 公网 frps:端口/域名 →(隧道)→ 内网 frpc → 本地服务(如 127.0.0.1:80)
在这里我们只讨论最稳定最通用的普通 tcp/udp/http/https 反向代理。这种穿透对NAT类型不敏感,唯一的缺点就是带宽都从frps走,特别是国内的机器,带宽可能本来就小,流量又不多,高昂的费用容易让人心疼。。
当然也有基于NAT打洞的内网穿透,但对小白来说不太友好,而且不容易实现(需要特定的宽松的NAT类型,NAT4就没有希望)
VLESS反向隧道
由此,我们希望能够用海外的机器帮我们进行内网穿透,在成本低廉的情况下,或许还能有更多的流量,更大的带宽。(虽然延迟可能高一点
内网性能强劲的机器+内网穿透获得公网服务能力,性价比很高。
但是,我们遇到的问题也很明显,内网穿透的协议过于简单,非常容易被识别。VLESS + REALITY 的强大伪装性,强大的路由能力,再加上前几天支持的传递公网端的 Source & Local (IP & port) 到内网端功能,无疑可能成为后面新的 frp 替代品。
(也可能有 VLESS + WS/XHTTP 走 CDN 的玩法,我还没尝试,可以后续发掘)
简单的示意图:
反向代理 | Project X
VLESS 反向代理的大致工作原理如下:
- 假设在主机 A 中有一个网页服务器,这台主机没有公网 IP,无法在公网上直接访问。另有一台主机 B,它可以由公网访问。现在我们需要把 B 作为入口,把流量从 B 转发到 A。
- 在主机 B 中配置 Xray,接收外部请求,所以称为
portal(门户)。- 在主机 A 中配置 Xray,负责将B的转发和网页服务器桥接起来,称为
bridge。
简单的脚本配置
为此,我简单写了一个脚本(GitHub链接),用于内网外网两端 Ubuntu 机器上进行安装并配置内网穿透
bash <(curl -fsSL https://github.com/kilvil/xray-rp/releases/latest/download/xray-rp.sh)
Step by step:
- 在公网机器上运行(Portal)
粘贴命令后,选择1进行安装
- 选择1进行安装,脚本会自动识别公网IP
讲解一下这里的参数含义:
- 正向 REALITY 与平时的 VLESS 一致,用于过墙,代理上网,与反向隧道无关
- 反向 REALITY 用于内网机器连接外网机器,类似于握手,注册反向隧道,让外网机器知道内网机器正常连接到我这里了,我后面的数据可以发到你这里。
- 隧道入口就是外网机器的后续用户访问的端口,后续用户会用
外网机器:隧道入口访问到内网的入口端口
外网机器配置完毕
- 内网机器中运行一样的命令,选2
- 这里提示粘贴刚才的配置信息到下方
粘贴好后,回车一次补上一个空行,然后按 Ctrl + D 即可配置完成
这里可以选择性的配置是否需要 正向代理 也就是内网机器通过外网机器上网的配置,仅仅需要隧道的同学可以选
n
接着输入内网机器的服务端口+回车即可。至此,就完成了隧道搭建,访问 外网机器:隧道入口 端口即可访问内网服务!
如果仅仅用于测试用途,可以快速用Nginx搭建一个80端口的小服务用于验证:
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
sudo tee /var/www/html/index.html >/dev/null <<'HTML'
<!doctype html><meta charset="utf-8"><title>Nginx OK</title>
<h1>🎉 Hello from Nginx (80)</h1>
HTML
sudo nginx -t && sudo systemctl reload nginx
# 可选:放行防火墙
sudo ufw allow 80/tcp
# 验证
curl -I http://127.0.0.1
配置成功后,进入链接,成功显示内网服务器托管的Nginx网页!
查看 Xray 的日志可以看到来源用户的 IP:









