KiRorY
ZeroTier内网穿透+终端模拟器构建远程移动生产力工具

ZeroTier内网穿透+终端模拟器构建远程移动生产力工具

使用ZeroTier虚拟组网和远程设备使用的终端模拟器,让你的移动设备化身为生产力工具的教程


ZeroTier内网穿透+终端模拟器构建远程移动生产力工具

  最近笔者研究内网穿透,尝试寻找穿透工具。网上很多推荐使用ZeroTier实现虚拟组网,笔者也尝试使用 该工具。该工具免费且基本能实现傻瓜式组网,非常方便。虽然其服务器在外网导致访问速度较慢,但是如果是使用ssh或者ftp 也绰绰有余了。而最近笔者又发现ZeroTier在移动端也有客户端可以使用,这也就意味着如果在移动端拥有终端模拟器,就可以远程进行开发工作了!

ZeroTier简单使用方法

注册/新建虚拟局域网

  进入ZeroTier官网,注册账号并登录,登陆后你可以看到如下图的界面:

  • 点击上方[Create A Network]后会在下方Network的列表中新建一个虚拟局域网进入该局域网设置界面。

  • 基础设置可以修改网络的名称与描述以及私密性。推荐设置为Private,毕竟你并不想别人随意访问你的虚拟局域网。连接时需要使用的信息是Network ID这一栏的信息。

  • 接下来就是进阶设置栏。这里可以根据自己喜好设置网段地址和路由等信息。如果嫌麻烦就直接IPv4地址栏选一个记得住的局域网内地址前缀就行,其它无需更改。

在需要组网的客户机上安装客户端并加入组网

1. 桌面端

  这里的客户端指的是zerotier-one,官网下载页面有针对各个平台的安装方式。我们远程开发的服务器端一般是Linux系统,手动下载对应的包,或者使用系统的包管理器下载安装均可。

1
sudo pacman -S zerotier-one #ArchLinux使用pacman的安装方法

macOS和Windows使用的是带有图形界面的客户端,下载对应安装包安装即可。

Linux开启服务并加入组网
  • 先用系统对应的方式打开zerotier-one的服务
1
2
sudo systemctl enable zerotier-one   #ArchLinux开机启用服务
sudo systemctl start zerotier-one #启动服务

使用sudo systemctl status zerotier-one确认服务是否开启,成功启用的输出如下:

1
2
3
4
5
6
7
8
9
● zerotier-one.service - ZeroTier One
Loaded: loaded (/usr/lib/systemd/system/zerotier-one.service; enabled; preset: disabled)
Active: active (running) since Fri 2023-12-08 15:16:00 CST; 7h ago
Main PID: 2895 (zerotier-one)
Tasks: 40 (limit: 18783)
Memory: 17.5M
CPU: 29.195s
CGroup: /system.slice/zerotier-one.service
└─2895 /usr/bin/zerotier-one
+ 使用终端加入组网(复制你刚刚创建好的Network ID):
1
sudo zerotier-cli join [你的Network ID] #复制你的Network ID 替换掉中括号

成功加入会显示200 join ok的提示,此时你可以输入sudo zerotier-cli status来确认你当前已经加入了哪些组网并确认是否连接成功,成功加入组网后应该显示如下格式信息:

1
200 info [加入的Network ID] [客户端版本号] [连接信息(ONLINE/OFFLINE)]

那么此时该客户机已经进入到组网,但是管理员尚未授权其连接,授权方式在下文中统一说明。

Windows/macOS图形界面开启服务并加入组网

在Windows或macOS上的客户端拥有图形界面,加入比较方便。在安装完成后打开ZeroTier-one,右键点击其任务栏图标(个人信息涂黑)

点击Join New Network,在弹出窗口中粘贴你的Network ID 即可。

2.移动端

  安卓设备可以在官网或者谷歌商店下载,苹果设备需要外区AppleID进入Appstore下载。下载完毕进入App,点击右上角+号添加新的虚拟局域网连接,进入如下界面:

在NetworkID下粘贴你即可。

  加入组网后,回到主页面就会出现对应的组网选项,其右侧有开启按钮。开启后一般设备会让你授权打开VPN服务,同意即可。之后开启按钮就会进入对应的组网,你的设备状态栏如果出现了VPN连接的状态,就说明连接组网成功了!但是现在我们还没有授权设备连接至子网,所以不会有对应状态提示。接下来笔者会介绍如何让进入组网的设备可以成功连接至刚刚创建的虚拟局域网。

授权设备登陆

  在设备加入组网后,需要进入管理页面允许访问才能在组网中启用设备连接。回到刚刚创建组网的网络页面,在下方的Members成员设置模块中会看到加入希望加入组网的设备:

在Address栏中是希望加入设备的物理地址,可以通过终端中输入sudo zerotier-cli lisnetworks,或者在图形界面中查看到当前设备的物理MAC地址,用来匹配所想要加入的设备。

  在尚未加入的设备列表前有Auth?的选项框,选中选项框,就可以授权对应设备连接进入虚拟组网了。在后面还可以设置设备名称和指定设备在虚拟组网下的IPv4地址,建议给每个设备设置独立的名称和地址。至此便完成了基本的虚拟组网连接,可以通过组网内的IP地址相互进行ping指令检查连接。

使用移动端的ssh工具或终端模拟器进行远程开发

  因笔者最近使用neovim编辑器进行开发,所以直接使用了终端模拟器连接进行开发。当然移动端可以用于远程连接的编辑器也有很多,这里可以根据个人习惯使用,下面给出笔者在Termius终端模拟器和code编辑器远程连接的效果,平台均在ipadOS上。

Termius使用效果

  • 添加连接

  • 效果

code使用效果

将手中的移动设备打造为生产力工具!

本文作者:KiRorY
本文链接:https://kirory.xyz/2023/12/07/ZeroTier内网穿透+终端模拟器打造远程生产力工具/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可