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.password和auth.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. 启用远程桌面
-
打开系统设置:
- 按
Win + I打开“设置”。 - 选择“系统”。
- 选择“远程桌面”。
- 按
-
启用远程桌面:
- 切换“启用远程桌面”开关至“开”。
- 出现确认提示时,选择“确认”。
-
配置高级设置:
- 在“高级设置”中,可以选择是否允许远程桌面使用网络级别身份验证 (NLA)。
- 如果需要外部访问,请确保在防火墙中允许远程桌面连接。
3. 确认远程桌面用户(可选)
-
选择用户:
- 在远程桌面设置页面,点击“选择要远程访问此计算机的用户”。
-
添加用户:
- 在弹出的窗口中,点击“添加”。
- 输入要授予远程访问权限的用户名称,然后点击“确定”。
4. 配置防火墙(可选)
-
打开防火墙设置:
- 按
Win + R,输入control,然后按回车打开控制面板。 - 选择“系统和安全”。
- 选择“Windows Defender 防火墙”。
- 按
-
允许应用或功能通过防火墙:
- 在左侧菜单中选择“允许应用或功能通过 Windows Defender 防火墙”。
- 找到“远程桌面”并确保其在“专用”和“公用”网络上均被选中。
-
自定义端口规则(可选) :
- 如果您使用自定义端口,请在防火墙中添加入站规则以允许该端口。
- 在防火墙设置中,选择“高级设置”。
- 选择“入站规则”,然后点击“新建规则”。
- 选择“端口”,然后点击“下一步”。
- 选择“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 地址,并确保 token 与 frps.toml 中的一致。
尽量避免使用3389端口,因为有一些地方运营商会封这个端口
4. 使用 nssm 安装 frpc 服务
打开命令提示符(以管理员身份运行),导航到 nssm 的目录,然后运行以下命令:
nssm install frpc "C:\frp\frpc.exe" "-c C:\frp\frpc.toml"
5. 启动 frpc 服务
在命令提示符中运行以下命令:
nssm start frpc
五、测试远程桌面连接
-
检查你的云服务器防火墙是否开启了以下端口,(注意,防火墙可能在你的服务器上面有一个,在你的云服务商面板还有一个)
- frpc.toml 中的 remotePort, 这里是
33890 - frps 的监听端口
7000和7500
- frpc.toml 中的 remotePort, 这里是
-
可访问
服务器ip或域名:7500查看你的反向代理服务连接情况,并进行错误排查 -
在其它操作系统上,使用微软官方
RD 客户端进行连接,此软件可以在网上找到,在其它 windows 系统上,可以使用自带远程桌面进行连接 -
在远程桌面连接窗口中,输入服务器的 IP 地址和端口号(如
服务器IP或者域名:33890)。 -
点击连接并输入远程 Windows 机器的用户名和密码,如果提示密码错误,你可能没设置密码,需要设置密码,注意,为了你的电脑安全,你的密码一定要足够复杂。
通过以上步骤,您应该可以通过远程桌面连接到本地的 Windows 机器。如果遇到任何问题,请检查 frps 和 frpc 的配置文件以及 Docker 和 nssm 服务的状态。
注意,为了你的电脑安全,你的密码一定要足够复杂!
注意,为了你的电脑安全,你的密码一定要足够复杂!
注意,为了你的电脑安全,你的密码一定要足够复杂!