frp配置内网穿透、通过rdp远程桌面控制windows系统

ref: https://github.com/fatedier/frp

1.内网穿透

1.1 服务器端 VPS 配置

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

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

1.2 客户端配置

  • 修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 123.123.1.0;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 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:
    1
    frpc.exe -c frpc.ini

2 远程访问

  • ip 123.123.1.0:5200

  • 输入用户名,密码

3 将 frp 封装成 windows 后台服务

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

以下将 frp 封装成 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 也可以使用命令行配置:

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

3.3 启动服务等

1
2
3
4
5
6
7
8
9
10
11
# 启动服务
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 服务是否启动。