使用frp内网穿透实现rdp远程桌面控制windows系统

发布于 2021-01-01  50 次阅读


1.内网穿透

1.1 服务器端 VPS 配置

下载匹配的版本,https://github.com/fatedier/frp/releases

  • 修改 frps.ini 文件:
# frps.ini
[common]
bind_port = 7000
  • 启动 frps:
./frps -c ./frps.ini

1.2 客户端配置

  • 修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 123.123.1.0;
# frpc.ini
[common]
server_addr = 123.123.1.0
server_port = 7000

[rdp]
type = tcp
local_ip = 0.0.0.0
local_port = 3389
remote_port = 5200
  • 启动 frpc:
frpc.exe -c frpc.ini

2 远程访问

  • ip 123.123.1.0:5200
  • 输入用户名,密码

3 将 frp 封装成 windows 后台服务

windows下 frp 程序启动后会有一个cmd窗口,需要一直开着,不能关闭。

以下将 frp 封装成 windows 服务,可以在后台运行,并且开机自启动。

  • 需要下载 NSSM, 它可以将普通的 windows 程序封装成服务。

3.1 使用 GUI 配置:

  • 运行 nssm install frpc
  • 在弹出的对话框中填写:
    • Path: C:/frpc/frpc.exe
    • Startup directory: C:/frpc/
    • Arguments: -c C:/frpc/frpc.ini

3.2 使用命令行配置:

NSSM 也可以使用命令行配置:

nssm install frpc "C:/frpc/frpc.exe"
nssm set frpc AppParameters  "-c C:/frpc/frpc.ini"


3.3 启动服务等

# 启动服务
nssm start frpc

# 停止服务
nssm stop frpc

# 编辑服务配置
nssm edit frpc

# 删除服务
nssm remove frpc

3.4 测试

  • 检查远程访问端口 3389 是否正常
    • 运行 netstat -ano, 寻找是否有 0.0.0.0:3389 端口;
    • 如果没有,我的电脑-右键属性-高级系统设置-远程选项卡-勾选允许远程访问,确定。
  • 检查 frpc 服务是否运行
    • 运行 services.msc,可以打开 windows 的服务管理器;
    • 检查 frpc 服务是否启动。