只有一个工具不合适——远程控制(一)

常来的读者可能知道,我个人比较提倡一件事只用一个工具,比如查看日志,但是我也是个实用主义者, 确实也有「只有一个工具不合适」的场景,比如远程控制。 本篇我们介绍一下 ZeroTier-One 以及微软的远程控制。

相关主题

  1. zerotier + mstsc
  2. parsec
  3. moonlight 四件套

问题

远程控制可能是近些年需求越来越高的一个场景,我们可能会随时需要去登上服务器看一看, 或者拿出手机或平板电脑,连回家里玩一玩 PC 游戏。这时我们就需要远程访问的工具了, 现在远程访问的工具也多,不过用久了你就会发现,各种工具都或多或少地存在一些问题。 很有可能在你迫切需要的时候,常用的工具却失效了,网络问题由于很大一部分方面不在我们的控制范围内, 所以我们有必要多备几样工具,以备不时之需。

常用工具

1. ZeroTier-One

这是我用的最久的工具,ZeroTier-One 可以把你的常用设备加到同一个虚拟内网下, 这样我们可以方便地在任何地方访问我们的常用设备,网络连接在多数情况下可以直连, 但是也会有长时间走中转或者根本无法连接的情况。一般情况下, 设备 A ←→ 路由 A ←→ ISP ←→ 路由 B ←→ 设备 B,这样的链路,直连的几率是很高的, 但是中间再多一层路由的情况,走中转的几率就会变大。而且很神奇的是,相同的链路, 下雨天很大几率会走中转,我个人推测是雨天可能固定设备的网络访问更拥堵,导致了直连失败,顺带一提, ZeroTier-One 由于依赖 udp 协议,所以很大程度依赖于网络环境,最近我有一台设备之前一直是直连, 而现在一直是需要走中转,这也是为啥我说不要只依赖一种工具来解决远程连接的问题。

一般说来,根据官方教学,所有主机安装 ZeroTier-One,并且在 ZeroTier Central 网页配置好, 我们的主机就全部在虚拟局域网中了,各自有对应的虚拟局域网 IP,对于安卓系统来说, 打开 ZeroTier-One 会建立一个 vpn 连接,这会影响我们实用其他利用这一机制的程序, 所以我们只有在需要时再打开 ZeroTier-One 即可,主机上的 ZeroTier-One 则是会创建一个虚拟网卡,可以一直开着。不过 ZeroTier-One 充其量只是一个组网工具, 想要远程控制 PC,我们还需要其他工具配合。

2. MicroSoft RD Client

微软的远程桌面客户端是一款免费的基于 RDP 协议的工具,各个平台基本都有, 是我办公时最常使用的工具,其实其他支持 rdp 协议的客户端应该也都可以,我一般用这个, Windows 下直接 mstsc 就可以了。通常情况下,只要我们的目标主机开启了远程访问, 同一内网内我们可以使用客户端直接连接目标主机,如果不在同一内网, 我们就需要上面的 ZeroTier-One 组成虚拟局域网配合了。

启用远程控制

启用远程控制很简单,系统 > 远程桌面,打开开关就可以了。

Untitled

如果是低版本的 Windows,配置的地方在 「我的电脑 > 属性」 下面:

Untitled

有一点我想强调的是,可能有些朋友的主机是有公网 IP 或可以配置公网 IP 端口转发的, 可以直接通过 3389 或其他端口访问主机,千万不要这么做。 因为 Windows 远程登录开通后一般只需要账密就可以登陆,而开放公网 3389 或其他端口, 相当于为所有人都开了扇窗,脚本小子们通过扫描公网 IP 的各个端口,来推测端口背后的服务, 一旦它们猜到协议,那么再复杂的账号密码也只是时间问题。所以没有把握, 不要在公网启用远程控制或端口转发。

对于一般的情况,一般我们都有一个主路由器连接 ISP,主机都在路由器背后,这种情况下, 在主机上开通远程控制是安全的,不过有几个前提:

  1. 路由器没有配置任何转发规则,将外部请求转到本地主机的 3389 端口。这样即使路由器被扫描到,脚本小子也没有办法穿过路由器找到我们的主机。多数情况下路由器默认是不会配任何转发的,所以只要我们没配过,这一点就可以满足。
  2. 路由器背后的主机都可以信任。一般家用设备也是可以满足的,如果局域网中陌生设备太多,那可能也不适合开通远程控制。

远程控制

远程控制没有什么好说的,根据提示输入对应的虚拟 ip、账号、密码即可, 你可以使用微软账号的邮箱格式的用户名,也可以使用本地用户名,不过注意,一定要输入密码, 而不是解锁 pin 码。

远程控制客户端基本可以满足全部的办公用途,而且也很好地适配了本地的高清屏幕,分辨率自动选择, 字体大小适中而且清晰,我们看一下与 Parsec 的对比:

RD Client 桌面截屏

RD Client 桌面截屏

Parsec 桌面截屏

Parsec 桌面截屏

美中不足的地方是播放视频会有卡顿,以及游戏中的鼠标指针显示异常的问题,所以仅适合一般办公, 不适合远程畅玩。

休息一下

我不太喜欢写太长的文章,因为我自己阅读时看到长篇大论也会感到绝望。 读到中途可能会忘记自己最初是想要干什么。现在我们有了 ZeroTier-One 组建的虚拟局域网, 以及远程控制 PC 的客户端,那么多数时间我们就可以从其他位置访问我们的 PC 了,不过, 记得我们的标题是「只有一个工具不合适」,ZeroTier-One 不是百试百灵的万金油,一旦直连失败, 我们就要经历大量的连接中断和超高延迟,所以我们需要多准备几样工具,我们在本系列的下一篇再见。