FRP从零开始完整部署教程(Linux服务端+Windows客户端)
本教程为纯新手向,无复杂操作,全程步骤清晰、命令可直接复制,覆盖从安装、配置、运行到开机自启全流程,解决内网穿透、远程访问需求。
一、前期准备
1. 环境与条件
-
服务端:一台拥有公网IP的Linux云服务器(CentOS 7及以上、Ubuntu 18.04及以上版本均可,阿里云、腾讯云、华为云等平台均可)
-
客户端:Windows系统电脑(本地待穿透设备)
-
端口放行:在服务器防火墙/安全组,开放7000端口(FRP主通信端口)、7500端口(管理面板端口),以及需要穿透的业务端口(如远程桌面3389端口)
2. 下载FRP程序
FRP为绿色免安装程序,直接下载对应系统版本即可。
服务端(Linux)下载命令
登录服务器终端,依次执行以下命令:
# 进入程序安装目录
cd /usr/local
# 下载FRP 0.68.0版本(最新稳定版)
wget https://github.com/fatedier/frp/releases/download/v0.68.0/frp_0.68.0_linux_amd64.tar.gz
# 解压压缩包
tar -zxvf frp_0.68.0_linux_amd64.tar.gz
# 重命名文件夹,简化后续操作
mv frp_0.68.0_linux_amd64 frp
# 进入FRP目录
cd frp
客户端(Windows)下载
-
找到
frp_0.68.0_windows_amd64.zip并下载 -
将压缩包解压到本地固定路径(如桌面、D盘根目录,避免路径含中文)
二、Linux服务端完整配置
1. 编辑服务端配置文件
服务端配置文件为 frps.toml,执行命令打开编辑:
vi frps.toml
按下键盘 i 键进入编辑模式,删除原有全部内容,粘贴以下配置:
# FRP服务端监听端口,默认7000,客户端需与此一致
bindPort = 7000
# 管理面板配置(访问无需账号密码)
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = ""
webServer.pwd = ""
# 客户端连接认证令牌,自定义复杂字符串,客户端必须完全一致
auth.token = "自定义专属令牌(如:frp123456abc)"
# 日志配置
logFile = "./frps.log"
logLevel = "info"
logMaxDays = 7
编辑完成后,按 Esc 键,输入 :wq 并回车,保存并退出文件。
2. 启动FRP服务端
测试启动(临时运行)
适合测试配置是否正确,关闭终端则服务停止:
./frps -c frps.toml
出现 start frps success 字样,代表启动成功。
后台启动(推荐)
关闭终端后服务继续运行,适合长期使用:
nohup ./frps -c frps.toml
出现nohup: ignoring input 提示,代表后台启动成功。
3. 设置开机自启
避免服务器重启后FRP失效,配置系统自启服务:
- 创建系统服务文件:
vi /etc/systemd/system/frps.service
- 粘贴以下内容(路径无需修改,默认适配):
[Unit]
Description=frp server service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.toml
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
- 按
Esc,输入:wq保存退出,执行以下命令生效:
# 重载系统服务配置
systemctl daemon-reload
# 启动FRP服务
systemctl start frps
# 设置开机自动启动
systemctl enable frps
# 查看服务运行状态
systemctl status frps
显示 active (running),代表自启配置成功。
4. 服务端常用管理命令
# 重启FRP服务
systemctl restart frps
# 停止FRP服务
systemctl stop frps
# 强制关闭进程(解决端口占用)
pkill frps
# 查看FRP是否在运行
ps -ef | grep frps
三、Windows客户端完整配置
1. 编辑客户端配置文件
找到Windows解压目录中的 frpc.toml 文件,右键用记事本打开,删除原有内容,粘贴以下配置:
# 填写服务器公网IP地址
serverAddr = "你的服务器公网IP"
# 服务端端口,必须和frps.toml中bindPort一致
serverPort = 7000
# 认证令牌,必须和服务端完全一致
auth.token = "自定义专属令牌(和服务端相同)"
# 内网穿透配置(以Windows远程桌面为例)
[[proxies]]
name = "rdp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 3389
修改完成后,保存并关闭文件。
2. 启动客户端
-
以管理员身份打开命令提示符(CMD)
-
进入FRP客户端解压目录(示例路径,替换为自己的路径):
cd C:\Users\你的用户名\Desktop\frp_0.68.0_windows_amd64
- 执行启动命令:
frpc.exe -c frpc.toml
出现 start frpc success,代表客户端连接服务端成功。
3. 客户端后台运行(可选)
避免CMD窗口占用桌面,创建一键启动脚本:
- 新建文本文档,写入以下内容:
@echo off
cd /d 你的FRP客户端文件夹路径
start /b frpc.exe -c frpc.toml
exit
-
将文件后缀改为
.bat(如:FRP客户端启动.bat) -
双击该脚本,即可后台运行客户端。
4. 客户端开机自启
-
按下
Win+R,输入shell:startup并回车,打开开机自启文件夹 -
将上面创建的
.bat脚本,复制到该文件夹中 -
电脑开机后,客户端会自动后台启动
四、功能验证
1. 管理面板验证
打开浏览器,输入地址:http://服务器公网IP:7500,无需账号密码,直接进入FRP管理面板,可查看客户端连接状态、流量数据等。
2. 穿透功能验证(远程桌面)
-
在任意设备上,打开Windows远程桌面连接
-
输入地址:
服务器公网IP:3389 -
输入本地Windows电脑的账号密码,即可成功远程连接。
五、常见问题排查
-
客户端连接失败:检查服务器安全组是否开放7000端口,确认IP、端口、令牌和服务端完全一致。
-
面板一直弹出密码框:修改配置后,必须重启服务端,同时清除浏览器缓存。
-
穿透后无法访问:确认本地服务已开启(如远程桌面功能),端口未被其他程序占用。
-
端口占用报错:执行
pkill frps关闭旧进程,再重新启动。
六、安全注意事项
-
认证令牌务必设置复杂字符,不要使用简单密码,防止他人恶意连接。
-
公网服务器建议开启面板账号密码,不建议无密码公开访问。
-
仅放行必要端口,关闭无用端口,降低安全风险。
-
修改配置文件后,必须重启服务,配置才能生效。
(注:文档部分内容可能由 AI 生成)