ZeroTier 局域网组建工具
无公网IP通过ZeroTier实现内网穿透
需求:想要在公司访问家里内网NAS,或是在家里访问公司服务
有固定的公网IP或动态的公网IP:常见的方案动态域名解析做端口转发方式等
无公网IP:常见的实现方案向日葵、teamviewer、ngrok、frp等
有公网地址的情况下,我这里还是推荐端口转发方式,速度最理想!!!另外条件允许还是优先考虑frp做内网穿透,速度根据自己情况可控,最理想的方案!!!
本文主要讲解一个无公网IP的情况,通过ZeroTier实现内网穿透,而且配置起来非常容易
ZeroTier设备支持:
免费用户可以支持100个设备,支持Windows、macOS、Linux、IOS、Android、Synology、QNAP、Western Digital MyCloud NAS等等。
ZeroTier原理:
ZeroTier虚拟了一个网段,网段为192.147.17.0/24,公司和家里分别安装ZeroTier客户端,客户端会虚拟出一个网络并加入192.147.17.0/24这个网段,在家即可访问192.147.17.22地址,反之同理。
1、注册账号并创建一个网段
2、下载客户端并加入这个网段
开始部署:
1、创建账号
2、创建网络
进入https://my.zerotier.com/network点击Create创建网络
3、点击进入已创建的网络
此时可以看到Network ID,后续添加设备都会需要这个ID。
我这里说下Access Control,默认是Certificate (Private Network),选择此模式表示每次在添加新的主机时,需要手动勾选是否允许连接,如果选择None (Public Network)模式,表示加入网络后自动分配IP并允许连接,从安全性来说建议使用默认选项Certificate (Private Network),方便性来看None (Public Network)更方便,不用每次加入网络后手动勾选。
另外根据个人情况你也可以自由设置网段,此处不做过多说明
好了,一个中转的ZeroTier就配置完成了,接下来只需要在其他设备安装所对应的客户端,然后加入到这个网络中就可以了。
Windows客户端安装
下载zerotier windos客户端
https://download.zerotier.com/dist/ZeroTier%20One.msi
安装后右键点击zerotier图标,点击Join Network加入
输入要连接的 network id,点击Join加入
然后在https://my.zerotier.com/network页面所创建的网络中刷新即可看到,刚刚加入的主机,如果使用的是Certificate (Private Network)模式,需要在页面中手动勾选一下允许加入网络。
Centos7客户端安装
1、编辑添加yum源
1
|
vi /etc/yum.repos.d/zerotier.repo
|
1
2
3
4
5
|
[zerotier]
name=ZeroTier, Inc. RPM Release Repository
baseurl=http://download.zerotier.com/redhat/el/$releasever
enabled=1
gpgcheck=0
|
2、安装zerotier
1
2
|
yum clean all
yum install zerotier-one
|
3、启动服务
1
|
zerotier-one -d
|
4、查看服务状态
1
|
zerotier-cli status
|
看到200 info 596811110b 1.2.12 ONLINE表示服务正常
可以使用netstat命令看到所启动的服务端口(这里192.168.1.162是centos本机的IP)
5、加入网络(后面是你自己的ID号)
1
|
zerotier-cli join Network ID
|
加入后会提示200 join OK
进入https://my.zerotier.com/network
刷新几次页面即可看到新加入的主机,然后在前面勾选即可,勾选后Version会变成版本号,并且会分配出一个IP地址
6、主机验证
回到centos7主机上通过ifconfig命令即可看到,此处又多了一个内网IP,此内网IP和zerotier一致,表示配置完成
附:加入、离开、列出网络状态
1
2
3
|
zerotier-cli join Network ID
zerotier-cli leave Network ID
zerotier-cli listnetworks
|
ZeroTier 局域网组建工具的更多相关文章
- 用Socket做一个局域网聊天工具(转)
原文:http://www.cnblogs.com/technology/archive/2010/08/15/1799858.html 程序设计成为简单的服务端和客户端之间的通信, 但通过一些方法可 ...
- C# WINFORM 局域网PING 工具(技术改变世界-cnblog)
WINFORM 局域网PING 工具(技术改变世界-cnblog) 需求: 1.实时更新 日期时间 2.可以ping多个IP 地址,必须判断 IP地址的正确性,不能为广播地址 3.对ping结果的显示 ...
- 局域网查看工具Lansee注册码
相信好多人为查看局域网IP发愁,今天给大家推荐一个工具 lansee 猛戳下载
- Padavan安装使用ZeroTier实现组建虚拟局域网的方法
首先到这个网站ZeroTier – Global Area Networking注册登陆,注册及创建网络的过程可以参考网上及其他UP主的教程,我就不重复了. 本篇主要讲述的是hiboy大佬编译的固件在 ...
- ARP局域网欺骗工具编写
每台主机都设有一个ARP高速缓存(ARP cache),里面有本局域网上各主机和路由器的IP地址和硬件地址的映射表,这些都是该主机目前知道的一些地址. 当主机A要向本局域网上的某个主机B发送IP数据报 ...
- linux 局域网探测工具nmap
NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工 具包,其基本功能有三个, 一是探测一组主机是否在线: 其次是扫描主机端口,嗅探所提供的网络服务: 还可以推断主机所用的操 ...
- 蛮好用的局域网测试工具iperf
公司局域网总是莫名其妙的和一台机器网速很慢,虽然无法解决也无人解决,但是能有个有效的测试至少也会心里有数. 咱干不了网络硬件布线的活,就测测网速吧. 网上找了下,开始有文章介绍NetIQ Chario ...
- CentOS 7 安装Dukto(局域网通信工具)
rmp包 http://download.opensuse.org/repositories/home:/colomboem/CentOS_7/x86_64/dukto-6.0-13.1.x86_64 ...
- C#局域网聊天工具_UDP广播
接上一讲,程序启动就要发送广播消息,如何发送广播消息,这一讲将给大家好好讲讲网络广播的知识,以及C#如何实现广播. 第一部分.什么是广播地址,以及广播地址怎么计算 1.1 广播地址是什么? 主机号全为 ...
随机推荐
- 【Python】使用socketserver建立一个异步TCP服务器
概述 这篇文章是讲解如何使用socketserver建立一个异步TCP服务器,其中Python版本为3.5.1. socketserver主要的类 socketserver模块中的类主要有以下几个:1 ...
- JVM(三、双亲委派机制)
javadoc的解释: ClassLoader的每一个实例都会有一个与之关联的父ClassLoader,当被要求去寻找一个类或者资源的时候,ClassLoader的实例就会对于类或者是资源的寻找委托给 ...
- ioutils
import yaml import json import csv import configparser class IoUtils(object): """ dep ...
- The Preliminary Contest for ICPC Asia Shenyang 2019 C Dawn-K's water (完全背包)
完全背包为什么要取到M,可以取到2*M嘛,这题需要整取,对于不能整取的背包容量,dp[k]=INF,以及dp[j-water[i].weight]=INF时,dp[j]也不需要更新.如果不整取的话,后 ...
- Django项目配置数据库时,已安装mysqlclient,却提示 Did you install mysqlclient错误,后右报错ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3
错误信息如下: 解决方案是: 找到自己的项目文件夹下的__init__.py 添加如下代码 解决这个问题后,右报错django2.2/mysql ImproperlyConfigured: mysq ...
- C语言:有序递增链表的插入问题。
//已建立一个带头节点的单向链表,链表中的各结点按结点数据域中的数据递增有序连接.fun函数:把形参x的值放入一个新结点并插入链表中,使插入的各个数据域的数据仍保持递增有序. #include < ...
- JavaScript的变量提升机制
变量提升 JavaScript的变量提升有两种,用var声明的变量以及用function声明的变量. 用var声明的变量 我们先来看下面这段代码,a的值是多少 代码1 console.log(a); ...
- nfs的原理 安装配置方法 centos6.5
NFS周边 Network File System 作用 像访问本地文件一样去访问NFS服务器上的文件,目录 引用场景: ..1 用户上传的静态文件---图片,视频,用户上传的视频,头像 ..2 中小 ...
- Linux :ls 命令
常用命令: ls:列出当前路径下的文件和目录 ls -a:列出当前路径下的所有文件和目录(包括隐藏文件和目录) ls -l:以列表方式显示文件或目录的详细信息 ls -al:可以结合使用 ls xxx ...
- scala基础API
1.对象和json转换 1.1 json取值 val json:JSONObject = JSON.parseObject(jsonMsg:String)val message:String = js ...