[一键脚本] 尝鲜 Xray VLESS REALITY 超强伪装反向隧道!让吃灰海外 VPS 发光发热

在几天前,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:

  1. 在公网机器上运行(Portal)
    粘贴命令后,选择1进行安装
  2. 选择1进行安装,脚本会自动识别公网IP
    讲解一下这里的参数含义:
  • 正向 REALITY 与平时的 VLESS 一致,用于过墙,代理上网,与反向隧道无关
  • 反向 REALITY 用于内网机器连接外网机器,类似于握手,注册反向隧道,让外网机器知道内网机器正常连接到我这里了,我后面的数据可以发到你这里。
  • 隧道入口就是外网机器的后续用户访问的端口,后续用户会用 外网机器:隧道入口 访问到内网的入口端口


    外网机器配置完毕
  1. 内网机器中运行一样的命令,选2

  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:

127 Likes

有一种我拿hy2当高性能web服务器的美

11 Likes

太专业了……只能等脚本了……

2 Likes

大佬你真棒,可以给我加个鸡腿吃吗。看饿了

2 Likes

要鸡腿去隔壁:lark_085:

2 Likes

Thank you for sharing.

1 Like

内网机器,是家里面的电脑做服务器这种吗?这部分不是很懂

1 Like

对的,就是你家里的电脑,因为没有公网IP,所以叫内网机器

1 Like

所以 这个教程就是说 在自己电脑上装服务,然后通过海外vps 访问来使用

可以代替tailscale了的感觉

2 Likes

That’s great!

1 Like

好好好,反向、正向,双向通用

2 Likes

很好的脚本周末就来试试水

5 Likes

下一步会不会是组网(接近ECH)
就没有:brick:的概念了

2 Likes

更新支持一下软路由吧

2 Likes

厉害了大佬,一个脚本就解决,谢谢分享

1 Like

学到了:nerd_face:

1 Like

厉害了佬

2 Likes

学习你的教程 :+1:

3 Likes

The machine can be used now.

1 Like

好文,给大佬捧个场,看着不错

3 Likes