使用zerotier one实现内网穿透及MOON架设过程整理
首先要安装 zerotier-one 这个软件包,如果是ArchLinux,直接运行(可直接复制不带$符号):
$ sudo pacman -S zerotier-one
如果是Ubuntu/Debian/CentOS,则运行:
$ curl -s https://install.zerotier.com/ | sudo bash
注:如果是Windows或者macOS、Android、iOS等,那么可以在 https://www.zerotier.com/download/ 下载zerotier,win7最高只支持1.6.5版本。
等待安装完成。
之后就完成了安装,然后我们要启动zerotier,并且让他开机自启动,运行:
$ sudo systemctl start zerotier-one.service
$ sudo systemctl enable zerotier-one.service
例如我有两台内网机器,于是都按照上面的描述进行了安装和启动。接下来要做的事情是到 https://my.zerotier.com/ 里注册帐号并且登录,然后创建一个Network,创建之后点到这个网络里,拉到最上面,选择 Private(私有网络) ,这样别人加入的时候就需要认证, 如果想改名字的话,改个名字,其他不用动。然后复制 Network ID,就是拉到最上面的时候可以看到的一个类似0cccb752xxxxxxxx 的16位字符串。
然后在两台内网机器上执行:
$ sudo zerotier-cli join 0cccb752xxxxxxxx
如果是Windows或者macOS、Android、iOS等直接在客户端软件点击Join Network,输入刚才那段16位字符串加入网络。
加入之后他们就启动了,但是还连不进我们创建的网络,因为我们选择了Private(私有网络) ,我们还需要到 https://my.zerotier.com/ 上面对接入的机器打勾,拉到 Members 这一节,把前面的两个勾勾选上。
这个时候执行一下 ip a 命令你会发现多了一个叫做 ztuzethlza 或者类似名字的设备,还有IP地址,这就是zerotier组建的局域网的IP 地址,但是这个时候你如果直接连接另外一台机器的话可能会非常慢,所以为了加速,我们还需要一台在国内的,或者是在国外但是访问速度相当快的机器做转发。
搭建中转机器(moon)
首先把中转机器按照上述步骤一起加入网络,然后执行:
$ cd /var/lib/zerotier-one/
$ sudo zerotier-idtool initmoon identity.public > moon.json
接下来编辑一下 moon.json,把 "stableEndpoints":[] 这一节里加入中转机器的公网IP,例如 "stableEndpoints":["1.2.3.4/9993"],其中 9993是默认监听的端口,接下来要把9993端口的防火墙放开(注意一定要是UDP),如果你的机器外边还有防火墙的话,也要一起放开,例如腾讯云的机器就有防火墙,要一起把对应端口的UDP流量放行,
修改有两个办法,一个方法a使用vi编辑;一个方法b是使用宝塔面板进行编辑或者使用WinSCP等工具
方法a:执行命令:vi moon.json
出现文件界面,如果没有,接按界面提示按enter键继续,按 i 键,界面结尾出现如图后可以进行文本编辑,
按esc键 退出编辑
执行命令: :wq #注意是“ :” 键 “w” 键 “p”键三个字符
方法b:使用宝塔面板修改 或者使用WinSCP等工具,下载到本地用记事本修改后回传替换,修改时注意输入法英文状态。
此后,我们要开放端口和生成moon的配置:
$ sudo ufw allow 9993/udp
特别说明CentOS默认软件源不提供UFW,所以你需要安装EPEL软件源,运行以下命令:
$ yum install epel-release -y
安装完成后使用以下命令安装UFW:
$ yum install --enablerepo="epel" ufw -y
UFW安装后,可以通过以下命令来启动UFW服务并使其在启动时启动(一般在完成默认配置后再重启):
$ ufw enable
生成签名文件,执行命令
$ sudo zerotier-idtool genmoon moon.json
此命令会生成一个签名文件在当前目录下,文件名如 000000448c38987b.moon (机器 A 的 id 为 448c38987b)
接下来将moon节点加入网络。创建moons.d文件夹,并把签名文件移动到文件夹内
创建文件夹,执行命令:
$ sudo mkdir moons.d
移动签名文件,执行命令:
$ sudo mv 000000448c38987b.moon moons.d/
此处的000000448c38987b.moon是上一步生成的文件名,请改成你自己生成的。
接下来把中转服务器的 zerotier-one 重启:
$ sudo systemctl restart zerotier-one
加入moon
Linux:
使用之前步骤中 moon.json 文件中的 id 值(10 位的字符串,就是448c38987b),不知道的话在服务器上执行如下命令可以得到id。
$ grep id /var/lib/zerotier-one/moon.json | head -n 1
"id":"XXXXXXXXXX",
复制这个id,然后在内网机器执行:
$ sudo zerotier-cli orbit 448c38987b 448c38987b
注意,xxxxxxxxxx 要两遍。此后重启 zerotier,完毕。等一会儿之后,zerotier局域网内的机器就可以互相访问了,延时非常低:
$ ping 192.168.1.111
PING 192.168.1.111 (192.168.1.111) 56(84) bytes of data.
64 bytes from 192.168.1.111: icmp_seq=1 ttl=64 time=35.0 ms
64 bytes from 192.168.1.111: icmp_seq=2 ttl=64 time=37.1ms
64 bytes from 192.168.1.111: icmp_seq=3 ttl=64 time=36.9ms
^C
--- 192.168.1.111 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time4ms
rtt min/avg/max/mdev = 35.039/36.369/37.145/0.944 ms
Windows:
打开服务程序services.msc, 找到服务"ZeroTier One", 并且在属性内找到该服务可执行文件路径,并且在其下建立moons.d文件夹,然后将moon服务器下生成的000xxxx.moon文件,拷贝到此文件夹内..再重启该服务即可(计算机右键管理-找到服务双击打开-找到zerotier one右键重新启动即可)
路径一般是Windows:C:\ProgramData\ZeroTier\One
注意不是在C:\Program Files(x86)\ZeroTier\One这个路径下。
2.测试是否成功(客户端以管理员身份运行CMD),执行命令:zerotier-cli listpeers
若有出现类似信息,即可证明moon连接成功
200 listpeers xxxxxxxxxx xx.xx.xx.xx/9993;············· MOON
Xxxxxxxxxx为中转机10位ID,xx.xx.xx.xx/9993为中转机公网IP
以上资料来源于网络,个人收集整理,在腾讯云主机、个人电脑测试成功,
使用zerotier one实现内网穿透及MOON架设过程整理相关推荐
- 群晖网络不通_群晖系统安装zerotier one进行内网穿透过程中常见问题及解决方法...
群晖系统安装zerotier one进行内网穿透过程中常见问题及解决方法 2020-07-28 17:27:39 21点赞 330收藏 31评论 zerotier one是一款很好用的P2P内网穿透软 ...
- 【转载】无公网IP搞定群晖+ZEROTIER ONE实现内网穿透
前言 最近刚开始折腾群晖,从5.2到6.0再到5.2再到6.1,期间过程曲折复杂,血泪交融,参考了无数文章,重启了无数次机器,拷贝了无数文件,以及损失了无数数据.再次提醒大家,数据一定要做好备份,一定 ...
- 黑群晖安装ZEROTIER ONE实现内网穿透
黑群晖安装ZEROTIER ONE实现内网穿透 ZeroTier One的原理是虚拟出一块网卡,连上一个虚拟网络,安装了ZeroTier One客户端的设备可以连入这个网络,经过授权连接成功之后彼此都 ...
- 无公网IP搞定群晖+ZEROTIER ONE实现内网穿透
自己利用蜗牛星际DIY了一个黑群晖(安装系统参考这个链接https://zhuanlan.zhihu.com/p/60206902?edition=yidianzixun&utm_source ...
- 群晖NAS使用ZeroTier进行p2p内网穿透
群晖NAS使用ZeroTier进行p2p内网穿透 看不惯可以看:https://www.zjjflsz.top/wordpress/?p=133 前期准备:ZeroTier安卓安装包.windos的Z ...
- ZEROTIER ONE实现内网穿透
原文链接:https://post.smzdm.com/p/741270/ 原文链接:https://www.jianshu.com/p/77abb0a64a82 传统的内网穿透: 内网设备<- ...
- 黑群晖(DSM7)使用docker挂载zerotier one实现内网穿透
前言:由于Synology 的 DSM 7 不允许第三方应用程序以 root 用户身份运行.所以DSM7以上的版本将只能使用docker的方式来安装zerotier(而DSM6的zerotier将在2 ...
- 无公网ip群晖+ZEROTIER ONE实现内网穿透
ZeroTier方案内网穿透原理 ZeroTier One的原理跟hamachi基本一样,就是虚拟出一块网卡,连上一个虚拟网络,安装了ZeroTier One客户端的设备可以连入这个网络,经过授权连接 ...
- moon服务器 zerotier_使用ZeroTier组建虚拟内网/如何搭建MOON转发服务器
ZeroTier可以构建网状结构的虚拟局域网,方便我们将不同的设备连入这个虚拟的网络,实现内网通信的需求.然而在中国如果要用好ZeroTier,则需要搭建几个MOON转发服务器. 名词解释:PLANE ...
最新文章
- 生产环境:Nginx高可用方案
- 数值计算领域的“圣经”,图灵出了新版本 | 11月书讯
- 客户端soap【JAX-WS入门系列】第04章_SOAP异常处理和Handler处理
- 发生android.view.ViewRoot$CalledFromWrongThreadException异常的解决方案
- 【JavaWeb】前端框架之Bootstrap
- html5 测研制,360发布国内首个HTML5实验室 4大特性抢先测
- python是动态还是静态_python之静态方法和动态方法介绍
- Delphi Note
- 信号与线性系统分析 吴大正 (与电子 通信专业的同学共勉)
- java common-lang_commons-lang.jar下载
- 绘制三角形的外接圆和内接圆
- Python函数学习心得
- gitter 卸载_最佳Gitter渠道:材料设计
- php mysql 更新多条数据_php update 多条数据库
- 唐国庆出任木林森执行总经理,给木林森带来怎样的想象空间?
- 游戏里面的模型是怎么制作的?次世代场景建模有哪些特点?
- 2017年Go语言入门教程-徐培成-专题视频课程
- 分布式事务 seata 最全入门教程
- Ranklib部分源码分析
- 不良资产案件执行难的原因