个人笔记,如有转载,请注明出处。

——by realasking

微软Windows10自带的远程桌面mstsc是一种非常方便的远程桌面连接方式,在Linux上则有xrdp这一使用相同协议的服务器端实现,可以使mstsc顺利访问。相比于teamviewer向日葵等第三方的远程桌面,使用rdp协议mstsc访问远程桌面不影响显示器驱动,对支持多用户、多登录的远程系统(如Linux)可以不在远程电脑上显示正在进行的操作,对于不支持多个登录的远程系统(如Windows)则在远程登录时会退出本地登录,这种设计大大增强了用户操作的安全性,防止远程设备在无人看管的情况下发生的泄密,或者受到他人误操作影响。

然而,这一远程桌面工具却只能在局域网内使用,殊为可惜,对于这一问题的一个解决办法是搭建虚拟局域网Zerotier就是一个很好的工具。用Zerotier建立虚拟局域网的方法是:

  1. Zerotier的官网注册,并建立private的网络

  2. 在两台不同网络环境的电脑上分别安装其客户端,并在客户端join network

  3. 打开两台设备上的9993端口

  4. Zerotier官网上Auth两个连接的设备

  5. 在操作端打开微软远程桌面连接

在不同网络环境下,Zerotier表现很不相同,有些地方网速能达到3-4MB/s,有些地方只能达到0-10KB/s,这对于笔记本电脑用户来说,无疑是难以接受的。对此,一般的解决方法是建立Moon服务器。然而,对于具有ipv6地址的公网vps服务器Zerotier在建立虚拟局域网映射时往往会使用Moon服务器ipv6地址,这对于国内很多宽带wifi用户来说,非但起不到加速作用,相反还会让连接速度更慢。对于此问题,本文找到一个解决办法,就是使用代理服务器。

具体做法是:

  1. vps上,建立socks5代理服务器,软件任意
  2. 除了Moon服务器外,同时也join network
  3. 在操作设备上,将代理服务器映射到127.0.0.1:1080,使用本地PAC
  4. 华军软件园下载SocksCap64并解压
  5. 打开SocksCap64,点击程序旁的向下按钮,添加微软的mstsc
  6. 点击代理,添加127.0.0.1:1080
  7. SocksCap64使用mstsc

除了可以用代理访问mstsc之外,操作设备上如果安装了WSL,也可以在其中以代理方式使用sshrsync,方法是:

#ssh的使用
ssh -o ProxyCommand=\"nc -X 5 -x 127.0.0.1:1080 %h %p\" RemoteSSH

#rsync的使用
export RSYNC_PROXY="127.0.0.1:1080"
rsync 参数.....

这样,只要vps能正常连接,远程连接就更加方便了。