在腾讯云服务器(Linux)上部署 FRP 内网穿透的完整、工程化流程,按“服务端(云服务器) → 客户端(内网机器)”的顺序来,适合偏技术向使用场景。
FRP内网穿透-部署逻辑讲解视频-B站_01
FRP内网穿透-部署逻辑讲解视频-B站_02
一、整体架构说明(先搞清楚逻辑)
FRP = frps(服务端) + frpc(客户端)
[内网设备] --frpc--> [腾讯云公网服务器] --公网访问-->
-
frps:部署在腾讯云(有公网 IP)
-
frpc:部署在你本地 / 公司 / 局域网机器
-
通信端口:
bind_port(控制通道)vhost_http_port/vhost_https_port(HTTP 穿透)- 或 TCP 自定义端口
二、腾讯云服务器端部署(frps)
1️⃣ 放行安全组端口(非常重要)
在腾讯云控制台 → 安全组 → 入站规则,至少放行:
| 用途 | 端口 | 协议 |
|---|---|---|
| FRP 控制端口 | 7000 | TCP |
| HTTP 穿透 | 80 | TCP |
| HTTPS 穿透 | 443 | TCP |
| 自定义 TCP | 6000–7000 | TCP |
❗如果不放行,frpc 会连不上
2️⃣ 下载 FRP
登录腾讯云服务器:
ssh root@你的公网IP
下载最新版(以 0.58.1 为例):
wget https://github.com/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_linux_amd64.tar.gz
tar -zxvf frp_0.58.1_linux_amd64.tar.gz
cd frp_0.58.1_linux_amd64
3️⃣ 配置 frps(服务端)
编辑:
nano frps.toml
推荐配置(生产可用):
bindPort = 7000
# Web 管理面板
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "strongpassword"
# HTTP/HTTPS 穿透
vhostHTTPPort = 80
vhostHTTPSPort = 443
# 日志
log.to = "./frps.log"
log.level = "info"
log.maxDays = 3
4️⃣ 启动 frps
测试运行
./frps -c frps.toml
后台运行(推荐)
nohup ./frps -c frps.toml > frps.log 2>&1 &
查看是否成功:
ss -lntp | grep frps
5️⃣(可选)注册为 systemd 服务(推荐)
nano /etc/systemd/system/frps.service
[Unit]
Description=FRP Server
After=network.target
[Service]
Type=simple
ExecStart=/root/frp_0.58.1_linux_amd64/frps -c /root/frp_0.58.1_linux_amd64/frps.toml
Restart=always
[Install]
WantedBy=multi-user.target
启动:
systemctl daemon-reload
systemctl enable frps
systemctl start frps
三、内网客户端部署(frpc)
1️⃣ 下载 frpc
Windows / Linux / macOS 都行
(版本必须与服务端一致)
👉 https://github.com/fatedier/frp/releases
2️⃣ 配置 frpc.toml
示例(HTTP 网站穿透):
serverAddr = "你的腾讯云公网IP"
serverPort = 7000
[auth]
method = "token"
token = "your_token"
[[proxies]]
name = "web"
type = "http"
localIP = "127.0.0.1"
localPort = 8080
customDomains = ["test.yourdomain.com"]
如果是 TCP 端口映射(如 SSH):
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
3️⃣ 启动 frpc
./frpc -c frpc.toml
成功日志示例:
login to server success
proxy [web] start success
四、访问方式说明
| 类型 | 访问方式 |
|---|---|
| HTTP | http://你的域名 |
| HTTPS | https://你的域名 |
| TCP | 腾讯云IP:6000 |
| 管理面板 | http://服务器IP:7500 |
五、常见问题排查(非常重要)
❌ 连接不上 frps
- 云服务器安全组未放行
- frps 没启动
- serverPort 不一致
❌ HTTP 访问 404
- 域名没解析到服务器 IP
- frps 未设置
vhostHTTPPort - frpc 的
customDomains不匹配
❌ 连接后立即断开
- token 不一致
- frp 版本不一致
六、进阶建议(你可能会用到)
✅ 推荐配置
- 使用 域名 + HTTPS
- 配合 Nginx 反代
- frps 前加 防火墙 IP 白名单
- frpc 放 systemd / PM2 守护
✅ 安全性增强
- 修改默认端口
- 启用 token
- 不暴露管理面板
- 使用 HTTPS(Let's Encrypt)