远程学习(一):基于ZeroTier的异地组网及Moon转发节点搭建
原文地址:远程学习(一):基于ZeroTier的异地组网及Moon转发节点搭建
最前
疫情之下,很多同学无法回到学校使用高性能台式机进行学习与科研活动,影响了一部分科研进度。实际上,云盘同步、远程唤醒、远程控制电脑可以使我们随时随地用上千里之外的电脑或数据。然而,很多人并没有这样的使用习惯。在一月份离校前,我非常侥幸地在实验室路由器上设置了网络唤醒(Wake-on-LAN,WOL),并给主机加上了块4T的机械硬盘(真的是非常侥幸,不然我的毕业论文数据处理将遇到很大的麻烦)。本文主要介绍基于ZeroTier的异地组网及Moon转发节点搭建。后续有空的话,再介绍下WOL及云盘同步软件。
各类远程控制软件对比
说到远程控制,主要知名的软件无非是国外的Teamviewer、AnyDesk、国产的向日葵以及系统自带的Microsoft Remote Desktop。然而在国内复杂的网络背景下,其优劣差异明显。
就我个人环境而言,
家里:上海移动300M下行20M上行,支持IPv6但无公网IP。
寝室:上海电信50M下行4M上行,仅IPv4但为公网IP。
实验室:上海教育网、电信、联通、移动四网出口,100M对等上下行,有公网IPv4、IPv6,但被学校防火墙拦截,无法在校园网外直接访问。
我的使用体验如下:
Teamviewer:这款软件可以直接控制实验室电脑。但由于其服务器主要在国外,在家里上海移动网络下当使用IPv6连接时,被迫绕美中转,速度非常慢;当使用IPv4连接时,可以直连,速度较快。然而,一回到学校后,在上海电信环境下远程控制实验室电脑,马上被判断为商业行为,五分钟后被迫下线(实际上根本不到五分钟就被踢了)。网上查了下据说更换使用的IP会导致判断为商业行为,我在官网进行了申诉,然鹅无果。放弃!
AnyDesk:这款软件应该是我最早用于远程控制的软件(如果不算QQ的话),然而当时(已有N年)使用体验不佳,频繁掉线,所以这次也没测试。主要原因应该还是其服务器也在国外。放弃!
向日葵:这款软件的服务器在国内,然而它并不像前两款软件采用网络较好时直连计算机,仅在网络质量较差情况下使用中转模式的策略,而是全部中转流量。作为免费版,它又只给到了1M的带宽,机房线路仅有苏州电信,对移动线路极其不友好。收费版速度会明显提高,但我对于中转模式比较介意,总觉得在使用时有人窥屏。放弃!
上面三款软件,在使用时还有个明显的问题,即被控电脑仍然会显示我的所有一举一动,尽管TV、向日葵都说提供了黑屏功能,但实际使用时总有一些异常Bug导致黑屏失败,除非物理关掉显示器,否则如下:
Microsoft Remote Desktop:微软出品,必属精品。然而它需要被控制端的机器有公网IP地址。实验室电脑虽然有公网IP,但由于我校设置了防火墙,并不能直接连接。
因此,我需要先连入我校VPN再远程控制,多少有些麻烦,另外VPN线路由于使用的人太多,多少有些不稳定,速度较慢,也影响本机其他软件的网络活动。但作为系统级的远程控制软件,延迟流畅度、显示效果以及安全性均不是上面三个能够比的。如果能够直连控制,那么再好不过。解决方案当然有,那就是使用ZeroTier进行异地组网。
ZeroTier注册及服务设置
首先在ZeroTier的官网(https://my.zerotier.com/login)注册账号。免费账户可以部署100个ZeroTier节点,对于个人使用,完全够用!
点击NetWorks,然后点击Create a NetWork即可获取到一串数字ID。
点击ID,可以进行设置私有模式或公开模式,个人使用请选择私有模式。
可以设置异地组网的IP段,建议选择一个好记的。
以上即完成了服务设置。
ZeroTier客户端设置
本文以Windows客户端为例
从官网上下载ZeroTier客户端安装后,右击托盘区图标,选择加入网络,填写刚刚那串数字ID即可。
由于是私有网络,需要在后台允许该客户端访问,点击IP地址前的选择框即可,前面的绿色实线表示同意接入,红色虚线表示拒绝接入。此外,在右侧,还能手动指定设备的IP。
设置完成,程序会创建一张虚拟网卡,并提示是否连入,选择连入即可。
在微软远程控制中,输入手动指定的内网IP段,即可远程控制,成功直连!
Moon转发节点搭建
事实上,当国内网络无法较好地基于UDP协议连接被控电脑时,也会进入转发模式,但由于ZeroTier的官方服务器也在国外,所以情况并不会改善,反而有可能更糟糕。有条件的同学可以在国内搭建VPS服务器,建立Moon节点(也就是卫星节点)进行国内流量转发,即控制端→国内个人VPS→被控端。
在VPS上执行一键命令安装Moon程序。
curl -s https://install.zerotier.com/ | sudo bash
将VPS加入网络,也需要在网站上同意。
zerotier-cli join 网络ID
进入安装目录,并生成Moon的模板。
cd /var/lib/zerotier-one zerotier-idtool initmoon identity.public > moon.json
修改moon.json文件。
修改文件中的“stableEndpoints”为 VPS的IP地址及开放的端口号,例如“stableEndpoints: [“8.8.8.8/9993”]
生成签名文件,一个000000xxxx.moon的文件,需要将此文件下载下来。
zerotier-idtool genmoon moon.json
在安装目录下创建一个moons.d的文件夹,并将000000xxxx.moon移入,并重启服务。
service zerotier-one restart
以上就完成了节点的搭建,剩下需要做的就是把两端的电脑也加入到节点中。
客户端加入Moon节点设置
本部分仍然以Windows为例,此外手机客户端目前不支持加入Moon
打开服务程序services.msc, 找到服务ZeroTier One,找到其可执行文件路径。我的目录在C:\ProgramData\ZeroTier\One中,注意不要找到ZeroTier的客户端所在文件夹,比如C:\Program Files (x86)\ZeroTier\One,在这里是无效的。事实上,只要服务开启,该软件是否运行,并不影响虚拟组网的成功。
在上述C:\ProgramData\ZeroTier\One目录下,创建一个moons.d的文件夹,将000000xxxx.moon复制进入即可。
然后在服务程序里重启服务,无需关机,重启托盘区那个软件无效。
在命令行环境(可能需要管理员权限),运行如下命令进行检查。
zerotier-cli listpeers
结果中应当包括所用的国内VPS IP,并在后面写上了Moon的标签,表明连接成功,可在国内直接转发。
总结
至此,基于ZeroTier的异地组网及Moon转发节点搭建全部结束。
使用微软远程控制还遗留下一个问题,那就是ENVI软件无法正常启动,经查ENVI授权为单机使用,通过微软远程控制则需要联机版授权。但是使用Teamviewer不存在这个问题,所以目前只好交替使用emmm。
远程学习(一):基于ZeroTier的异地组网及Moon转发节点搭建相关推荐
- 异地组网方案可以详细展开说一一下
异地组网是指将多个计算机设备连接在远离彼此的地点上,以共享资源和信息的一种技术方案. 下面是异地组网的一些常见方案: 基于以太网的异地组网:通过使用以太网技术连接不同地点的计算机,并通过交换机或路由器 ...
- 异地组网——ZeroTier
前言 ZeroTier 是一款简单易用的内网穿透工具(更类似异地组网SD-WAN),只需要简单配置,就能实现虚拟局域网的组建,用虚拟局域网ip和内网ip均可以无缝访问虚拟局域网中的任意一台设备.让你可 ...
- 天联实现异地组网的远程连接工具
一.天联产品功能 天联SD-WAN是北京金万维科技有限公司自主研发的连接产品,在任何网络环境下实现不同地区间快速组建局域网,解决不同地区电脑与电脑.设备与设备.电脑与设备之间的信息远程通信问题,产品问 ...
- 用异地组网路由器,实现家校互联
前言: 十万分的抱歉,开学工作太忙晚上基本倒头就睡,最近才难得上网翻看自己的文章,发现好多回复.感谢大家的厚爱和关注,很多留言都没有及时回复大家,万分抱歉.说起来实在惭愧,数数一个多月没更新文章,让大 ...
- 使用zerotier让异地设备组局域网
现在因为疫情流行居家办公,经常有要和公司的异地网络或者电脑交互的情况.frp的内网穿透只能转发端口,而且配置也有些麻烦.如果有和公司电脑组建内网需求,zerotier就派上用场了. 注册zerotie ...
- totolink 异地组网
totolink 异地组网 1.条件:两条都具备Internet 的 路由器(主路由器 & 从路由器) 2.主路由器设置: 1.重启路由器,链接好Internet:首页 - 检测网络连接正常 ...
- 异地局域网对接:异地组网原理与实操
无论是在工作还是学习过程中,我们经常会有异地访问局域网的需求.所谓异地组网,就是要打通两地的局域网络环境,在任何一地的局域网络环境下,能够通过输入异地局域网地址的方式,实现类似于本地局域网访问的效果. ...
- ssh登录极路由后台_十八聊智能 篇一百一十:搭建个人云盘,蒲公英企业级路由G5评测:个人私有云+企业异地组网两大杀手锏_路由器...
2020-10-21 16:08:201点赞8收藏1评论 本文来自#千兆网络有什么用#征稿活动,不断提速的网络给你的生活带来了什么变化?快来参与活动,聊聊你玩转互联网,高速网上冲浪的经历!>点击 ...
- textblob 情感分析_使用TextBlob进行远程学习的推文中的情感分析
textblob 情感分析 Hi everyone, 嗨,大家好, The Covid19 Pandemic brought about distance learning in the 2020 a ...
- 使用巨控GRM530模块远程通信连接TIA WINCC(异地组网)SIMATIC NET与S7-200 SMART 集成以太网口OPC 通信
使用巨控GRM530模块远程通信连接TIA WINCC(异地组网)SIMATIC NET与S7-200 SMART 集成以太网口OPC 通信 硬件: S7-200 SMART SR40 PC 机 ( ...
最新文章
- 洛谷 - 试炼场(全部题目备份)
- mongodb windows安装
- 【MM模块】 Goods Receipt 收货 3
- Activity 切换动画
- 在LINQ to SQL中使用Translate方法以及修改查询用SQL
- 第97:一文读懂协方差与协方差矩阵
- 计算机网络【一】概述+OSI参考模型
- springMVC中添加命名空间(edit namespace)
- 【玩转数据系列三】利用图算法实现金融行业风控
- 重量级Orchard模块发布 - 模块生成工具RaisingStudio.ModuleGenerator
- VB编程语言基础知识点总结(转)
- thrift php,Thrift-简单实用
- 在win10系统中应用iverilog(Icarus verilog)学习笔记
- 国际体验服服务器维护中怎么办,体验服维护中什么意思 | 手游网游页游攻略大全...
- 发一个自己常用的通信词汇缩写表(实时更新)
- 自定义小部件Widget的探讨
- 下一代 Web 应用模型 —— Progressive Web App
- h5是html语言吗,H5和HTML5是一样的吗
- 河北最新建筑施工架子工(建筑特种作业)机考题库及建筑架子工试题答案解析
- R_circlize包_和弦图
热门文章
- 怎么制作表情DIY,动态GIF表情包如何制作?
- 数据分析-美国小孩英文名分析-可视化(含代码)
- 选择与循环:剪刀石头布_剪刀石头布十大奢侈家具,创造高端精致生活就是这么简单!...
- 摩斯密码php,摩斯密码是什么?
- DELETE 语句与 REFERENCE 约束“FK_T_score_T_student_number“冲突。
- 小智-微直播 使用教程
- 【Java 8 新特性】Java Stream 通过min()和max()获取列表最小值和最大值
- 红帽子linux编译命令,Linux REDHAT下安装内核源代码详细步骤教程
- MYSQL简单题目和知识点
- Tableau常用可视化图形介绍及其适用场景