0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

看门狗:利用树莓派网关智能启动基础设施!

上海晶珩电子科技有限公司 2025-06-10 17:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

5c0f37b6-45dd-11f0-986f-92fbcf53809c.png

用于自托管的容器化网关: 安全且本地化的 DNS、动态反向代理以及 Proxmox 电源编排功能。

引言

保持自托管基础架构24×7全天候运行可能非常昂贵,尤其是当它大部分时间处于闲置状态,毫无目的地消耗电力时。这是看门狗的起点,看门狗是一个最小的、高能效的树莓派设置,充当本地网络的哨兵,仅在需要时才启动Proxmox等关键基础设施。

但它的功能远不止于此。

其目标并非让用户记住 IP 地址和端口号,或与局域网唤醒(Wake-on-LAN)数据包较劲,而是打造无缝的用户体验:接入局域网,通过人类可读的域名访问服务,其余工作由网关安全且透明地处理。

动机

核心想法源于一个简单需求:在不使用 Proxmox 时使其断电以节省能源,但在需要时能够可靠地按需唤醒,同时无需向每个用户暴露局域网唤醒的复杂细节。

树莓派 3B+ 具有超低功耗和可靠的 24×7 运行时间,非常适合作为持久节点。它将充当访问网关、DNS 解析器、反向代理,最重要的是,成为决定其他基础设施何时需要唤醒的“看门狗”。

架构概述

硬件:树莓派 3B+

容器化:Docker + Docker Compose

网络接口:通过 OpenResty(Nginx + Lua)实现条件性反向代理,通过 Pi-hole 实现 DNS 路由

5c238e6e-45dd-11f0-986f-92fbcf53809c.png


图中箭头代表数据流量

关键组件和工作流程

1.使用 Pi-hole 进行 DNS 路由

Pi-hole 作为网络的本地 DNS 解析器。用户无需记住原始 IP 地址和端口号,只需访问 openwebui.com、photoprism.lan 等域名即可。它还能在整个网络范围内屏蔽广告和遥测数据,提升隐私性和性能。

2.使用 OpenResty 进行条件性反向代理

这里体现了智能之处。OpenResty(一款捆绑了 Lua 的高性能 Nginx 发行版)充当可编程反向代理。每当有对 Proxmox 托管服务的请求时:

网关会检查 Proxmox 节点是否在线。

如果节点离线,用户将被重定向到“守门人(Gatekeeper)”,这是一个基于 Streamlit 的应用程序,提供局域网唤醒控制功能。

请求会被保留,直到节点启动且服务可访问。

一旦就绪,请求将被透明转发。

这为终端用户抽象了启动过程,他们只需“点击即用”。

3.Proxmox 电源编排

Proxmox的API目前用于手动发出关机命令。在未来的迭代中,这将通过监控节点活动并在系统长时间处于空闲状态时启动关闭来实现自动化。局域网唤醒已经通过运行在树莓派上的Dockerized脚本进行了本机处理。

4.安全考虑

仅局域网访问:所有服务仅在内部网络中可访问。

无公开端口:无需端口转发或将 Proxmox 暴露到互联网。

角色分离:除了通过 API 或局域网唤醒进行电源编排外,“看门狗”从不直接接触 Proxmox 核心堆栈。

5.优势

节能:仅在实际需要时才启动 Proxmox。

安全至上:无服务公开暴露。所有流量均为内部或通过隧道传输。

用户友好:无需记忆 IP 地址,局域网唤醒由简单的 Web 应用程序处理。服务名称人类可读。

配置简单:一次性设置脚本。易于适配。

6.未来增强功能

基于闲置检测自动关闭 Proxmox。

集成 Grafana + Loki 以监控“看门狗”的运行时间和行为。

提供经过身份验证的服务发现和电源控制的 Web 仪表板。

探索该项目,将其适配到您的设置中,或在github中贡献您的力量。

