如何在VPS上搭建FRP内网穿透服务?
| 步骤 |
操作说明 |
使用工具 |
配置示例 |
| 1 |
下载FRP程序 |
wget/curl |
wget https://github.com/fatedier/frp/releases/download/v0.xx.x/frp0.xx.xlinuxamd64.tar.gz |
| 2 |
配置服务端 |
文本编辑器 |
[common] bindport=7000 token=yourpassword |
| 3 |
启动服务 |
命令行 |
./frps -c frps.ini |
| 4 |
配置客户端 |
文本编辑器 |
[common] serveraddr=yourvpsip serverport=7000 |
| 5 |
设置防火墙 |
iptables/firewalld |
iptables -A INPUT -p tcp --dport 7000 -j ACCEPT |
VPS搭建FRP内网穿透完整指南
一、FRP简介与用途
FRP(Fast Reverse Proxy)是一个高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。它由服务端(frps)和客户端(frpc)组成,主要用于将内网服务安全地暴露到公网。典型应用场景包括:
- 远程访问家庭NAS设备
- 开发调试内网Web服务
- 实现SSH远程连接内网主机
- 游戏服务器穿透
二、详细搭建步骤
1. 准备工作
- 一台具有公网IP的VPS服务器(推荐Linux系统)
- 需要穿透的内网设备
- 基础命令行操作能力
2. 服务端配置
- 下载FRP:
wget https://github.com/fatedier/frp/releases/download/v0.xx.x/frp0.xx.xlinuxamd64.tar.gz
tar -zxvf frp0.xx.xlinuxamd64.tar.gz
cd frp0.xx.xlinuxamd64
- 编辑服务端配置(frps.ini):
[common]
bindport = 7000
token = yoursecurepassword
vhosthttpport = 80
vhosthttpsport = 443
dashboardport = 7500
dashboarduser = admin
dashboardpwd = adminpassword
- 启动服务端:
./frps -c ./frps.ini
- 设置防火墙:
iptables -A INPUT -p tcp --dport 7000 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- 配置系统服务(可选):
创建
/etc/systemd/system/frps.service文件:
[Unit]
Description=FRP Server
After=network.target
[Service]
Type=simple
ExecStart=/path/to/frp/frps -c /path/to/frp/frps.ini
Restart=on-failure
[Install]
WantedBy=multi-user.target
然后执行:
systemctl enable frps
systemctl start frps
3. 客户端配置
- 下载对应版本的FRP客户端到内网设备
- 编辑客户端配置(frpc.ini):
[common]
serveraddr = yourvpsip
serverport = 7000
token = yoursecurepassword
[ssh]
type = tcp
localip = 127.0.0.1
localport = 22
remoteport = 6000
[web]
type = http
localport = 80
customdomains = yourdomain.com
- 启动客户端:
./frpc -c ./frpc.ini
三、常见问题及解决方案
| 问题 |
原因 |
解决方案 |
| 连接超时 |
防火墙未开放端口 |
检查VPS安全组和系统防火墙设置 |
| 权限不足 |
文件执行权限不够 |
执行chmod +x frps frpc |
| 端口冲突 |
端口被占用 |
更换端口或停止占用程序 |
| 版本不匹配 |
客户端与服务端版本不一致 |
下载相同版本的FRP |
| 配置错误 |
参数设置不正确 |
仔细检查配置文件语法 |
四、安全建议
- 使用强密码并定期更换
- 限制管理面板的访问IP
- 定期更新FRP到最新版本
- 仅开放必要的端口
- 考虑使用SSH隧道加密流量
通过以上步骤,您应该已经成功在VPS上搭建了FRP内网穿透服务。根据实际需求调整配置参数,即可实现各种内网服务的公网访问。
发表评论