Docker部署NetAlertX:家庭网络监控哨兵完整指南
对于家庭用户而言,网络安全是一个看似低调却不容忽视的领域。它不像智能设备、NAS影音或Mesh路由那样经常成为热门话题,个人关注度可能也有限,但这种隐患往往在无声中累积。在多个技术社群中,此话题通常少有讨论,可一旦被提及,便极易引发深入而激烈的交流。
家庭网络同样需要可视化呈现、实时预警和主动安全防护。本文将介绍一个颇为出色的开源项目:NetAlertX。它的核心目标并非将用户培养成网络专家,而是帮助您全面掌握家庭局域网的动态,做到一目了然。(实际上,其功能远不止于此😊)


项目的完整名称为 jokob-sk/NetAlertX,推荐通过 Docker 方式部署在您的主路由或 NAS 主机上。

核心功能与场景应用
NetAlertX 提供了一套用户友好的网络监控解决方案。它通过实时警报,帮助您及时发现新设备接入、网络断线以及重要变更,让您始终掌握先机。工具支持定时扫描功能,并能与超过80种通知服务(包括电子邮件和Telegram等)无缝集成,确保您随时随地获取最新动态。借助直观的用户界面,您可以自定义视图以实现网络可视化,并轻松管理多个网络。此外,它还能与 Home Assistant 集成,开启高级自动化可能性。无论是家庭网络还是办公网络,NetAlertX 都能为您提供深度洞察和主动管理能力。
以下将通过具体场景阐述其应用价值。
1️⃣ 陌生设备接入家庭网络
当朋友来访连接Wi-Fi、孩子的同学使用手机接入网络,甚至存在邻居尝试破解的情况时,NetAlertX 能够立即发出“新设备接入”警报。它会清晰显示该设备的 MAC 地址、IP 地址以及供应商信息,让您可以迅速做出决策:选择阻断连接、将其加入白名单,或持续追踪其访问行为。
2️⃣ 智能设备异常后台连接行为
家中的电视盒子、智能摄像头、扫地机器人等设备,部分厂商可能会频繁连接境外服务器上传数据,有时甚至在深夜进行此类操作。NetAlertX 能够通过检测开放端口、记录远程连接日志,帮助您发现这些不正常的联网活动。您可以及时通过路由器进行限速或阻断,有效防止“云吸血”行为占用宝贵带宽。
3️⃣ 关键设备因DHCP导致IP地址变动
诸如 NAS、网络打印机、智能电视等设备,往往需要固定 IP 地址以确保稳定访问。然而,DHCP 分配可能会因路由器重启而发生改变。NetAlertX 可以持续监控 IP 地址与 MAC 地址的绑定关系,一旦检测到变更便会立即发出告警。结合后续自动化脚本(例如自动重新绑定 IP 或发送通知),能够有效避免服务访问中断。
4️⃣ 家庭成员设备出现安全或连接问题
当家庭网络中的设备感染病毒、孩子的电脑连接了未知的 Wi-Fi 热点,或是某台设备异常离线时,通过 NetAlertX 的实时设备状态监控,您可以清晰了解每台设备的在线/离线状态、历史连接端口记录以及近期是否有异常变化。这大大减少了被动排查所消耗的时间与精力。
5️⃣ 定期资产盘点与网络统计
即便没有触发任何告警事件,NetAlertX 也能协助您定期导出家庭网络的“资产清单”。这份清单详细记录了网络中的设备信息、所使用的网段、上线时间以及设备供应商,为您的家庭网络管理和规划提供了极大便利。
详细部署步骤:以威联通NAS为例
我们以威联通(QNAP)NAS 为例,演示通过 Docker Compose 部署 NetAlertX 的完整流程。
部署所使用的 Docker Compose 配置代码如下:
version: '3.8' # 若使用最新版docker compose,可删除此行
services:
netalertx:
image: ghcr.io/jokob-sk/netalertx:latest
container_name: netalertx # 容器名称,便于管理
network_mode: host # 使用 host 网络模式,确保能扫描到局域网所有设备
restart: always
environment:
- PUID=1000 # 宿主机用户 UID(可通过 id 命令查看),建议非root用户
- PGID=100 # 宿主机用户 GID(可通过 id 命令查看),建议非root用户
- TZ=Asia/Shanghai # 设置时区
- PORT=20211 # Web UI 监听端口,默认为 20211
volumes:
- /share/Container/netalertx/config:/app/config # 配置文件存储路径,内含 app.conf 和 devices.csv
- /share/Container/netalertx/db:/app/db # 数据库文件(app.db)存储路径
# 以下挂载卷为可选配置
- /share/Container/netalertx/app/log:/app/log
- /share/Container/netalertx/app/api:/app/api
更多高级配置选项,建议查阅项目的官方文档以获取详细信息。

打开威联通 NAS 的 Container Station 应用,创建一个新的应用程序。

实战操作与界面展示
此处将重点介绍关键设置步骤,其他丰富功能强烈建议您自行探索项目文档。内容虽多,但借助浏览器网页翻译功能,理解起来并无太大障碍。

等待容器初始化完成后,在浏览器(推荐 Chrome 或 Firefox)地址栏输入 您的NAS_IP:20211 即可访问 NetAlertX 的 Web 管理界面。
首次进入时,建议先将界面语言调整为中文。操作如下:点击左侧导航栏的「Settings」,然后滚动到「UI」部分,在语言选项中选择中文(Chinese)并保存设置。

汉化程度已经相当高,仅有个别条目仍显示英文,但这完全不影响正常使用。

接下来,仍在设置页面中,需要添加您要监控的子网(此处的网段因人而异)。在上方的输入框中,按格式填入您的子网信息,例如 192.168.200.0/24 --interface=eth0,然后点击「增加」按钮,最后务必点击页面底部的「保存」以使配置生效。

关于网络接口名称「eth0」,您可以通过在 NAS 的终端中执行以下命令来查看确认:
ip -o link show | awk -F': ' '!/lo|vir|docker/ {print $2}'

如上所述,正确输入子网并保存配置后,即可返回主界面的「Devices」选项卡查看当前已识别的网络设备。

此时,若让一台新的 Mac 设备接入网络然后再断开,系统都会相应地生成并显示通知。



总结与展望
NetAlertX 并非一个入侵检测系统(IDS),也非深度防火墙,它的核心功能聚焦于:记录网络活动、提供状态提示、分析设备行为以及发送实时告警。在当前路由器性能日益强大、NAS 功能不断扩展、智能设备遍布家庭的背景下,采取主动的网络监控措施显得尤为重要。NetAlertX 无疑是实现这一目标的得力助手。
目前,该项目的界面汉化进度已达到约91%,欢迎有余力且感兴趣的朋友参与翻译贡献,共同完善。