一、准备工作
- 服务器要求:
- 服务端(frps):需要一台有公网 IP 的服务器(如阿里云、腾讯云);
- 客户端(frpc):部署在需要被反向代理的内网机器上;
- 端口规划:
- 服务端需开放 frps 监听端口(如
7000/tcp、7500/tcp)、HTTP 反向代理端口(如80/tcp)、SSH 反向代理端口(如6000/tcp)等,具体根据需求配置。
- 服务端需开放 frps 监听端口(如
二、部署 frp 服务端(frps)
1. 创建 frps 配置文件
# 1. 创建宿主机目录
sudo mkdir -p /etc/frp
# 2. 创建并编辑配置文件(必须手动创建,Docker 不会自动生成)
sudo vim /etc/frp/frps.toml
- 在服务端创建配置目录并编写
frps.toml示例(基础配置):
# frps 监听端口(客户端连接用)
bindPort = 7000
# 可选:设置 Dashboard 端口和账号密码(用于监控)
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin"
# 可选:设置令牌(客户端需匹配)
auth.token = "admin123"
2. 启动 frps 容器
- 使用 Docker 命令直接启动
docker run -d \
--name frps \
--restart always \
--network host \
-v /etc/frp/frps.toml:/etc/frp/frps.toml \
snowdreamtech/frps
3. 验证服务端是否启动成功
- 访问 Dashboard:
http://服务器公网IP:7500,输入配置的账号密码,查看状态; - 查看容器日志:
docker logs frps,无报错则说明启动正常。
三、部署 frp 客户端(frpc)
Linux
1. 创建 frpc 配置文件
- 在客户端(内网机器)创建配置目录并编写
frpc.toml:
sudo mkdir -p /etc/frp
sudo vim /etc/frp/frpc.toml
- 在客户端创建配置目录并编写
frpc.toml示例(基础配置):
# 服务端公网 IP 或域名
serverAddr = "公网IP"
# 服务端 frps 监听端口
serverPort = 7000
# 服务端配置的令牌(需一致)
auth.token = "服务端令牌"
# 示例 1:反向代理 SSH(内网机器 SSH 端口默认 22)
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
2. 启动 frpc 容器
docker run -d \
--name frpc \
--restart always \
--network host \
-v /etc/frp/frpc.toml:/etc/frp/frpc.toml \
snowdreamtech/frpc
3. 验证客户端是否连接成功
- 查看客户端日志:
docker logs frpc,显示start proxy success则连接成功; - 服务端 Dashboard 中可看到客户端连接状态和代理配置。
Windows
1. 下载并解压 FRP 客户端
- 访问 FRP 的GitHub Release 页面,下载 Windows 对应的版本,通常选择
frp_xxx_windows_amd64.zip(适配 64 位 Windows 系统)。 - 解压下载的压缩包到固定目录,比如
C:\frp,解压后核心文件包括frpc.exe(客户端程序)和frpc.toml(客户端配置文件),无需额外安装。
2. 配置 frpc.ini 文件
- 配置文件是客户端连接 FRP 服务端的关键,需根据服务端配置修改,以下分两种常见场景给出示例:
- 远程桌面穿透(3389 端口),打开
C:\frp目录下的frpc.toml,写入如下内容:
# 服务端公网 IP 或域名
serverAddr = "公网IP"
# 服务端 frps 监听端口
serverPort = 7000
# 服务端配置的令牌(需一致)
auth.token = "服务端令牌"
[[proxies]]
name = "win"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 3389
3. 启动 frpc 并验证
- 按下
Win+R,输入cmd打开命令提示符。 - 切换到 FRP 解压目录,执行命令:
cd C:\frp
frpc.exe -c frpc.toml
- 若日志中显示
login to server success,说明客户端成功连接服务端;若报错,需检查服务端 IP、端口、token 是否匹配,或防火墙是否放行对应端口。
四、结束
对你有帮助的话可以点赞、关注、收藏,有问题评论区见哈~
原创不易,若转载请注明出处,感谢大家~