NAS上部署ZeroTier+noVNC远程控制任意内网主机
文章目录
通过VNC
的方式进行远程控制是我们经常会使用的主机管理方式之一,noVNC
则解放了客户端的限制,不再局限于终端,随时随地通过网页进行操作。
ZeroTier
则用于内网穿透,配合noVNC
免去了控制终端需要在同一内网的限制,非常nice。
为什么是ZeroTier?
同类内网穿透的软件有很多,如Frp
、NPS
等,但主打p2p
的仅ZeroTier
,通过官方的服务器进行内网隧道的打通后便不再依赖Server端
,实现点对点连接,因此速度更快。
ZeroTier
-
注册并登录ZeroTier
-
创建私有内网
默认已经给你创建好了一个,记下此处的Network ID
-
主机加入内网,这边演示2种加入的方式:
-
安装官方提供的客户端,点击前往官网下载
以Windows10系统
为例,安装完成后,点击Join Network...
,然后填入Network ID
即可 -
通过docker安装,这里演示使用
docker-compose
的方式
创建docker-compose.yml
文件内容如下:
|
|
docker-compose up -d
启动容器
docker-compose exec zerotier zerotier-cli join [ZeroTier Network ID]
执行该命令加入内网,[ZeroTier Network ID]
替换为刚刚记下的Network ID
-
在将NAS和被管理主机加入内网后,ZeroTier管理页面就能看到了,在左边红框处打勾,稍等片刻后就能在右边看到该主机的内网IP了
-
测试内网的互通
在一台主机上可以ping通另一台IP,内网建立完成
noVNC
-
在被控制的主机上安装
VNC服务端
并设置登录密码,Windows
用户可以安装TightVNC,这边不再展开 -
NAS通过docker的方式部署noVNC
目录结构如下:
|
|
新建token.conf
文件,[name]: [ip:port]
以该格式填入你需要被控制的主机,可以有多个,如:
|
|
新建Dockerfile
文件,内容如下:
|
|
新建docker-compose.yml
,内容如下:
|
|
- 运行
在应用目录下,执行docker-compose up -d --build
来构建容器并启动
docker-compose restart
重启
docker-compose down
关闭
- 启动后便可以通过浏览器访问
[domain]/vnc.html?path=websockify/?token=[name]
,如http://192.168.1.11/vnc.html?path=websockify/?token=vnc1
,更改[name]
即可登录不同的主机
点击“连接”后,输入密码便可以进行远程控制了
至此本教程结束。