前言
设想如何在外部远程连接你在校园网或实验室内网中的设备:
- 采用 ToDesk 等远程桌面软件,缺点是卡、清晰度低、而且在 Linux 系统中的兼容性做的不是很好,容易崩溃。
- 采用系统自带的远程软件如:SSH、RDP、VNC。
后者的性能和稳定性更好,但是一般都是直接通过 ip:port
连接。而对于局域网(如校园网、实验室内网)内的设备,是没有公网 IP 的,只能在局域网的出口路由处做端口映射,比较麻烦。
而已知解决办法是通过 FTP 进行内网穿透,将你的内网设备映射到一个外部 IP 例如 your-id.ftp.com
,但是在很多学校中,这种内网直接映射公网 IP 的方法是非法的,有潜在的威胁。
而本文介绍的 tailscale 则会在你的设备之间组件个人虚拟局域网,而不是直接把你的设备暴露在公网上,更加安全,且可以达到同样的效果。
而要配置 tailscale,其实流程非常简单,在你的不同设备上安装 tailscale 软件,然后登陆同一个账号就可以互相访问了。但比较恶心的是这个软件非常难装,尤其是在 windows 上面。
Windows 安装
当你访问 tailscale 官方下载页下载 Windows 安装包的时候,会下载一个几百 kb 的 exe 包来安装,这个安装过程非常缓慢,而且大概率进行到一半报错失败了。下面是一个成功率更高的解决办法:
- 关闭防火墙&杀毒软件,这个很重要!!!
- 在官方下载页下载 msi 安装包,大概有二十多 mb,可以有效防止 exe 包安装的时候下载到一半失败了。
pkgs.tailscale.com/stable/#windows
一般的 64 位 PC 下载 tailscale-setup-x.y.z-amd64.msi
即可。
然后,从 msi 安装,打开软件登录即可。
Ubuntu 安装
官方给的安装方法也是运行一个脚本,然后和 windows 一样,脚本运行到一半容易因为网络问题报错。所以,直接下载其 deb 包安装:
1 | wget https://pkgs.tailscale.com/stable/ubuntu/pool/tailscale_x.y.z_amd64.deb |
使用
都安装和登陆好以后,就可以互相 ping 同对方的虚拟地址了,然后就可以直接通过 IP 进行 SSH、VNC 等连接了。