『瀚思彼岸』» 智能家居技术论坛

标题: 老毕教程之:通过zerotier实现异地组网,并将设备接入HA [打印本页]

作者: flashbj    时间: 2023-9-4 17:29
标题: 老毕教程之:通过zerotier实现异地组网,并将设备接入HA
本帖最后由 flashbj 于 2023-9-11 14:15 编辑

背景介绍:我家使用j4105主机安装了PVE8.0,并在PVE中安装了HA、openwrt,想把我父母家的摄像头接入到我家HA中的frigate,在我的HA和NR中实现自动化联动。

j4105通过PVE安装HA并做显卡直通,可以参考j4105主机通过PVE安装HA并做核显直通,让frigate使用GPU加速 - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)
HA安装frigate可以参考HA安装Frigate,实现人形检测和人数检测 - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)


异地组网原理:
在我家和我父母家分别安装异地组网的软件,将两个局域网通过软件转发做成一个大局域网,之前我用过wireguard、Tailscale,效果都不理想,最终选用了zerotier。以下是我的简易网络拓扑图:
[attach]51270[/attach]


一、Openwrt安装:
我家(192.168.1.X段网络):我在j4105的PVE上安装了Openwrt,并在Openwrt上安装了zerotier。PVE安装Openwrt的固件和方法网上很多,就不过多赘述了
父母家(192.168.0.X段网络):我利用闲置的极路由(极2)进行刷机,刷成了Openwrt系统,具体步骤可以参考:https://www.xjx100.cn/news/649690.html?action=onClick
我的Openwrt固件是从https://openwrt.ai/下载的,这个网站可以自行选择需要的软件,省去了手动安装。以下是自己构建固件的方法。
1、进入https://openwrt.ai,并选择自己的设备型号
[attach]51271[/attach]
2、打开“自定义构建固件”中的“常用软件包”,勾选“luci-app-zerotier 内网穿透”
[attach]51272[/attach]
3、设置这个OP的IP地址、子网掩码和后台密码
[attach]51273[/attach]
4、点击“构建新固件”,等待大约五分钟,就可以下载自己构建的固件了。注意:这个网站免费用户一天一台电脑只能构建1次固件,所以构建之前已经设置好想要的软件和相关配置。
[attach]51274[/attach]
5、将op固件刷入极路由(我用的是极2,根据自己设备的品牌和型号自行百度刷机教程),极路由刷机教程请参考:https://www.xjx100.cn/news/649690.html?action=onClick

二、zerotier设置(网页端):
1、登录zerotier官网,注册并登录账户,可以利用微软、google或是GitHub账户进行登录。初次登录后会显示一下页面
[attach]51276[/attach]
2、点击“创建网络”,会自动生成一个网络信息,并进入配置页面:
[attach]51277[/attach]
3、配置zerotier网络名称、认证方式和网络IP段,建议选择只有个一个星号的IP段。
[attach]51278[/attach][attach]51279[/attach]


三、zerotier设置(Openwrt端):
1、进入Openwrt中的zerotier,填写网页端的网络ID,并启用。
[attach]51280[/attach]

2、关闭Lan接口的DHCP功能。
[attach]51284[/attach][attach]51285[/attach]
3、添加接口
[attach]51281[/attach][attach]51282[/attach]
4、配置接口地址
登录zerotier的网页端,找到刚刚添加的设备,并记录对应的IP地址,填写到op的接口中,并选择防火墙区域。
[attach]51286[/attach][attach]51287[/attach][attach]51288[/attach]
5、添加防火墙策略:点击网络-防火墙-自定义规则,将代码中的ztXXXXXX替换为刚刚添加的网口名称zt开头的那个。
[attach]51289[/attach]
  1. iptables -I FORWARD -i ztXXXXXX -j ACCEPT
  2. iptables -I FORWARD -o ztXXXXXX -j ACCEPT
  3. iptables -t nat -I POSTROUTING -o ztXXXXXX -j MASQUERADE
复制代码
四、zerotier添加内网地址(网页端):
返回zerotier网页,并登录,复制刚刚设备的IP地址,并添加你家的内网网段和子网掩码
[attach]51290[/attach][attach]51291[/attach]

以上就是zerotier的网页段和Openwrt中客户端的配置步骤,另外一个Openwrt中的zerotier配置相同。


