篇三:利用OpenWrt作为旁路由,来实现远程操作

这篇呢是我使用很久的一个总结,各位看官觉得还可以的欢迎采纳,不同意见欢迎在评论区探讨~~

既然要实现远程启动,首先是解决怎样找到家里的电脑。要先确认家里的宽带是否有公网IP,如果是大内网的话,就真的无能为力~~。通常来说宽带分配的公网ip都是动态的,这里介绍如何使用DDNS来确定我们要连接的地址。

在此之前先简单介绍下我的配置吧:家里的主路由是NETGEAR R6900,刷了梅林R7000,但CPU能力实在一般,后来找了台笔记本电脑来做功能扩展,由于只有一个网口无奈做了旁路由,在上面玩的东西比较花,弄不好哪天就宕机了,所以除了网关和DNS,其他基本路由功能都还在主路由上,这样即使挂了,在主路由简单修改这两个,就不会影响全家上网。

而笔记本呢,使用的是PVE平台来管理两个子系统,一个是OpenWRT,来提供一些必要服务,DNS使用了ADGuard重定向作为dnsmasq的上游服务器。另一个就是ubuntu,像 Home Assistant 、ESPhome 、 还有就是自建的ddns(我用的是 qmcgaw/ddns-updater)、以及虚拟网。通常可在主路由、旁路由以及自建的DDNS创建一份,毕竟鸡蛋不能只放一个篮子里,服务使用国内的像花生壳、国外的noip等,来记录动态地址。这样即使出问题,还有别的备份使用。

这里拿noip来举例:

它提供了3个免费可自定义的域名,唯一麻烦的就是每个月都要确认一次。当首次打开 noip.com 的页面,注册激活后进入页面。在左侧栏 Dynamic DNS 选择第一项 No-IP Hostnames ,通过 Create Hostname 来创建域名(上图左),输入昵称、取一个看的顺眼的域名,类型要选择 DNS Host (A) (上图右),这样就完成了。可在主路由、openwrt、和我们自己搭建的DDNS提供服务(见下图)。向日葵注册方法也是大同小异,但国内的服务一般是需要个人认证。

然后是Home Assistant的对外访问,我们只要将端口对外即可,这里只讨论对外接口开放的两种方式:

一是暴露端口,但最好将原默认的端口修改下,避免被扫到:在当时创建Home Assistant时,可将默认端口号指定至另一个端口: -p 主机(宿主)端口:容器端口 例如:28123:8123。以下是旁路由将端口对外暴露的方法:

在主路由(以梅林R7000为例),点击左侧栏 外部网络,顶部选择 端口转发,在下面的 端口转发列表 添加端口转发信息。这里注意一点, 本地IP 写的是旁路由的地址(上图左)。

旁路由:(以OpenWRT为例),点击左侧栏 网络 下的 防火墙 ,顶部选择 端口转发 将主路由过来的信息转发至具体的内部IP地址和端口,注意如果外部区域 无法选择 lan,那创建后,点击右边的修改按钮去里面编辑(上图右)。不推荐,还是有被扫到端口的可能。

二就是创建虚拟网络加密通道OPEN***,主推这个,手机也有免费的客户端可供安装,且端口可以指定,灵活性很大。详细请参考 https://pve.proxmox.com/wiki/OpenVPN_in_LXC。但是这里呢还是要把端口像上面那样暴露出来,供连接。

经过以上折腾,在外也可通过动态域名加端口访问Home Assistant,那它所有的功能,像手机开机也就都能实现了。

通过这几期的分享,无论是ESPHome控制硬件方法、HA集成、以及在外如何访问设备都有了大概的了解。我会在之后陆续推出如何将小米生态、苹果生态、以及前面一篇说的,自制 根据情况进行花草灌溉、室外温湿度、光照度、鱼缸温度、室内污染监控等硬件的接入,集中管理及根据条件相互间调用的使用方法。感谢您的关注~~

马上到新年了,最后祝大家在新的一年幸福安康,万事顺意!

类似文章

发表回复