原文地址:远程学习(一):基于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转发节点搭建相关推荐

  1. 异地组网方案可以详细展开说一一下

    异地组网是指将多个计算机设备连接在远离彼此的地点上,以共享资源和信息的一种技术方案. 下面是异地组网的一些常见方案: 基于以太网的异地组网:通过使用以太网技术连接不同地点的计算机,并通过交换机或路由器 ...

  2. 异地组网——ZeroTier

    前言 ZeroTier 是一款简单易用的内网穿透工具(更类似异地组网SD-WAN),只需要简单配置,就能实现虚拟局域网的组建,用虚拟局域网ip和内网ip均可以无缝访问虚拟局域网中的任意一台设备.让你可 ...

  3. 天联实现异地组网的远程连接工具

    一.天联产品功能 天联SD-WAN是北京金万维科技有限公司自主研发的连接产品,在任何网络环境下实现不同地区间快速组建局域网,解决不同地区电脑与电脑.设备与设备.电脑与设备之间的信息远程通信问题,产品问 ...

  4. 用异地组网路由器,实现家校互联

    前言: 十万分的抱歉,开学工作太忙晚上基本倒头就睡,最近才难得上网翻看自己的文章,发现好多回复.感谢大家的厚爱和关注,很多留言都没有及时回复大家,万分抱歉.说起来实在惭愧,数数一个多月没更新文章,让大 ...

  5. 使用zerotier让异地设备组局域网

    现在因为疫情流行居家办公,经常有要和公司的异地网络或者电脑交互的情况.frp的内网穿透只能转发端口,而且配置也有些麻烦.如果有和公司电脑组建内网需求,zerotier就派上用场了. 注册zerotie ...

  6. totolink 异地组网

    totolink 异地组网 1.条件:两条都具备Internet 的 路由器(主路由器 & 从路由器) 2.主路由器设置: 1.重启路由器,链接好Internet:首页 - 检测网络连接正常 ...

  7. 异地局域网对接:异地组网原理与实操

    无论是在工作还是学习过程中,我们经常会有异地访问局域网的需求.所谓异地组网,就是要打通两地的局域网络环境,在任何一地的局域网络环境下,能够通过输入异地局域网地址的方式,实现类似于本地局域网访问的效果. ...

  8. ssh登录极路由后台_十八聊智能 篇一百一十:搭建个人云盘,蒲公英企业级路由G5评测:个人私有云+企业异地组网两大杀手锏_路由器...

    2020-10-21 16:08:201点赞8收藏1评论 本文来自#千兆网络有什么用#征稿活动,不断提速的网络给你的生活带来了什么变化?快来参与活动,聊聊你玩转互联网,高速网上冲浪的经历!>点击 ...

  9. textblob 情感分析_使用TextBlob进行远程学习的推文中的情感分析

    textblob 情感分析 Hi everyone, 嗨,大家好, The Covid19 Pandemic brought about distance learning in the 2020 a ...

  10. 使用巨控GRM530模块远程通信连接TIA WINCC(异地组网)SIMATIC NET与S7-200 SMART 集成以太网口OPC 通信

    使用巨控GRM530模块远程通信连接TIA WINCC(异地组网)SIMATIC NET与S7-200 SMART 集成以太网口OPC 通信 硬件: S7-200 SMART SR40 PC 机 ( ...

最新文章

  1. 洛谷 - 试炼场(全部题目备份)
  2. mongodb windows安装
  3. 【MM模块】 Goods Receipt 收货 3
  4. Activity 切换动画
  5. 在LINQ to SQL中使用Translate方法以及修改查询用SQL
  6. 第97:一文读懂协方差与协方差矩阵
  7. 计算机网络【一】概述+OSI参考模型
  8. springMVC中添加命名空间(edit namespace)
  9. 【玩转数据系列三】利用图算法实现金融行业风控
  10. 重量级Orchard模块发布 - 模块生成工具RaisingStudio.ModuleGenerator
  11. VB编程语言基础知识点总结(转)
  12. thrift php,Thrift-简单实用
  13. 在win10系统中应用iverilog(Icarus verilog)学习笔记
  14. 国际体验服服务器维护中怎么办,体验服维护中什么意思 | 手游网游页游攻略大全...
  15. 发一个自己常用的通信词汇缩写表(实时更新)
  16. 自定义小部件Widget的探讨
  17. 下一代 Web 应用模型 —— Progressive Web App
  18. h5是html语言吗,H5和HTML5是一样的吗
  19. 河北最新建筑施工架子工(建筑特种作业)机考题库及建筑架子工试题答案解析
  20. R_circlize包_和弦图

热门文章

  1. 怎么制作表情DIY,动态GIF表情包如何制作?
  2. 数据分析-美国小孩英文名分析-可视化(含代码)
  3. 选择与循环:剪刀石头布_剪刀石头布十大奢侈家具,创造高端精致生活就是这么简单!...
  4. 摩斯密码php,摩斯密码是什么?
  5. DELETE 语句与 REFERENCE 约束“FK_T_score_T_student_number“冲突。
  6. 小智-微直播 使用教程
  7. 【Java 8 新特性】Java Stream 通过min()和max()获取列表最小值和最大值
  8. 红帽子linux编译命令,Linux REDHAT下安装内核源代码详细步骤教程
  9. MYSQL简单题目和知识点
  10. Tableau常用可视化图形介绍及其适用场景