阿里云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 回车,打开“服务”菜单,
找到我们刚才包装好的服务,将其启动方式设为“自动”,就大功告成了。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
弹性计算 网络安全
阿里云国际OpenAPI多接口快速管理ECS服务器教程
阿里云国际OpenAPI多接口快速管理ECS服务器教程
|
13天前
|
网络安全 开发工具 数据安全/隐私保护
自建内网穿透服务器
本文介绍了如何使用FRP实现内网穿透。首先准备一台具有公网IP的云服务器和一台内网服务器,接着在云服务器上安装Docker和FRP服务端,配置`frps.ini`文件并启动服务。在内网服务器上手动安装FRP客户端,配置`frpc.ini`文件并启动服务。最后通过FRP控制台验证连接状态,确保可以通过公网IP访问内网服务。
74 10
自建内网穿透服务器
|
8天前
|
机器学习/深度学习 人工智能 弹性计算
什么是阿里云GPU云服务器?GPU服务器优势、使用和租赁费用整理
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等多种场景。作为亚太领先的云服务提供商,阿里云的GPU云服务器具备灵活的资源配置、高安全性和易用性,支持多种计费模式,帮助企业高效应对计算密集型任务。
|
10天前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
8天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
|
16天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
54 9
|
13天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
16天前
|
弹性计算 异构计算
2024年阿里云GPU服务器多少钱1小时?亲测价格查询方法
2024年阿里云GPU服务器每小时收费因实例规格不同而异。可通过阿里云GPU服务器页面选择“按量付费”查看具体价格。例如,NVIDIA A100的gn7e实例为34.742元/小时,NVIDIA A10的gn7i实例为12.710156元/小时。更多详情请访问阿里云官网。
56 2
|
22天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
65 3
|
27天前
|
存储 弹性计算 编解码
通过阿里云的活动租赁云服务器时如何选择实例规格?选择指南参考
新手用户通过阿里云的活动租赁云服务器的时候实例规格应该怎么选?目前在阿里云的活动中,可选的云服务器类型除了轻量应用服务器之外,云服务器的主要实例规格有经济型e、通用算力型u1和计算型c7与c8y、通用型g7与g8y、内存型r7与r8y等实例,但是对于新手来说,由于是初次购买,实例规格往往不知道怎么选择了。本文为大家展示阿里云目前活动中各云服务器实例规格性能、适用场景以及选择指南参考。