拥有云服务器却受限于低配置,而家里的电脑性能强劲却苦于没有公网 IP?通过 FRP (Fast Reverse Proxy) 内网穿透技术,你可以将云服务器作为“流量中转站”,让全世界的用户访问你内网环境下的各类服务(如游戏服务器、Web 应用、NAS 或远程桌面)。
🛠️ 环境准备
- 服务端:公网 Ubuntu/Debian/CentOS 云服务器。
- 客户端:本地内网主机(Windows/Linux/Mac)。
云服务器端安装 (frps)
1. 下载与解压
由于 FRP 版本更新较快,我们建议在 GitHub 找到最新的 linux_amd64 版本。
# 进入存放软件的目录
cd /usr/local/bin
# 下载指定版本的二进制包(此处以 0.61.0 为例,请根据需求替换版本号)
wget [https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz](https://github.com/fatedier/frp/releases/download/v0.61.0/frp_0.61.0_linux_amd64.tar.gz)
# 解压文件
tar -zxvf frp_0.61.0_linux_amd64.tar.gz
# 为了方便管理,重命名文件夹
mv frp_0.61.0_linux_amd64 frp
cd frp
2. 配置服务端 frps.toml
直接使用命令编辑器修改配置:
nano frps.toml
填入以下基础配置:
# 隧道连接端口
bindPort = 7000
3. 配置 Systemd 实现开机自启
直接运行 ./frps -c frps.toml 关掉终端就会退出,我们需要把它写成系统服务:
sudo nano /etc/systemd/system/frps.service
复制以下内容:
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/usr/local/bin/frp
ExecStart=/usr/local/bin/frp/frps -c /usr/local/bin/frp/frps.toml
Restart=on-failure
[Install]
WantedBy=multi-user.target
启动命令:
systemctl daemon-reload
# 启动并设置开机自启
systemctl enable frps --now
本地客户端配置 (frpc)
下载对应平台的客户端文件(如 windows_amd64),修改 frpc.toml:
# 云服务器IP
serverAddr = "你的云服务器IP"
# 隧道连接端口
serverPort = 7000
[[proxies]]
# 隧道名称
name = "my-service-tcp"
# 隧道类型
type = "tcp"
# 本地实际运行IP
localIP = "127.0.0.1"
# 本地实际运行端口
localPort = 26666
# 映射到公网的端口(注意:不要与云服务器端口冲突)
remotePort = 26666
启动客户端
./frpc -c frpc.toml
避坑指南与防火墙
无论你使用什么服务,防火墙放行 是最关键的一步。你需要在云服务器控制台(如腾讯云、阿里云)放行:
- 7000 (TCP):必开,否则客户端无法连接。
- 业务端口 (TCP):例如上文的
26666,否则用户无法访问。