GoForum🌐 V2EX

内网穿透: FRP 套 Xray,公网零端口暴露的企业级“VPN”部署方案

yuanweipangci05 · 2026-03-27 11:14 · 0 次点赞 · 1 条回复

注意

本套教程仅适用于:自建 VPS 节点,拥有 VPSroot权限的用户。 Xray 节点请自行部署,本人使用3x-ui自建的 VLESS+vision+reality 节点做演示。

引言

折腾 NAS 的朋友一定深有体会:买了昂贵的优质线路 VPS (比如 DMIT ),用来做 FRP 内网穿透确实爽。但是,FRP 只要在公网暴露 7000 或 7474 这样的端口,有可能因为特征明显被直接封禁 IP / 阻断端口。

为了解决这个问题,我花了一下午死磕底层网络逻辑,踩了无数的坑,终于完美实现了一套“企业 VPN 级”的内网穿透方案: 全网仅暴露 443 伪装端口,FRP 流量被完美包裹在 Xray 隧道中,VPS 公网完全隐形,不仅极致安全,而且能够直跑物理带宽上限!

今天把这套方案和避坑指南无保留分享给大家。

看前提醒:为什么要用 FRP + Xray ,而不是纯 Xray 原生反代?

肯定有朋友会问,Xray 早就内置了 Reverse Proxy 功能,为啥还要多套一层 FRP ?这其实是基于解耦与维护成本的深度考量:

  1. 维护不便:Xray 的原生反代需要配置极其复杂的 bridgeportal,每次新增 NAS 端口都要动核心的 JSON 路由表,牵一发而动全身,极易导致整个节点崩溃。
  2. 专业的事交给专业的工具:我们采用分层架构理念。让 Xray 专心做它最擅长的事——底层 TLS 伪装与加密传输;让 FRP 专心做它最擅长的事——优雅的端口分发与流量管理。
  3. 性能零损耗:我们在配置中强制关闭 FRP 自带的 TLS ,让明文流量直接在 Xray 加密隧道中全速裸奔,既享受了 FRP 极简的 TOML 端口映射,又白嫖了 Xray 顶级的加密穿透性能。

如果您要纠结这个,那这篇教程不适合您,请关闭。


网络架构图

简单来说,我们的目标是:让本地的 FRP 流量伪装成正常的翻墙流量,抵达 VPS 后,再由 Xray 内部转发给 FRP 服务端。


实操步骤

步骤 1:VPS 端配置 Xray 路由

在你的 VPS 面板中,修改出站和路由,我这边使用8384端口演示,其它端口请以此类推:

照我这样填写,点击确定后保存,重新启动 Xray 。

点击确定后,保存,重启内核。

注意:这里必须按相同步骤再添加一个 7000 端口!否则 frp 连不上(因为完全依赖 Xray 转发) 因为我是合租的服务器,所以 user 这里填写自己的用户,以确保其它人无法访问,(这里计流量也是走用户自己的),正常可不填。

步骤 2:VPS 端配置 FRPS

先用 ssh 连接上服务器:

  1. 创建并进入目录
mkdir -p /opt/frp
cd /opt/frp
  1. 下载最新(截止 20260327 )的 FRP
wget https://github.com/fatedier/frp/releases/download/v0.68.0/frp_0.68.0_linux_amd64.tar.gz
  1. 解压文件并把里面的内容挪出来
tar -zxvf frp_0.68.0_linux_amd64.tar.gz --strip-components=1
  1. 删除没用的压缩包和客户端文件
rm frp_0.68.0_linux_amd64.tar.gz frpc frpc.toml
  1. frps.toml 配置文件
cat <<EOF > /opt/frp/frps.toml
bindAddr = "127.0.0.1"
bindPort = 7000
proxyBindAddr = "127.0.0.1"

[auth]
method = "token"
token = "yourtoken"

[transport]
tls.force = false
EOF
  1. 注册为系统服务
cat <<EOF > /etc/systemd/system/frps.service
[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
ExecStart=/opt/frp/frps -c /opt/frp/frps.toml
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target
EOF
  1. 启动并检查状态
systemctl daemon-reload
systemctl enable --now frps
systemctl status frps

若显示:active (running)则表示启动成功

步骤 3:NAS 端配置 FRP 客户端 (frpc)

创建或修改你 NAS 上的 frpc.toml

# frpc.toml

# 目标地址千万不要写 127.0.0.1 或 VPS 真实 IP !
# 我们随便写一个假公网 IP ( 11.11.11.11 ),这样本地 V2ray 就可以不用配置了。
serverAddr = "11.11.11.11"
serverPort = 7000

[auth]
method = "token"
token = "yourtoken"

[transport]
# 让 FRP 的所有流量走 NAS 本地的 Xray SOCKS5 隧道!
# 注意:如果你的代理端口不是 1145 ,请在这里修改!
proxyURL = "socks5://127.0.0.1:1145"
tls.enable = false

# 还是用我的 8384 端口来演示
[[proxies]]
name = "syncthing"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8384
remotePort = 8384

# 下面其它端口配置以此类推

结语

这套方案竣工后,你可以放心大胆地在手机或电脑上挂着翻墙节点,浏览器直接访问 http://11.11.11.11:端口号 来秒开家里的服务,就像企业级 VPN 一样。

1 条回复
jackOff · 2026-03-27 11:39
#1

nginx 反代了解一下

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: yuanweipangci05
发布: 2026-03-27
点赞: 0
回复: 0