Windows 系统连接 FRP 服务端教程

FRP 是一款开源的内网穿透工具,由服务端 frps 和客户端 frpc 两部分组成。本文介绍如何在 Windows 10/11 系统中下载、配置并运行 frpc,连接已经部署好的 FRP 服务端。

本文使用新版推荐的 TOML 配置文件。

一、下载 FRP Windows 客户端

1. 官方地址

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

参数说明

参数 说明
serverAddr FRP 服务端的公网 IP 或域名
serverPort frps 服务端监听端口,一般为 7000
auth.token 客户端认证密钥,必须与服务端一致
name 当前代理名称,不能与其他代理重复
type 代理类型,普通端口映射使用 tcp
localIP Windows 本地服务地址
localPort Windows 本地服务端口
remotePort FRP 服务器对外开放的端口

以上配置表示:

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
powershell -NoProfile -WindowStyle Hidden -Command "Start-Process -FilePath 'C:\frp\frpc.exe' -ArgumentList '-c','C:\frp\frpc.toml' -WorkingDirectory 'C:\frp' -WindowStyle Hidden"

以后双击 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,上述命令会将它们全部关闭。

六、常见问题排查

1. 检查能否连接 FRP 服务端

Test-NetConnection 你的服务器IP -Port 7000

正常情况下应显示:

TcpTestSucceeded : True

如果显示 False,需要检查:

  • FRP 服务端是否已经启动;
  • serverAddr 是否填写正确;
  • serverPort 是否与服务端一致;
  • 服务器安全组是否放行对应端口;
  • Linux 防火墙是否放行对应端口。

2. 检查 Windows 本地服务

例如本地服务端口为 8080

Test-NetConnection 127.0.0.1 -Port 8080

如果本地端口无法连接,说明本地服务没有启动,或者监听端口填写错误。

3. Token 认证失败

检查:

auth.token = "你的FRP认证Token"

该值必须与 frps.toml 服务端配置中的 Token 完全一致。

4. 映射端口被占用

如果 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 本地服务。