内网穿透
1. 简介
一般的校园网/企业网往往都设置有防火墙,在内网可以访问外网,但在外网却无法访问内网。比如校园的服务器,当我们在校外时,只能通过学校的 VPN 访问校园网。然而,这个 VPN 一来可能不稳定,二来往往只有 Windows 平台有(气抖冷),对于 Linux 用户极其不友好。在朋友的推荐下,我使用了 ZeroTier 这款跨平台的虚拟局域网构建工具,使用它能够进行内网穿透,使得外网也能访问内网,妈妈再也不用担心我连不上校网服务器了。
2. ZeroTier
2.1 创建虚拟局域网
-
首先去 ZeroTier 官网注册一个帐号;
-
然后创建一个私有网络并记下创建的网络 ID;
-
接着在需要连接到同一个虚拟局域网的设备上安装好 ZeroTier 客户端(不同平台安装方式查看 ZeroTier 官网安装指南);
-
然后在设备上加入第二步创建的网络;
以 Linux 平台为例,在终端执行
sudo zerotier-cli join ssssttttxxxxyyyy
,其中ssssttttxxxxyyyy
是你的网络 ID。 -
最后回到 ZeroTier 个人帐号 my.zerotier.com 中查看已加入的设备,并勾选授权即可。
这样加入到虚拟局域网的设备之间即可使用 SSH 等直接登录,再也不需要 VPN 啦~
2.2 SSH 跳板
如果你有多个校园服务器帐号,且它们之间是可以相互访问的。此时如果把每个服务器都加入到虚拟局域网,则会有些麻烦。更好的做法是使用 SSH 的跳板功能,将其中一台校园服务器当做跳板,通过它来访问其它校园服务器:
1 | # 跳板机名称,可以随便取 |
设置成功后,就可以登录到 TargetMachine
服务器啦~不过麻烦的是要输入两次密码,可以将当前设备的 SSH 公有证书上传到 JumpMachine
,这样可以减少一次密码输入的次数嗷。如果完全不想输入密码,可以将当前设备的 SSH 公有证书同时上传到 JumpMachine
和 TargetMachine
。