转发Windows远程桌面远程连接--群晖
由于教研室路由器烧了,用了老路由器,并不支持ipv6,但是想实现Windows远程桌面访问,想到还有一台群晖,故用dockers来部署frp实现。
准备
一、三台设备
- 设备 A, Windows, 为你用来远程连接的电脑。
- 设备 B, Linux, 有公网 IP,我这里用的是白群晖。
- 设备 C, Windows, 被远程连接的电脑。
如果不满足第二个条件,那么,拜拜~~
二、本文的步骤会很详细,但是仍然假设你有一定Windows和Linux使用经验。 FRP(Fast Reverse Proxy)是一个高性能的反向代理应用,用于帮助用户快速地将本地服务暴露给互联网或其他网络。它主要用于内网穿透,允许从公网安全访问处于NAT或防火墙后的内网服务。FRP特别适合于个人或小型企业在没有公网IP或者无法进行复杂路由器配置的情况下,实现远程访问内网资源。
FRP的主要组件:
- frps(Server端):部署在具有公网IP的服务器上,作为转发的中转。
- frpc(Client端):部署在内网的机器上,用于连接frps,并将内网服务通过frps转发出去。
应该重点理解frpc和frps的作用,以免后面部署出现问题。
FRP的工作原理:
- 内网穿透:FRP可以将你的内网服务(如HTTP、SSH等)穿透出去,即使服务处于NAT或防火墙后也可以从外部访问。
- 反向代理:FRP支持TCP、UDP、HTTP和HTTPS等多种协议的反向代理。它监听在公网服务器上的指定端口,将外部的访问请求转发到内网的服务。
Linux环境准备
在设备B即中转服务器运行服务端(frps)
Linux服务器可以直接运行一下命令下载frps
1 | wget https://github.com/fatedier/frp/releases/download/v0.49.0/frp_0.49.0_linux_amd64.tar.gz |
群晖使用docker
1.打开群晖套件中心搜索下载图中软件(docker)。
2.打开dockers注册表搜索下载frps。
3.在File Station创建一个文件夹用于存放frps的配置文件。
配置文件名最新版已经说明会摒弃.ini而应该使用其他文件,这里推荐创建frps.toml
1 | bindPort = 7000 |
其中token
可以不需要,但为了安全性考虑应该设置,更改为自己喜欢的,但应注意要与后文的token
匹配。bind_port
是 frps 监听端口,用于接收 frpc 的连接。
4.映像中选择运行并依次设置创建
选择启用自动重新启动并下一步。
添加配置文件,方框里填入路径即可。
使用高权限执行容器,且设置网络,下一步-->完成。
现在可以在容器里看到已经正常运行了。
Linux服务器应使用命令来运行服务。
1 | nohup ./frps -c frps.ini > frps.log 2> frps.log & |
最后记得在服务器防火墙中放行3389和7000端口,3389端口是Windows默认的远程连接端口。
如果是群晖,请记得到路由器管理页面对端口进行转发。
被控Windows环境准备
下载fpr
GitHub下载Windows版本(在右边Releases)。
解压后放到自己喜欢的目录,我放在我的软件目录D:\Program Files (x86)\frp_0.53.2_windows_amd64
。
打开frpc.toml
修改配置文件
1 | serverAddr = "*.*.*.*" |
你应该修改serverAddr
为你的服务器的ip。如果上面设置了token
也应该设置且保持一致。
在该路径打开cmd,可以在路径框输入cmd
按下Enter快速打开。
输入命令运行客户端。
1 | .\frpc.exe -c frpc.toml |
如图所示,连接成功。
开启桌面远程
设置-->系统-->远程桌面-->启用远程桌面
控制电脑进行连接
直接搜索远程桌面连接打开输入服务器/群晖IP。
用户名应该为cmd的前缀,密码可能为你的锁屏密码,也有可能是你的微软账户密码,如果都不对的可以尝试新增用户并给权限进行连接。
这里博主还遇到一个问题,连接成功后 黑屏,并在约 15秒后弹出“您的远程桌面会话已结束,可能是下列原因之一: 管理员已结束了会话。在建立连接时发生错误。发生网络问题。”。
解决方法为禁用被控电脑的WDDM显卡驱动
步骤1. 按“Windows + R”打开运行框,输入“gpedit.msc”并单击“确定”打开本地组策略编辑器。
步骤2. 转到路径:计算机配置 > 管理模板 > Windows 组件 > 远程桌面服务 > 远程桌面会话主机 > 远程会话环境,双击打开“为远程桌面连接使用WDDM图形显卡驱动程序”。
步骤3. 然后将其设置为“已禁用”,并单击“确定”。
步骤4. 重新启动电脑并查看是否可以建立远程会话。
转发局域网内多台电脑
转发局域网内多台电脑按照上述被控电脑进行设置,唯一不同的就是换一个端口号,并在连接时在域名或者IP后面加上端口号,例如192.168.1.101:6001
。
该封面图片由Nicky ❤️🌿🐞🌿❤️在Pixabay上发布