如何使用VPS搭建FRP内网穿透服务?
| 组件名称 |
功能描述 |
适用场景 |
| frps |
服务端程序,运行在VPS上 |
接收来自客户端的连接请求 |
| frpc |
客户端程序,运行在内网设备上 |
将内网服务映射到公网 |
| frps.toml |
服务端配置文件 |
定义端口、认证等参数 |
| frpc.toml |
客户端配置文件 |
指定要穿透的服务类型 |
| systemd服务 |
进程守护管理 |
确保frp服务稳定运行 |
VPS如何搭建FRP实现内网穿透?从零开始配置FRP服务端与客户端
FRP是一个高性能的反向代理应用,可以帮助你轻松实现内网穿透,让外网用户能够访问内网中的服务。通过VPS搭建FRP服务,你可以将本地开发环境、NAS设备、监控系统等服务暴露到公网。
FRP搭建主要步骤
| 步骤 |
操作内容 |
预计耗时 |
| 1 |
下载FRP程序包 |
5分钟 |
| 2 |
配置FRP服务端 |
10分钟 |
| 3 |
配置防火墙和安全组 |
5分钟 |
| 4 |
启动FRP服务端 |
2分钟 |
| 5 |
配置FRP客户端 |
10分钟 |
| 6 |
测试连接 |
3分钟 |
详细操作流程
步骤1:下载FRP程序包
操作说明:根据VPS的处理器架构下载对应的FRP版本
使用工具提示:使用SSH客户端连接VPS,执行命令操作
# 查看VPS处理器架构
arch
下载FRP程序包(以x8664架构为例)
wget https://github.com/fatedier/frp/releases/download/v0.52.0/frp0.52.0linuxamd64.tar.gz
解压压缩包
tar -zxvf frp0.52.0linuxamd64.tar.gz
进入解压后的目录
cd frp0.52.0linuxamd64
步骤2:配置FRP服务端
操作说明:编辑frps.toml配置文件,设置基本参数
使用工具提示:可以使用vim、nano等文本编辑器
# 编辑服务端配置文件
vim frps.toml
配置文件内容示例:
bindPort = 7000
auth.token = "yourpasswordhere"
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin"
步骤3:配置防火墙和安全组
操作说明:开放FRP服务所需的端口
使用工具提示:需要配置VPS服务商的安全组和系统防火墙
# Ubuntu/Debian系统使用ufw
ufw allow 7000
ufw allow 7500
CentOS系统使用firewalld
firewall-cmd --permanent --add-port=7000/tcp
firewall-cmd --permanent --add-port=7500/tcp
firewall-cmd --reload
步骤4:启动FRP服务端
操作说明:启动frps服务并设置为开机自启
使用工具提示:使用systemd管理服务进程
# 创建systemd服务文件
vim /etc/systemd/system/frps.service
服务文件内容:
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
ExecStart=/path/to/frps -c /path/to/frps.toml
[Install]
WantedBy=multi-user.target
启动命令:
# 重载systemd配置
systemctl daemon-reload
启动frps服务
systemctl start frps
设置开机自启
systemctl enable frps
步骤5:配置FRP客户端
操作说明:在内网设备上配置frpc.toml文件
使用工具提示:根据客户端操作系统选择对应的FRP版本
Windows客户端配置示例:
serverAddr = "yourvpsip"
serverPort = 7000
auth.token = "yourpasswordhere"
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
步骤6:测试连接
操作说明:验证FRP服务是否正常工作
使用工具提示:可以通过访问仪表盘或直接连接测试
# 访问FRP仪表盘
http://yourvpsip:7500
测试SSH连接(如果配置了SSH穿透)
ssh username@yourvps_ip -p 6000
常见问题与解决方案
| 问题 |
原因 |
解决方案 |
| 权限不足无法运行 |
Linux系统文件权限设置不当 |
使用chmod命令设置执行权限:chmod +x frps |
| 架构版本不匹配 |
下载的FRP版本与操作系统架构不符 |
通过arch命令查看架构,下载对应版本 |
| 配置文件路径错误 |
-c参数指向的配置文件路径不正确 |
使用绝对路径指定配置文件位置 |
| 防火墙阻止连接 |
端口未在防火墙中开放 |
检查VPS安全组和系统防火墙设置 |
| 连接速度缓慢 |
网络带宽限制或VPS性能不足 |
升级VPS配置或优化网络设置 |
通过以上步骤,你可以成功在VPS上搭建FRP内网穿透服务,实现外网访问内网资源的功能。在实际操作过程中,如果遇到其他问题,建议查看FRP官方文档或相关技术社区的讨论。
发表评论