前言
FRP(Fast Reverse Proxy)是一款高性能的反向代理工具,可实现内网穿透。本教程将演示如何在Ubuntu服务器上部署FRP服务端。
环境准备
腾讯云服务器(Ubuntu 22.04 LTS)
SSH连接工具
第一部分:安装FRP服务端
步骤1:下载并解压FRP
# 创建安装目录
mkdir -p /opt/frp && cd /opt/frp
# 获取最新版本(请替换为GitHub实际最新版本),可前往https://github.com/fatedier/frp/releases/查看或者直接复制链接
FRP_VERSION="0.54.0"
wget https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/frp_${FRP_VERSION}_linux_amd64.tar.gz
# 解压文件
tar -zxvf frp_${FRP_VERSION}_linux_amd64.tar.gz
mv frp_${FRP_VERSION}_linux_amd64/* .
rm -rf frp_${FRP_VERSION}_linux_amd64*步骤2:配置服务端
# 编辑服务端配置文件
nano frps.ini[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = your_secure_password
token = your_secure_token_123
log_level = info
log_max_days = 3dashboard_pwd是你登录管理页面的密码
token是服务器和客户端加密使用的,两边需要一致,可以用软件生成复杂字符串或者自定义
步骤3:创建Systemd服务
# 创建服务文件
sudo nano /etc/systemd/system/frps.service[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/opt/frp/frps -c /opt/frp/frps.ini
[Install]
WantedBy=multi-user.target步骤4:启动并设置开机自启
sudo systemctl daemon-reload
sudo systemctl start frps
sudo systemctl enable frps第二部分:配置防火墙
登录云管理页面
进入【安全】→【防火墙】
添加放行规则:
TCP端口:7000(FRP主端口)
TCP端口:7500(仪表盘端口)
点击"应用"保存配置
如果Ubuntu Linux里的防火墙有设置,也需要对应的放行
#查看防火墙状态
ufw status
#添加要放行的端口
ufw allow 7000/tcp
ufw allow 7500/tcp
#重新加载防火墙
ufw reload
#再查看一下有没有添加进去
ufw status如果不想麻烦可以参考文章来禁用Ubuntu的防火墙只用云端的 https://cloud.tencent.com/developer/article/2428519
第三部分:客户端配置示例
Windows客户端配置(frpc.ini):
[common]
server_addr = 你的服务器IP
server_port = 7000
token = your_secure_token_123
[web]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 8080启动客户端:
./frpc -c frpc.iniOpenWRT端配置:
去应用商店安装对应的客户端,开启管理页面。然后填入对应的服务器IP,用户名,密码和token就可以了。使用起来相对更便捷。
第四部分:验证安装
检查服务状态:
systemctl status frps访问仪表盘:
浏览器访问http://服务器IP:7500使用预设账号密码登录查看连接日志:
tail -f /opt/frp/frps.log常见问题排查
端口无法连接:
检查防火墙规则
确认腾讯云安全组已放行端口
验证服务端配置中的token是否与客户端一致
服务启动失败:
journalctl -u frps -f # 查看详细日志性能优化建议:
启用TLS加密传输
配置连接池减少重复握手
限制单个IP最大连接数
评论区