zerotier虚拟局域网VLAN,局域网与外网如同局域网一样访问。

文章介绍了如何使用Zerotier在OpenWRT设备上建立点对点连接,包括加入Zerotier网络、配置静态IP、设置防火墙规则以及允许SSH访问的方法,强调了Zerotier在创建虚拟网络中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WireGuard相比于传统VPN的核心优势是没有VPN网关,所有节点之间都可以点对点(P2P)连接,效率高,速度快,成本低。但WireGuard目前最大的痛点就是上层应用的功能不够健全,WireGuard本身只是一个内核级别的模块,它只是一个数据平面,Tailscale就是基于Wireguard的一个联网工具,无需公网地址,通过去中心化,实现各个节点之间点对点的连接。
zerotier:可以搭建用于自己的虚拟网络,经过授权连接成功之后彼此都在同一网段,可以像在局域网一样互相访问。通过Zerotier访问局域网所有设备
在这里插入图片描述

1.创建zerotier账户
2.创建网络(Create A Network)并记住网络标识(NETWORK ID)

一、openwrt设备被zerotier虚拟网络设备访问。
1、openwrt启动zerotier插件,填入zerotier network id。
2、在zerotier网站管理设置界面上勾选加入虚拟网络的openwrt的设备
3、在openwrt上:网络-接口-新增加新接口

静态地址,IPv4地址为zerotier上虚拟ip地址x.x.0.13(可自定义),255.255.255.0

在这里插入图片描述
ztc开头的复制一下,到时候在防火墙命令中替代。

在这里插入图片描述
保存并应用
4.网络-防火墙-自定义规则:
在以下防火墙命令中ztcxxx用以上的以太网适配器ztc开头全部文本来替代。
这样的话,被加入zerotier的虚拟网络的设备可以访问openwrt啦,可以直接虚拟ip地址来访问luci页面。

iptables -I FORWARD -i ztc25m65qo -j ACCEPT
iptables -I FORWARD -O ztc25m65qo -j ACCEPT
iptables -t nat -I POSTROUTING -o ztc25m65qo -j MASQUERADE

二、openwrt内的设备被zerotier虚拟网络设备访问。
1.openwrt局域网内ip网段是192.168.1.0/24
2、在zerotier网站管理设置界面上,为openwrt的这个局域网添加下路由表:
via:x.x.0.13为openwrt的虚拟ip地址
在这里插入图片描述
这样局域网内所有设备都可以访问,可以用ping方式来验证。
a、局域网内网关和dns地址设为本地openwrt的地址
b、不同路由的局域网内网段不能重复。
三、ssh连接访问openwrt设备
外网无法ssh到openwrt的解决办法,Putty提示:network error connection refused
1.设置允许SSH控制:在系统-管理权:新增Dropbear 实例
在这里插入图片描述
2.打开openwrt设备的SSH端口:网络-防火墙-通信规则:在打开路由器窗口设置框中选择TCP协议,以及输入对应的SSH端口号
在这里插入图片描述

要在Linux虚拟机上将Docker容器接入ZeroTierZeroTier One)的局域网,你需要确保虚拟机本身已加入ZeroTier网络并能正常通信。接下来,可以按照以下步骤修改Docker容器配置: 1. **确保虚拟机ZeroTier连接**: - 首先,确保你的Linux虚拟机已经安装了ZeroTier客户端,并成功加入了ZeroTier网络。 - 使用命令行工具 `zt-one-cli` 连接到你的zerotier网络,例如: ``` zt-one-cli join <your_network_id> ``` 2. **允许iptables转发**: - 如果你的Linux虚拟机使用的是桥接网络模式(默认),Docker容器可能需要iptables规则才能访问网络。运行以下命令打开SSH连接: ```bash sudo ufw allow in ssh sudo ufw allow 'proto tcp from any to any port 22' ``` 3. **配置Docker容器网络**: - 使用`--network`选项指定ZeroTier网络,比如你可以使用`zt-net`网络名称,如果已经创建过的话: ```bash docker run -it --rm --name my_container --network=zt-net --add-host=host.docker.internal:host-gateway your_image_name ``` - 如果你的零-tier网络名不是默认的,需要将其替换为实际网络名。 - `--add-host` 参数是为了让容器能够通过`host.docker.internal`访问宿主机,这对于在容器中使用外部服务如HTTP、DNS等很有帮助。 4. **验证连接**: - 启动容器后,在容器内部尝试ping测试或其他网络连通性的操作,确认容器已经成功接入ZeroTier网络。 注意:`zt-net`需要提前创建,如果还没有创建,可以使用`zt-one create-net`命令创建,具体语法参考ZeroTier官方文档。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值