Zerotier是一个开源,跨平台,而且适合内网穿透互联的傻瓜配置虚拟 V*P*N LAN,简单来说两边都不需要公网ip即可实现异地网络互联
zerotier组网的原理非常简单,zerotier会创建一个id号,这个id号相当于一个网络聊天室,要组网的用户就使用这个id号进入这个网络,但同时这个id号是架设在国外的节点的,对于网络可能有少许波动(用到现在几乎没有影响),后续可能会出教程搭建自己的节点。
本地内网网段192.168.0.0/24
异地内网网段:10.0.0.0/16
分别在两地各安装一个具有zerotier功能的openwrt虚拟机,openwrt虚拟机通过路由器联网,个人电脑通过连接openwrt访问异地网络
怎么在虚拟机上安装openwrt以及超全功能openwrt分享在这里
https://blog.csdn.net/anlr2020/article/details/119211205?spm=1001.2014.3001.5501
或者说自己下载zerotier的客户端连入访问,这里主要教怎么使用
首先进行zerotier服务端的配置,用我分享的版本点击这里进入zerotier官网配置,或者直接输入https://my.zerotier.com/进入官网
进入官网后先注册一个账号
按要求输入用户名邮箱密码点击注册
注册完退回官网首页点击LOG IN登录
输入刚才注册时的邮箱和密码进行登录
登录后点击Create a network创建网络
创建后会出现
默认选择PRIVATE方式需要授权才能进入网络,PUBLIC方式只要知道网络ID号就可以连入网络
这里先让openwrt的zerotier客户端连一下,输入创建时分配的网络id号后保存,要组网的两端都要输入同一个网络id。别的方式也可以输入id号连入网就行,linux下命令行配置在后面
连入网络id后zerotier的配置页面会出现你连入的主机的信息,点击勾选授权,zerotier会自动给这两台连入网的异地主机分配一个虚拟ip,到这里直接保存配置的话你会发现两台异地的机子已经可以通过虚拟ip互相ping通了。
需要直接通过内网ip互相ping通和连入openwrt的设备都ping通的话还需要如下设置
,增加两条路由规则,使得本地和异地的网络都能通过分配的虚拟ip互通
配置完后本地192.168网段已经能互连异地10.0.网段了
如果你的个人电脑需要访问异地网络直接把网关改成你本地openwrt的ip就行了(路由器-虚拟机openwrt-电脑这种方式才需要改网关。),异地那边电脑同样把网关改成异地配置的openwrt的ip,如果你是路由器上直接刷的openwrt固件就不需要改,
本文所有配置都是需要本地异地两边都配置的,
下载
$ curl -s https://install.zerotier.com/ | sudo bash
注:如果是Windows或者macOS、Android、iOS等,那么可以在 https://www.zerotier.com/download/ 下载zerotier
zerotier-one -d启动
并且让他开机自启动,运行:
$ sudo systemctl start zerotier-one.service
$ sudo systemctl enable zerotier-one.service
安装这里网上教程很多,出错就按别的方式安装一下
加入网络id命令
zerotier-cli join abcd123456789
(后面这串abcd1...是你具体的网络id号,根据你前面官网创建网络时那里)
zerotier-cli leave 加id号是离开这个网络, zerotier-cli listnetworks查看你当前已加入的网络
加入网络后配置和前面都是一样的。
还需要添加防火墙规则
iptables -I FORWARD -i ztyqbub6jp -j ACCEPT
iptables -I FORWARD -o ztyqbub6jp -j ACCEPT
iptables -t nat -I POSTROUTING -o ztyqbub6jp -j MASQUERADE
这里的zetqbub6jp要改成你的自己的虚拟网卡名,ifconfig查看,一般是zt开头
这种是针对于有openwrt但是没有图形化管理界面的
输入
vim /etc/config/zerotier
list join 后面是你要加入的网络id,enabled‘0’改成1