https://github.com/ninja-con-gafas/watchdog

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 看门狗
    +关注

    关注

    10

    文章

    611

    浏览量

    73199
  • 网关
    +关注

    关注

    9

    文章

    6945

    浏览量

    56565
  • 树莓派
    +关注

    关注

    122

    文章

    2082

    浏览量

    110767
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    STM32中的独立看门狗和窗口看门狗是什么

    在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门狗发展到今天基本上分为两大类:独立看门狗
    的头像 发表于 02-20 17:47 4791次阅读
    STM32中的独立<b class='flag-5'>看门狗</b>和窗口<b class='flag-5'>看门狗</b>是什么

    MCU独立看门狗和窗口看门狗的区别

    早期的MCU没有看门狗,就容易引起有些产品死机了不能重启工作。为了避免这个问题,后期的MCU在内部集成了看门狗的功能。
    发表于 03-03 09:18 1535次阅读

    利用看门狗改善系统可靠性

    利用看门狗改善系统可靠性
    发表于 04-27 10:34 22次下载
    <b class='flag-5'>利用</b><b class='flag-5'>看门狗</b>改善系统可靠性

    什么是看门狗电路

    看门狗电路 看门狗电路一般有软件看门狗和硬件看门狗两种。软件看门狗不需外接硬件电路,但系统需要出让一个定时器资源,这在许多系统中很
    发表于 10-21 01:40 8815次阅读

    利用看门狗提高系统可靠性

    看门狗是一个计数器,它需要在一定的看门狗延时周期内被清零,如果没有清零动作,看门狗电路将产生一个复位信号使系统重新启动或建立一个非屏蔽终端、执行故障恢复子程序。
    发表于 03-07 16:03 35次下载
    <b class='flag-5'>利用</b><b class='flag-5'>看门狗</b>提高系统可靠性

    stm32看门狗时间计算 独立看门狗和窗口看门狗的特性是什么

    本文为您讲解STM看门狗时间计算(时限)与频率计算,独立看门狗和窗口看门狗的特性、区别与联系。
    发表于 10-10 10:41 9429次阅读

    看门狗喂狗时间及程序

    ,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。 看门狗分硬件看门狗和 软件看门
    发表于 10-16 09:19 1.9w次阅读

    什么是stm32看门狗?独立看门狗和窗口看门狗工作原理解析

    stm32有两个看门狗,独立看门狗和窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。 独立看门狗
    的头像 发表于 11-06 11:48 2.9w次阅读
    什么是stm32<b class='flag-5'>看门狗</b>?独立<b class='flag-5'>看门狗</b>和窗口<b class='flag-5'>看门狗</b>工作原理解析

    STM32看门狗配置(独立看门狗IWDG和窗口看门狗WWDG)

    stm32自带两个看门狗模块,独立看门狗IWDG和窗口看门狗WWDG。看门狗主要作用是可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型
    发表于 11-09 17:17 8898次阅读
    STM32<b class='flag-5'>看门狗</b>配置(独立<b class='flag-5'>看门狗</b>IWDG和窗口<b class='flag-5'>看门狗</b>WWDG)

    软件看门狗和硬件看门狗的作用和区别

    。  工作原理:在系统运行以后也就启动看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而
    的头像 发表于 10-15 17:29 4.1w次阅读

    MCU独立看门狗与窗口看门狗的区别

    早期的MCU没有看门狗,就容易引起有些产品死机了不能重启工作。为了避免这个问题,后期的MCU在内部集成了看门狗的功能。为了满足更多使用场景,现在很多MCU都集成了两个看门狗:独立看门狗
    发表于 10-28 20:06 8次下载
    MCU独立<b class='flag-5'>看门狗</b>与窗口<b class='flag-5'>看门狗</b>的区别

    STM32:独立看门狗、窗口看门狗的配置

    STM32单片机的看门狗有独立看门狗和窗口看门狗之分,这两者的工作原理却完全不同。
    发表于 02-08 16:15 18次下载
    STM32:独立<b class='flag-5'>看门狗</b>、窗口<b class='flag-5'>看门狗</b>的配置

    STM32中的独立看门狗和窗口看门狗

    一、前言 在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门狗发展到今天基本上分为两大类:独立
    的头像 发表于 12-22 16:58 3364次阅读

    STM32中的独立看门狗和窗口看门狗

    在早期的MCU中是没有看门狗这种东西的,所以产品就很容易出现死机,跑飞的情况。为了避免这种情况的出现,后期的MCU都集成了看门狗的功能。但是目前看门狗发展到今天基本上分为两大类:独立看门狗
    的头像 发表于 01-30 14:38 2725次阅读
    STM32中的独立<b class='flag-5'>看门狗</b>和窗口<b class='flag-5'>看门狗</b>

    什么是看门狗,工业路由器看门狗技术的功能优势

    工业路由器大多都会配备看门狗技术,它是保证工业路由器传输过程中连续24小时不宕机的重要保护技术,那么,什么是看门狗呢?▍看门狗功能看门狗,又叫watchdog,从本质上来说就是一个定时
    的头像 发表于 03-27 10:16 3521次阅读
    什么是<b class='flag-5'>看门狗</b>,工业路由器<b class='flag-5'>看门狗</b>技术的功能优势