在部署了1panel的阿里云服务器上开启frp实现RDP内网穿透
frp 介绍:
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
目的:实现内网穿透,以通过公网IP,远程使用Windows自带远程桌面连接
配置设备:
- 带公网IP的阿里云服务器,并在其上部署1Panel - 作为frp服务器
- Windows终端设备(笔记本)
参考文章:
一、前置准备
服务器端:
1. 下载 frp 服务端
1Panel - 应用商店 - frp 服务端 - 安装


当时使用的版本号:v0.65.0
2. 服务器开放对应端口
(1) 进入阿里云对应的服务器实例 - 网络与安全组
添加入方向规则 - 端口 7000、7500、8484
- 7000 - frp 服务端 与 frp 客户端连接端口(serverPort)
- 7500 - frp 面板端口
- 自定义一个端口,如:8484 - frp 服务对外开放端口(remotePort)

(2) 检查端口开放状态
1Panel - 打开终端
1 | # 查看防火墙端口开放状态 |
如果端口在 阿里云 - 网络与安全组 放行后仍未开放,说明服务器操作系统本身端口未开放
1 | # 开放 7000(frp 通信)、7500(管理后台)、6000(SSH 穿透)端口(TCP 协议) |
1 | # 再次验证开放状态 |
客户端:
1.下载 frp 并解压
GIthub上的下载地址:Releases · fatedier/frp
比如 X86 - Windows 设备下载 windows_amd64 版本即可。
注:确保客户端所下载版本与服务端版本保持一致
2. 分析 frp 本体文件结构
解压完文件结构如下:

文件结构:
- frpc.exe:FRP 客户端执行程序。
- frpc.toml:FRP 客户端的配置文件。
- frps.exe:FRP 服务端执行程序(如果你只使用客户端,可以忽略)。
- frps.toml:FRP 服务端的配置文件。
打开 frpc.toml
1 | # 全局连接配置 |
1 | flowchart LR |
二、具体操作
更多、更详细的具体操作 请查看官方示例:示例 | frp
通过 RDP 访问内网机器
通过简单配置 TCP 类型的代理,使用户能够访问内网服务器。
1. 服务端配置
在具有公网IP的服务端上配置 frps.toml
针对 1Panel 上的 frp 为例,找到 文件 - /opt/1panel/apps/frps/frps/data/frps.toml,打开frps.toml
1 | # frp 服务端用于提供客户连接的端口 |
2. 客户端配置
在客户端上配置 frpc.toml
3. 启动 frp 客户端
客户端 - 在 frpc 所在文件夹位置打开 cmd 终端:
1 | # 启动 frp 客户端 |
PS:可以编写脚本一键启动:
(新建
frpc_start.bat:)
1
2
3
4 @echo off
:home
frpc.exe -c frpc.toml
goto home

如上图所示,frp 客户端启用成功
4. 使用 Windows 远程连接 (RDP)
计算机:服务端公网IP:开放端口
用户名:客户端用户名
密码:客户端密码

三、FRP 开机启动
参考文章:
1. 下载 NSSM,解压到自定义文件夹
NSSM(Non-Sucking Service Manager)是一款 Windows 平台的服务管理工具,可将程序注册为系统服务并监控运行状态,程序崩溃时自动重启,确保服务真实可用;支持图形化安装 / 卸载服务,运行日志记录至系统事件日志,解决了传统服务工具无法处理程序故障的问题。
NSSM 是一个类似于 srvany 和 cygrunsrv 的服务辅助程序。它能够将任何应用程序以 NT 服务的形式启动,并且如果该服务因任何原因出现故障,它会自动重新启动该服务。
NSSM下载地址:NSSM
2. 在 nssm.exe 所在目录打开 cmd
3. 创建 nssm 服务
双击 nssm.exe,可以查看命令

配置项说明:
Path:运行应用程序的程序
Startup directory:应用程序所在的目录
Arguments:应用运行的参数
Service name:生成服务的名称
最后点击install service 完成windows服务安装,在windows服务列表就能看到创建的服务了。
常用命令
1
2
3
4
5
6
7
8 nssm install servername //创建servername服务,弹出配置界面
nssm start servername //启动服务
nssm stop servername //暂停服务
nssm restart servername //重新启动服务
nssm remove servername //删除创建的servername服务
nssm edit servername//更改servername服务,弹出修改界面
nssm set servername 参数名 参数值 //设置服务参数值
sc delete servername//windows删除服务命令
1 | # 创建服务(命名为frpc),弹出配置界面 |
1 | # 图形化界面(NSSM service installer)中填写 |

在 nssm.exe 所在文件夹以管理员模式打开 powershell,
1 | # 查看服务状态 |

打开任务管理器,搜索 nssm,你能看到创建的任务。