五、摄像头配置和HA的网络配置
摄像头和HA的网络配置中的网关地址要填写你Openwrt的IP地址,不能填错。
我的HA地址是192.168.1.100(我家),摄像头的地址是192.168.0.100(父母家),用HA去ping摄像头,只要能ping通,就说明已经成功了,可以在HA中通过192.168.0.100的ip将我父母家的摄像头添加到我家的HA中frigate中了。


如果在配置zerotier有什么问题,可以观看B站上韩风Talk大神的视频教程:
https://www.bilibili.com/video/BV1hT4y1E78k/?spm_id_from=333.1007.top_right_bar_window_default_collection.content.click&vd_source=46b6a5cb325d77b0bbc6b7fd412bc13c

以上就是通过zerotier异地组网,并实现我家和父母家局域网打通,并在我家的HA上添加我父母家的监控的全过程,有需要的小伙伴可以参考



感谢B站韩风Talk大佬的视频教程给我提供的帮助!!
感谢https://openwrt.ai/网站提供的自定义的Openwrt固件!!











作者: nylone    时间: 2023-9-5 06:50
父网有公网IP的话试一试openvxn tun模式, 可以使子网设备获得和父网一样的网段(某些HA下的设备必须和HA同网段才能正常通行,例如小米网关、ps4等等)
作者: kkk123    时间: 2023-9-5 10:17
这样的话,你父母家的设备流量是不是全部跑你这边了
作者: flashbj    时间: 2023-9-5 10:30
kkk123 发表于 2023-9-5 10:17
这样的话,你父母家的设备流量是不是全部跑你这边了

我是直接吧我父母那边监控rtsp流接入到我家的HA上了,我父母那边有个NVR也可以正常看监控图像,通过rtsp流做分析的功能都在我家
作者: 智者永封    时间: 2023-9-5 10:32
可惜前两天流氓公司禁止韩风更新zerotier了
作者: flashbj    时间: 2023-9-5 10:38
智者永封 发表于 2023-9-5 10:32
可惜前两天流氓公司禁止韩风更新zerotier了

我也看到了,真是无语啊
作者: Ari    时间: 2023-9-5 13:32
叼,很厉害
作者: yikliu    时间: 2023-9-5 22:15
哥们儿我想问下,我现在用蒲公英的方案也是可以在ha中ping通另一个局域网的设备,但是不能添加米家的设备,不知道你有米家的设备吗,不知道正常吗?
作者: sorrypqa    时间: 2023-9-6 07:43
智者永封 发表于 2023-9-5 10:32
可惜前两天流氓公司禁止韩风更新zerotier了

韩风是什么?
作者: flashbj    时间: 2023-9-6 08:26
sorrypqa 发表于 2023-9-6 07:43
韩风是什么?

B站的一个博主
作者: sorrypqa    时间: 2023-9-6 11:40
flashbj 发表于 2023-9-6 08:26
B站的一个博主

噢!zerotier的确是最好的免费组网软件,可惜影响国内某些人的利益,被各种手段捣乱
作者: itispip    时间: 2023-9-6 12:45
本帖最后由 itispip 于 2023-9-6 12:48 编辑

此方法只适用于Frigate这种插件,本质上是Frigate去集成你的摄像头,不是HA去集成;并且此方法和VPN组网无关!哪怕你没有VPN,摄像头只要有公网IP地址,结果都一样,因为Frigate是支持指定访问设备的IP地址的。

真正的HA集成,例如小米网关插件这种,你会发现HA在192.168.1.x网段根本不会去搜索处于192.168.0.x的小米网关。你必须保证HA的IP地址和设备的IP地址在同一个网段,那才是真正VPN发挥作用的地方。
作者: flashbj    时间: 2023-9-6 13:34
itispip 发表于 2023-9-6 12:45
此方法只适用于Frigate这种插件,本质上是Frigate去集成你的摄像头,不是HA去集成;并且此方法和VPN组网无 ...

我在父母家安装了一个易微联的车库wifi遥控器和门磁,也是通过这个方式接入HA的

