FRP内网穿透服务端和客户端安装部署流程
一、服务端部署
1.准备服务器
具有独立公网IPV4地址
带宽流量越大越好,网络延时越低越好。
2.1Panel面版部署
安装1panel管理面版
服务器安装1panel面版(资源占用小很好用的管理面版)
地址:1Panel - 现代化、开源的 Linux 服务器运维管理面板
安装应用
去应用商店搜索 frps 进行安装,安装时需要设定参数。

3.手动部署
一键安装脚本
Github:
wget https://raw.githubusercontent.com/mvscode/frps-onekey/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
Gitee
wget https://gitee.com/mvscode/frps-onekey/raw/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
./install-frps.sh install
①上面两个选择一个就好


②选择2

③安装参数设置



④安装完成后访问web端进行查看

二、客户端部署
1.Windows连接服务端
下载 FRP Windows 客户端
FRP 官方仓库:
https://github.com/fatedier/frp
版本下载页面:
https://github.com/fatedier/frp/releases
普通 Intel 或 AMD 处理器的 Windows 电脑,下载名称类似下面的文件:
frp_版本号_windows_amd64.zip
ARM 架构的 Windows 设备选择:
frp_版本号_windows_arm64.zip
下载完成后,将压缩包解压到固定目录,例如:
C:\frp
Windows 客户端主要使用以下两个文件:
frpc.exe
frpc.toml
修改 frpc 配置文件
使用记事本、Notepad++ 或 VS Code 打开:
C:\frp\frpc.toml
下面以映射 Windows 本地 8080 端口为例:
serverAddr = "你的FRP服务器公网IP或域名"
serverPort = 7000
auth.method = "token"
auth.token = "你的FRP认证Token"
log.to = "./frpc.log"
log.level = "info"
log.maxDays = 3
[[proxies]]
name = "windows-web"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8080
remotePort = 18080
参数说明
以上配置表示:
FRP服务器公网IP:18080
↓
Windows本机:8080
外部访问地址:
http://FRP服务器公网IP:18080
服务器安全组和防火墙需要放行:
7000
18080
其中:
7000 是客户端连接 FRP 服务端的端口。
18080 是外部访问本地服务的映射端口。
前台启动 FRP 客户端
打开 PowerShell,进入 FRP 目录:
cd C:\frp
启动客户端:
.\frpc.exe -c .\frpc.toml
连接成功后,通常可以看到类似日志:
login to server success
start proxy success
前台运行时不能关闭 PowerShell 窗口,否则 frpc 会停止。
停止前台运行:
Ctrl + C
后台启动 FRP 客户端
方法一:使用 PowerShell 隐藏启动
Start-Process -FilePath "C:\frp\frpc.exe" -ArgumentList "-c","C:\frp\frpc.toml" -WorkingDirectory "C:\frp" -WindowStyle Hidden
检查是否已经启动:
Get-Process frpc
查看最近 30 行日志:
Get-Content C:\frp\frpc.log -Tail 30
实时查看日志:
Get-Content C:\frp\frpc.log -Wait
方法二:创建后台启动脚本
在 C:\frp 目录新建:
start-frpc.bat
写入以下内容:
@echo off
cd /d C:\frp
tasklist | findstr /I "frpc.exe" >nul
if not errorlevel 1 (
echo FRPC 已经在运行。
exit /b 0
)
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command ^
"Start-Process -FilePath 'C:\frp\frpc.exe' -ArgumentList @('-c','C:\frp\frpc.toml') -WorkingDirectory 'C:\frp' -WindowStyle Hidden -RedirectStandardOutput 'C:\frp\frpc-stdout.log' -RedirectStandardError 'C:\frp\frpc-error.log'"
timeout /t 2 /nobreak >nul
tasklist | findstr /I "frpc.exe" >nul
if errorlevel 1 (
echo FRPC 启动失败。
echo 请检查:
echo C:\frp\frpc-error.log
echo C:\frp\frpc.log
pause
exit /b 1
)
echo FRPC 已在后台启动。
以后双击 start-frpc.bat 即可后台启动 FRP 客户端。
关闭后台运行的 FRP 客户端
使用 PowerShell 关闭
Get-Process frpc -ErrorAction SilentlyContinue | Stop-Process -Force
使用 CMD 关闭
taskkill /F /IM frpc.exe
也可以在 C:\frp 目录创建:
stop-frpc.bat
写入:
@echo off
taskkill /F /IM frpc.exe
pause
以后双击 stop-frpc.bat 即可关闭 FRP 客户端。
如果电脑同时运行了多个 frpc.exe,上述命令会将它们全部关闭。
常见问题排查
检查能否连接 FRP 服务端
Test-NetConnection 你的服务器IP -Port 7000
正常情况下应显示:
TcpTestSucceeded : True
如果显示 False,需要检查:
FRP 服务端是否已经启动;
serverAddr 是否填写正确;
serverPort 是否与服务端一致;
服务器安全组是否放行对应端口;
Linux 防火墙是否放行对应端口。
检查 Windows 本地服务
例如本地服务端口为 8080:
Test-NetConnection 127.0.0.1 -Port 8080
如果本地端口无法连接,说明本地服务没有启动,或者监听端口填写错误。
Token 认证失败
检查:
auth.token = "你的FRP认证Token"
该值必须与 frps.toml 服务端配置中的 Token 完全一致。
映射端口被占用
如果 remotePort 已被其他程序或 FRP 客户端使用,可以更换端口:
remotePort = 18081
修改完成后,重新启动 frpc。
命令汇总
前台启动:
cd C:\frp
.\frpc.exe -c .\frpc.toml
后台启动:
Start-Process -FilePath "C:\frp\frpc.exe" -ArgumentList "-c","C:\frp\frpc.toml" -WorkingDirectory "C:\frp" -WindowStyle Hidden
关闭客户端:
taskkill /F /IM frpc.exe
至此,Windows 系统中的 FRP 客户端已经完成下载、配置和运行,可以通过 FRP 服务器的公网地址访问 Windows 本地服务。
2.Docker部署连接服务器
创建容器
Compose配置
services:
frpc:
container_name: frpc
image: ghcr.io/fatedier/frpc:v0.69.1
network_mode: host
restart: unless-stopped
volumes:
- ./data/frpc.toml:/etc/frp/frpc.toml
- /etc/localtime:/etc/localtime:ro
command: ["-c", "/etc/frp/frpc.toml"]
配置文件
编辑文件 frpc.toml
serverAddr = "frp服务的IP地址"
serverPort = 7000
auth.method = "token"
auth.token = "服务端配置密钥"
[[proxies]]
name = "www"
type = "tcp"
localIP = "192.168.1.5"
localPort = 8090
remotePort = 5203
[[proxies]]
name = "asrtbot"
type = "tcp"
localIP = "192.168.1.5"
localPort = 6185
remotePort = 5300
[[proxies]]
name = "napcat"
type = "tcp"
localIP = "192.168.1.5"
localPort = 6099
remotePort = 5301
3.软路由充当客户端连接Frp服务器
①连接Frp服务器

②选择路由下的映射对象和映射端口

③完成映射
