Windows 端使用 nssm + frpc 和服务器端使用 docker-compose 安装 frps,开启远程桌面的教程

674 阅读6分钟

Windows 端使用 nssm + frpc 和服务器端使用 docker-compose 安装 frps,开启远程桌面的教程

一、准备工作

1. 服务器准备
  • 一台具有公网 ip 的 Linux 服务器
  • Docker 和 Docker Compose 已安装
2. 本地 Windows 机器准备
  • 安装 nssm (Non-Sucking Service Manager) 用来注册 windows 服务
  • 下载 frpc (FRP Client) 用来映射端口

二、服务器端安装 frps

1. 安装 Docker 和 Docker Compose

如果您的服务器上还没有安装 Docker 和 Docker Compose,可以按照网上教程进行安装

2. 创建 frps 配置文件

在服务器上创建一个目录来存放配置文件和 Docker Compose 文件,例如 /root/frps

mkdir -p /root/frps
cd /root/frps

/root/frps 目录下创建 frps.toml 配置文件vim frps.toml

请自行修改webServer.passwordauth.token的值,其他可以保持不变

bindAddr = "0.0.0.0"
bindPort = 7000
quicBindPort = 7000
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "your admin password"
auth.method = "token"
auth.token = "your_secure_token"
3. 创建 Docker Compose 文件

/root/frps 目录下创建 docker-compose.yml 文件 vim docker-compose.yml

version: '3'                                                                                                                                             
services:                                                                                                                     
  frps:                                                                                                                       
    image: snowdreamtech/frps                                                                                                 
    restart: always                                                                                                           
    network_mode: host                                                                                                        
    volumes:                                                                                                                  
      - ./frps.toml:/etc/frp/frps.toml                                                                                        
    container_name: frps  
4. 启动 frps 服务

/root/frps 目录下运行以下命令来启动 frps:

docker-compose up -d

可访问 服务器ip或域名:7500 查看你的反向代理服务连接情况

三、开启 Windows 远程桌面

1. 确保 Windows 版本支持远程桌面

远程桌面功能仅适用于 Windows 专业版及更高版本。如果您的 Windows 是家庭版,请参考以下链接修改为专业版或专业工作站版:Microsoft-Activation-Scripts

Microsoft-Activation-Scripts 切换版本教程:

  • 在 Windows 8.1/10/11 上,右键单击 Windows 开始菜单,然后选择 PowerShell 或终端(非 CMD)

  • 复制粘贴以下代码,然后按回车键

    irm https://get.activated.win | iex
    
  • 您将看到激活选项,并按照屏幕上的说明进行操作。

  • 切换系统版本:

    按 7 进入扩展选项,再按 1 更改系统版本,进入操作系统版本选择界面,再按专业版对应的数字(包含Professional单词)

2. 启用远程桌面
  1. 打开系统设置

    • Win + I 打开“设置”。
    • 选择“系统”。
    • 选择“远程桌面”。
  2. 启用远程桌面

    • 切换“启用远程桌面”开关至“开”。
    • 出现确认提示时,选择“确认”。
  3. 配置高级设置

    • 在“高级设置”中,可以选择是否允许远程桌面使用网络级别身份验证 (NLA)。
    • 如果需要外部访问,请确保在防火墙中允许远程桌面连接。
3. 确认远程桌面用户(可选)
  1. 选择用户

    • 在远程桌面设置页面,点击“选择要远程访问此计算机的用户”。
  2. 添加用户

    • 在弹出的窗口中,点击“添加”。
    • 输入要授予远程访问权限的用户名称,然后点击“确定”。
4. 配置防火墙(可选)
  1. 打开防火墙设置

    • Win + R,输入 control,然后按回车打开控制面板。
    • 选择“系统和安全”。
    • 选择“Windows Defender 防火墙”。
  2. 允许应用或功能通过防火墙

    • 在左侧菜单中选择“允许应用或功能通过 Windows Defender 防火墙”。
    • 找到“远程桌面”并确保其在“专用”和“公用”网络上均被选中。
  3. 自定义端口规则(可选)

    • 如果您使用自定义端口,请在防火墙中添加入站规则以允许该端口。
    • 在防火墙设置中,选择“高级设置”。
    • 选择“入站规则”,然后点击“新建规则”。
    • 选择“端口”,然后点击“下一步”。
    • 选择“TCP”,然后在“特定本地端口”中输入您的自定义端口。
    • 选择“允许连接”,然后点击“下一步”。
    • 根据需要配置规则的应用范围,然后点击“下一步”。
    • 为规则命名,然后点击“完成”。

通过以上步骤,您应该已经成功开启并配置了远程桌面。接下来,您可以按照之前的教程,通过 FRP 进行远程桌面连接。

四、本地 Windows 机器配置 frpc

1. 下载并安装 nssm

nssm 官网 下载 nssm,并解压到一个目录,比如 C:\nssm.

2. 下载 frpc

FRP 项目页面 下载适用于 Windows 的 frpc,解压到一个目录,比如 C:\frp.

Windows 一般选择 frp_xxx_windows_amd64.zip

3. 创建 frpc 配置文件

C:\frp 目录下创建 frpc.toml 文件:

serverAddr = "服务器ip或者域名"
serverPort = 7000
auth.method = "token"
auth.token = "your_secure_token"
# transport.protocol = "quic"  服务器在境外不建议开启,跨境不稳定易掉线
# transport.proxyURL = ""  # frp 可以走代理,隐藏协议特征,确保稳定[[proxies]]
name = "windows.rdp.home.tcp"
type = "tcp"
localIp = "127.0.0.1"
localPort = 3389
remotePort = 33890[[proxies]]
name = "windows.rdp.home.udp"
type = "udp"
localIp = "127.0.0.1"
localPort = 3389
remotePort = 33890

服务器IP 替换为您服务器的 IP 地址,并确保 tokenfrps.toml 中的一致。

尽量避免使用3389端口,因为有一些地方运营商会封这个端口

4. 使用 nssm 安装 frpc 服务

打开命令提示符(以管理员身份运行),导航到 nssm 的目录,然后运行以下命令:

nssm install frpc "C:\frp\frpc.exe" "-c C:\frp\frpc.toml"
5. 启动 frpc 服务

在命令提示符中运行以下命令:

nssm start frpc

五、测试远程桌面连接

  1. 检查你的云服务器防火墙是否开启了以下端口,(注意,防火墙可能在你的服务器上面有一个,在你的云服务商面板还有一个)

    • frpc.toml 中的 remotePort, 这里是 33890
    • frps 的监听端口 70007500
  2. 可访问 服务器ip或域名:7500 查看你的反向代理服务连接情况,并进行错误排查

  3. 在其它操作系统上,使用微软官方 RD 客户端 进行连接,此软件可以在网上找到,在其它 windows 系统上,可以使用自带远程桌面进行连接

  4. 在远程桌面连接窗口中,输入服务器的 IP 地址和端口号(如 服务器IP或者域名:33890)。

  5. 点击连接并输入远程 Windows 机器的用户名和密码,如果提示密码错误,你可能没设置密码,需要设置密码,注意,为了你的电脑安全,你的密码一定要足够复杂。

通过以上步骤,您应该可以通过远程桌面连接到本地的 Windows 机器。如果遇到任何问题,请检查 frps 和 frpc 的配置文件以及 Docker 和 nssm 服务的状态。

注意,为了你的电脑安全,你的密码一定要足够复杂!

注意,为了你的电脑安全,你的密码一定要足够复杂!

注意,为了你的电脑安全,你的密码一定要足够复杂!