作者: 416631663    时间: 2023-9-6 13:40
Lan的DHCP关掉了,那父母家局域网内设备 怎么获取地址?  
作者: flashbj    时间: 2023-9-6 15:07
416631663 发表于 2023-9-6 13:40
Lan的DHCP关掉了,那父母家局域网内设备 怎么获取地址?

通过主路由器的DHCP获取IP
作者: nylone    时间: 2023-9-7 02:15
yikliu 发表于 2023-9-5 22:15
哥们儿我想问下,我现在用蒲公英的方案也是可以在ha中ping通另一个局域网的设备,但是不能添加米家的设备, ...

跨网段能ping通没用, 必须在一个广播域下, 想办法打通两地二层网络吧, 我用openvpn tap模式解决了
作者: yikliu    时间: 2023-9-7 21:44
nylone 发表于 2023-9-7 02:15
跨网段能ping通没用, 必须在一个广播域下, 想办法打通两地二层网络吧, 我用openvpn tap模式解决了 ...

我有个疑问,都是两个家庭了,两个网络也不是本地网络,那这样不就意味着默认都是云端了吗?
作者: cyczq3    时间: 2023-9-18 19:16
zerotier  稳定性不看好
作者: MagicStarTrace    时间: 2023-9-19 16:37
部署两套HASS+Nodered不就好了?
作者: flashbj    时间: 2023-9-19 16:55
huyifanstar 发表于 2023-9-19 16:37
部署两套HASS+Nodered不就好了?

我也知道可以部署两套HA,但是frigate对主机的CPU要求挺高,满足要求的主机价格有点贵,手里没钱,所以才公用一套HA

作者: magpte    时间: 2023-10-5 18:07
谢谢教程~~~在用老方法的路过
作者: zcxaccount    时间: 2023-10-6 14:04
谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者: liguangzhe    时间: 2023-11-13 12:52
话说tailscale来组可以实现么
作者: atomysy    时间: 2023-11-13 13:27
膜拜大神!
作者: cyczq3    时间: 2024-6-10 10:40
huyifanstar 发表于 2023-9-19 16:37
部署两套HASS+Nodered不就好了?

求这个方法~~~~
作者: cyczq3    时间: 2024-6-10 10:52
添加旁路由接口出问题了
作者: cyczq3    时间: 2024-6-10 11:03
本帖最后由 cyczq3 于 2024-6-10 11:52 编辑
flashbj 发表于 2023-9-6 08:26
B站的一个博主

大佬帮忙看下



重启OP搞定了。~!~~
作者: MagicStarTrace    时间: 2024-6-11 18:28
cyczq3 发表于 2024-6-10 10:40
求这个方法~~~~

网络互通自己解决 [wireguard/headscale/zerotier 等都可以]

跨HA实例 有个插件的 remote_homeassistant

https://github.com/custom-components/remote_homeassistant
作者: cyczq3    时间: 2024-6-12 00:36
huyifanstar 发表于 2024-6-11 18:28
网络互通自己解决 [wireguard/headscale/zerotier 等都可以]

跨HA实例 有个插件的 remote_homeassistant ...

搞定了~~~
作者: cyczq3    时间: 2024-6-18 22:12
摄像头一定要设置成通过zerotier的那个网关?
作者: flashbj    时间: 2024-6-19 09:25
cyczq3 发表于 2024-6-18 22:12
摄像头一定要设置成通过zerotier的那个网关?

你openwrt如果是旁路由模式,那摄像头的网关需要改成openwrt的地址
作者: xiangboshi    时间: 2024-6-19 09:59
新手表示没看懂,这个组网,不需要公网ip访问ha是么?
作者: flashbj    时间: 2024-6-19 10:03
xiangboshi 发表于 2024-6-19 09:59
新手表示没看懂,这个组网,不需要公网ip访问ha是么?

这个组网是把不通宽带下的设备做成一个大局域网。在大局域网内不需要公网ip就可以访问设备或ha

作者: cyczq3    时间: 2024-6-19 12:52
flashbj 发表于 2024-6-19 09:25
你openwrt如果是旁路由模式,那摄像头的网关需要改成openwrt的地址

为什么我zerotier这样设置,我探头也没设置图上的这个旁路由的网关,探头也可以访问,就是不够稳定,经常断就是了。但是探头这玩意儿不想通过旁路由导致网络不稳定,因为我旁路由用了科学[attach]60493[/attach]




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5