无公网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地址,反之同理。

ZeroTier部署流程:

1、注册账号并创建一个网段
2、下载客户端并加入这个网段

开始部署:

1、创建账号

https://my.zerotier.com

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 局域网组建工具的更多相关文章

  1. 用Socket做一个局域网聊天工具(转)

    原文:http://www.cnblogs.com/technology/archive/2010/08/15/1799858.html 程序设计成为简单的服务端和客户端之间的通信, 但通过一些方法可 ...

  2. C# WINFORM 局域网PING 工具(技术改变世界-cnblog)

    WINFORM 局域网PING 工具(技术改变世界-cnblog) 需求: 1.实时更新 日期时间 2.可以ping多个IP 地址,必须判断 IP地址的正确性,不能为广播地址 3.对ping结果的显示 ...

  3. 局域网查看工具Lansee注册码

    相信好多人为查看局域网IP发愁,今天给大家推荐一个工具 lansee 猛戳下载

  4. Padavan安装使用ZeroTier实现组建虚拟局域网的方法

    首先到这个网站ZeroTier – Global Area Networking注册登陆,注册及创建网络的过程可以参考网上及其他UP主的教程,我就不重复了. 本篇主要讲述的是hiboy大佬编译的固件在 ...

  5. ARP局域网欺骗工具编写

    每台主机都设有一个ARP高速缓存(ARP cache),里面有本局域网上各主机和路由器的IP地址和硬件地址的映射表,这些都是该主机目前知道的一些地址. 当主机A要向本局域网上的某个主机B发送IP数据报 ...

  6. linux 局域网探测工具nmap

    NMap,也就是Network Mapper,是Linux下的网络扫描和嗅探工 具包,其基本功能有三个, 一是探测一组主机是否在线: 其次是扫描主机端口,嗅探所提供的网络服务: 还可以推断主机所用的操 ...

  7. 蛮好用的局域网测试工具iperf

    公司局域网总是莫名其妙的和一台机器网速很慢,虽然无法解决也无人解决,但是能有个有效的测试至少也会心里有数. 咱干不了网络硬件布线的活,就测测网速吧. 网上找了下,开始有文章介绍NetIQ Chario ...

  8. CentOS 7 安装Dukto(局域网通信工具)

    rmp包 http://download.opensuse.org/repositories/home:/colomboem/CentOS_7/x86_64/dukto-6.0-13.1.x86_64 ...

  9. C#局域网聊天工具_UDP广播

    接上一讲,程序启动就要发送广播消息,如何发送广播消息,这一讲将给大家好好讲讲网络广播的知识,以及C#如何实现广播. 第一部分.什么是广播地址,以及广播地址怎么计算 1.1 广播地址是什么? 主机号全为 ...

随机推荐

  1. Python实现云服务器防止暴力密码破解

    云服务器防止暴力密码破解 云服务器暴露在公网上,每天都有大量的暴力密码破解,更换端口,无济于事,该脚本监控安全日志,获取暴力破解的对方ip,加入hosts黑名单 路径说明 描述 路径 登录安全日志 / ...

  2. Java Interview Questions Summary

    Spring 高并发 Java基础 多线程 正文. 多线程精选53题 1.什么是线程 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器 ...

  3. JSP技术(一)

    Servlet的两个缺点: 1.首先,写在Servlet中所有的HTML标签必须包含JAVA字符串,使得处理HTTP响应报文工作十分繁琐. 2.所有的文件和HTML标记是硬代码,导致即使是微小变化,也 ...

  4. Java面向对象编程 -5.2

    静态代码块 静态代码块主要指的是使用static关键字定义的代码块 静态块的定义需要考虑到两种情况: 主类中定义静态块 非主类中定义静态块 静态块执行主要是给static属性进行初始化的 此时可以发现 ...

  5. dfs关于按钮问题(flip游戏POJ1753)以及和bfs的区别+板子

    DFS深度搜索:之前一直和bfs的用法搞不太清楚:写了题才能慢慢参透吧,看了别的博客的代码,感觉能更好理解dfs在图中的应用: 这个题目的意思是一个人去救另一个人,找出最短的寻找路径: #includ ...

  6. 【MySQL】完整性约束

    " 目录 not null default unique 单列唯一 联合唯一 primary key 单列主键 复合主键 auto_increment 步长与偏移量 foreign key ...

  7. numpy.bincount正确理解

    今天看了个方法,numpy.bincount首先官网文档: numpy.bincount numpy.bincount(x, weights=None, minlength=0) Count numb ...

  8. python写入文件中遇到 UnicodeEncodeError: ‘gbk’ codec can’t encode character 错误的解决办法

    在写入TXT文件时,某些页面总是报UnicodeEncodeError: ‘gbk’ codec can’t encode character错误,网上找了半天也没找到解决办法. 后来终于找到了解决办 ...

  9. 【快学Docker】快速创建容器,容器常用命令

    前言 容器是Docker的三大核心概念之一.简单地说,容器是独立运行的一个或一组应用,以及它们的运行态环境.对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面 ...

  10. springmvc中整合mongodb副本集配置文件

    配置文件jdbc.properties: mongo.hostport=192.168.100.100:28007,192.168.100.110:28008,192.168.100.120:2800 ...