阿里云ECS+frpc/frps+RDP_CnC 实现内网穿透远程桌面,无公网家庭版Win10台式机变身远程工作站

简介: 本文是实操笔记,记录了通过自建内网穿透和解锁 Windows 10 Home 的远程桌面功能,将没有公网 IP 的家用台式机配置成远程工作站的大致过程。在此过程中我练习了简单的 Linux 系统操作,了解了一些实用的服务器工具软件(如文中提到的 frpc/frps 套件与 Windows 系统上的 WinSW 服务封装工具)。

阿里云ECS+frpc/frps+RDP_CnC 实现内网穿透远程桌面,无公网家庭版Win10台式机变身远程工作站

起因

我有一台性能比较好的台式电脑。除了打游戏以外,我平时的一些不复杂的科学计算(MATLAB)和仿真(主要是 Keysight ADS)也会使用它。
但是在教室上课或者其他不在宿舍的场景下,我只能依靠笔记本电脑来使用上述软件,
一是笔记本本身性能有限,计算速度慢;
二是哪怕速度已经不快的情况下,笔记本还必须是插电使用,
否则要么很快耗尽电池电量,要么在省电模式下进一步降低计算速度,总之就是很不方便。
我希望能够在不在宿舍的时候也能使用台式电脑的算力。

遭遇的技术困难

  • 我的宿舍网络是运营商拉的家用宽带,营业厅说什么也不给公网 IP。
  • 我的台式机操作系统是购买时预装的 Windows 10 家庭中文版,重装专业版系统意味着我需要重装许多的软件,折腾且花时间。

采取的方案

用内网穿透解决远程访问的网络问题,用 RDP_CnC 工具解决家庭中文版系统没有远程桌面功能的问题。

实操

配置远程桌面

我在 GitHub 上找到了这个开源项目 https://github.com/sebaxakerhtc/rdpwrap
从 Releases 下载即可,名字中带有 Black 的安装包会安装暗色主题 UI 的相同程序,
可以说对我这种喜爱暗色护眼主题的用户是非常贴心了。
它的功能非常暴力,就是直接在 Windows 系统上安装 rdpwrap.dll 及其相关的组件,然后拉取一个依据操作系统的不同小版本专门编写的 INI 配置文件,然后神奇地解锁远程桌面功能。
同时它还提供测试功能,你可以从它的 GUI 上看到自己的系统当前的远程桌面服务开启状态、远程桌面是否可用等信息,非常方便。
缺点就是你要和你的 Windows Defender 好好谈谈。

配置 frp 套件

frpc/frps 是一个套件,来自这个 GitHub 项目 https://github.com/fatedier/frp
是个国货,有空还是要多支持一下。
它包含两部分,一部分是服务端 frps,它需要被配置在具有公网 IP 的设备上,为内网穿透提供中转服务;
另一部分是客户端 frpc,它需要被配置在需要内网穿透的设备上,与 frps 配合实现内网穿透。

配置 SSH

第一步当然是启动 ECS,进入 VNC 远程终端。为了后续操作省事,我先配置了 SSH,
一是为了使用我自己比较喜欢的终端软件(比如 UI 长得很好看的 Tabby)来操作 ECS 的命令行,二是后续可以通过 SFTP 向 ECS 传输文件。

vi /etc/ssh/sshd_config

我在这里调整了 SSH 的默认端口,然后通过阿里云面板的“安全组”放行了新的端口,
重启 SSH 服务,然后在本地尝试使用命令行连接 ECS:

ssh root@IP -p PORT

输入密码后连接成功,接下来继续服务端的配置过程。

配置 frps

我在这里使用了免费软件 FileZilla 来完成下面的操作。
启动 FileZilla,“主机”填 sftp://IP,用户名 root,密码和端口,然后“快速连接”即可。
这里不能缺省“主机”中的 sftp:// 协议头,否则 FileZilla 会尝试建立 FTP 连接而导致连接失败。
将下载到的 frp_<version>_linux_amd64.tar.gz 传到 ECS 上合适的目录,

tar -zxf frp_<version>_linux_amd64.tar.gz

解压后 vi 打开 frps.ini,其他的配置文件这里用不到可以不管。
里面有唯一一个 bind_port,是 frps 与 frpc 通信的端口。
可以随便选一个,也可以保留默认值,但是选好以后要在 ECS 的安全组中放行。
命令行执行

frps -c frps.ini

没有报错的话,此时服务端已经配置成功。

配置 frpc

我直接在我的台式电脑上完成的这一部分。
下载 frp_<version>_windows_amd64.zip,解压。
考虑到远程桌面需要一个 TCP 连接,我们参考 frp 中文文档 的说法,这样填写 frpc.ini

