状态:日常主力 · 适合原始 TCP/UDP 端口穿透与无第三方中转场景
速读#
Cloudflare Tunnel 解决了 HTTP 类网页服务的公网暴露,但对于 SSH、Minecraft 游戏服、私有 RPC 等原始 TCP/UDP 流量,网页代理无能为力。
frp 是一条纯粹的四层反向代理隧道。两端各放一个二进制文件(服务端 frps + 客户端 frpc),中间一条连接把流量从公网 VPS 搬进内网。
核心配置与安全加固#
公网暴露端口最容易招致全网扫描器暴力破解,frpc.toml 必须配置通信密钥与传输加密:
# frpc.toml 客户端核心安全配置serverAddr = "x.x.x.x"serverPort = 7000auth.token = "YOUR_STRONG_SECRET_TOKEN"transport.tls.enable = true
[[proxies]]name = "ssh-home"type = "tcp"localIP = "127.0.0.1"localPort = 22remotePort = 60022最短上手路径#
- 在公网 VPS 上运行
frps -c frps.toml并放行对应防火墙端口。 - 在内网机器配置
frpc.toml并启动连接。 - 外网通过
ssh -p 60022 user@vps-ip验证连通性。 - 使用 systemd 或 Docker 将 frp 固化为开机自启服务。
安全边界必须先写#
- 防爆破:暴露出来的远程端口严禁使用默认弱密码,SSH 必须禁用密码登录只保留 Ed25519 密钥。
- 最小暴露:只穿透具体服务端口,不穿透整个内网网段。
不适合什么情况#
- 纯 HTTP 静态站或公开 Web 服务(套 Cloudflare Tunnel 更省心且不用自备公网中转机)。
- 追求点对点直连(P2P)大文件传输(Tailscale / WireGuard 虚拟内网更合适)。
穿透工具的价值在于简单可靠。但端口暴露出去的那一秒,安全责任就全在你自己身上。
