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)下载

  1. 打开官方下载地址:https://github.com/fatedier/frp/releases

  2. 找到 frp_0.68.0_windows_amd64.zip 并下载

  3. 将压缩包解压到本地固定路径(如桌面、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失效,配置系统自启服务:

  1. 创建系统服务文件:
vi /etc/systemd/system/frps.service
  1. 粘贴以下内容(路径无需修改,默认适配):
[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
  1. 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. 启动客户端

  1. 管理员身份打开命令提示符(CMD)

  2. 进入FRP客户端解压目录(示例路径,替换为自己的路径):

cd C:\Users\你的用户名\Desktop\frp_0.68.0_windows_amd64
  1. 执行启动命令:
frpc.exe -c frpc.toml

出现 start frpc success,代表客户端连接服务端成功。

3. 客户端后台运行(可选)

避免CMD窗口占用桌面,创建一键启动脚本:

  1. 新建文本文档,写入以下内容:
@echo off
cd /d 你的FRP客户端文件夹路径
start /b frpc.exe -c frpc.toml
exit
  1. 将文件后缀改为 .bat(如:FRP客户端启动.bat)

  2. 双击该脚本,即可后台运行客户端。

4. 客户端开机自启

  1. 按下 Win+R,输入 shell:startup 并回车,打开开机自启文件夹

  2. 将上面创建的 .bat 脚本,复制到该文件夹中

  3. 电脑开机后,客户端会自动后台启动

四、功能验证

1. 管理面板验证

打开浏览器,输入地址:http://服务器公网IP:7500,无需账号密码,直接进入FRP管理面板,可查看客户端连接状态、流量数据等。

2. 穿透功能验证(远程桌面)

  1. 在任意设备上,打开Windows远程桌面连接

  2. 输入地址:服务器公网IP:3389

  3. 输入本地Windows电脑的账号密码,即可成功远程连接。

五、常见问题排查

  1. 客户端连接失败:检查服务器安全组是否开放7000端口,确认IP、端口、令牌和服务端完全一致。

  2. 面板一直弹出密码框:修改配置后,必须重启服务端,同时清除浏览器缓存。

  3. 穿透后无法访问:确认本地服务已开启(如远程桌面功能),端口未被其他程序占用。

  4. 端口占用报错:执行 pkill frps 关闭旧进程,再重新启动。

六、安全注意事项

  1. 认证令牌务必设置复杂字符,不要使用简单密码,防止他人恶意连接。

  2. 公网服务器建议开启面板账号密码,不建议无密码公开访问。

  3. 仅放行必要端口,关闭无用端口,降低安全风险。

  4. 修改配置文件后,必须重启服务,配置才能生效。

(注:文档部分内容可能由 AI 生成)