[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6000

3389 是 Windows 远程桌面的默认端口,假如你没有改过的话,应当是这个值。
命令行执行

frpc -c frpc.ini

如果命令行没有报错,此时内网穿透已经建立。
尝试用另一台设备(其他电脑或安装了 RDClient 的手机)连接远程桌面,
发现成功连接。

包装 frpc 为服务

平时这台台式电脑也要用,如果 frpc 一直以一个命令行窗口的形式挂在后台,看着碍眼,用着也碍事;
作为一台家用电脑,我的台式机也不适合长时间开机,
所以 frpc 最好能开机自启,且静默后台运行。
我查阅了一下网上的教程,了解到可以利用 WinSW 工具 https://github.com/winsw/winsw
将 frpc 包装为系统服务,从而实现上述需求。
从 Releases 下载之,解压到 frpc 所在目录。
新建一个 XML 文件,文件名要和 WinSW 程序的当前文件名 完全一致
为了省事,重命名 WinSW 程序的文件名为 winsw.exe,这样 XML 文件也可以命名为 winsw.xml 了。
填写后者的内容如下:

<service>
  <id>frp_client</id>
  <name>FRPC Client Service</name>
  <description>与服务端 FRPS 服务配合使用来实现内网穿透。</description>
  <executable>frpc.exe</executable>
  <arguments>-c frpc.ini</arguments>
  <log mode="none"></log>
</service>

<id><name> 不能和当前操作系统中已有的服务重复。
<description> 可以随便写。
<executable> 是待包装为服务的程序 exe 文件对 winsw.exe 的相对路径,
因为它们在同一个目录下,所以直接写文件名。
<arguments> 是启动参数,<log mode="none"> 是为了不记录日志,完全静默运行。
保存,在当前目录下命令行执行

.\winsw.exe install

frpc 就会被包装为系统服务。
Windows 徽标键 + R 打开“运行”窗口,输入 services.msc 回车,打开“服务”菜单,
找到我们刚才包装好的服务,将其启动方式设为“自动”,就大功告成了。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
20天前
|
存储 缓存 数据挖掘
阿里云目前最便宜云服务器介绍:38元、99元、199元性能,选购攻略参考
轻量应用服务器2核2G峰值200M带宽38元1年;云服务器经济型e实例2核2G3M带宽99元1年;云服务器通用算力型u1实例2核4G5M带宽199元1年。对于还未使用过阿里云服务器的用户来说,大家也不免有些疑虑,这些云服务器性能究竟如何?它们适用于哪些场景?能否满足自己的使用需求呢?接下来,本文将为您全方位介绍这几款云服务器,以供您了解及选择参考。
|
24天前
|
网络安全 云计算
如何设置阿里云轻量应用服务器镜像?
本文介绍了在阿里云轻量应用服务器上创建与配置镜像的详细步骤。镜像是一种特殊的文件系统映射,可用于快速克隆服务器配置。内容涵盖准备条件、登录控制台、创建实例、生成镜像、下载与设置镜像,以及如何使用镜像启动新实例。适合希望提升服务器部署效率的用户参考。
|
27天前
|
存储 弹性计算 安全
阿里云轻量服务器通用型、CPU优化型、多公网IP型、国际型、容量型不同实例区别与选择参考
阿里云轻量应用服务器实例类型分为通用型、CPU优化型、多公网IP型、国际型、容量型,不同规格族的适用场景和特点不同,收费标准也不一样。本文为大家介绍轻量应用服务器通用型、多公网IP型、容量型有何区别?以及选择参考。
|
5天前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
37 0
|
1月前
|
弹性计算 编解码 大数据
性价比最高提升50%!阿里云企业级云服务器上新
阿里云ECS云服务器推出全新升级的u2系列实例,包括基于Intel的u2i实例与首个基于AMD的u2a实例,提供企业级独享算力,综合性价比最高提升50%。u2i实例已开放公测,适用于中小型数据库、企业网站建设等场景。同时发布基于AMD的第九代旗舰实例g9ae,性能提升65%,适用于大数据、视频转码等密集型业务。
167 0
|
12天前
|
存储 域名解析 弹性计算
阿里云上云流程参考:云服务器+域名+备案+域名解析绑定,全流程图文详解
对于初次通过阿里云完成上云的企业和个人用户来说,很多用户不仅是需要选购云服务器,同时还需要注册域名以及完成备案和域名的解析相关流程,从而实现网站的上线。本文将以上云操作流程为核心,结合阿里云的活动政策与用户系统梳理云服务器选购、域名注册、备案申请及域名绑定四大关键环节,以供用户完成线上业务部署做出参考。
|
19天前
|
存储 弹性计算 固态存储
阿里云云服务器配置攻略
选择云服务器需结合业务需求、访问量、ECS实例规格、存储类型与带宽等因素。个人用户可选轻量服务器,企业应用需更高配置,如通用型或内存型实例。带宽根据流量选择,支持按固定或使用量计费。存储方面,系统盘可选小容量,数据盘按需配置,I/O敏感业务建议SSD或ESSD云盘。
|
25天前
|
域名解析 运维 监控
阿里云轻量服务器的系统镜像和应用镜像的区别
轻量应用服务器是阿里云推出的易用型云服务器,支持一键部署、域名解析、安全管理和运维监控。本文介绍其系统镜像与应用镜像的区别及选择建议,助您根据业务需求和技术能力快速决策,实现高效部署。
|
26天前
|
弹性计算 负载均衡 安全
阿里云轻量应用服务器与ECS区别
阿里云轻量应用服务器与ECS云服务器对比:轻量版适合新手和小型应用,套餐化设计,含大流量,易上手但性能和灵活性有限;ECS为专业版,配置灵活,性能强,适合企业级应用,但操作复杂,生态丰富,按需计费。两者定位不同,适用于不同场景。

热门文章

最新文章