对于家庭用户,网络安全是一个热度不高也不低的话题,不像智能设备、NAS看片、Mesh路由这些刚需那样有讨论热度,以我个人来说也不是特别关注。但它又是一种「无声的隐患」。平时潜水于多个社群,这个话题大伙基本不聊,一旦提及大概率引发激烈讨论~
家庭网络也需要可视化、需要预警、需要主动安全。本期咱们就来介绍一个比较不错的项目:NetAlertX。它不是为了让你成为网络专家,而是帮助你对家庭局域网做到心中有数。(其实功能远超于此😂)
完整项目名:jokob-sk/NetAlertX
,建议通过Docker部署部署于主路由/NAS(host)。
特征介绍
NetAlertx提供了一个用户友好的解决方案来监控网络。通过实时警报,及时发现新设备、断线和重大变更,让您时刻保持领先。提供定时扫描功能,并与 80 多种通知服务(包括电子邮件和TG)无缝集成,让您随时随地掌握最新动态。通过直观的用户界面自定义功能,实现网络可视化,轻松统一多个网络。此外,还可与 Home Assistant 集成,实现高级自动化。无论您监控的是家庭网络还是办公室网络,NetAlertx都能为您提供深入的洞察和主动管理。
我们以以下场景进行列举。
陌生设备接入家庭网络
你朋友来家里蹭网、孩子的同学带着手机连接 Wi-Fi,甚至说邻居想破解......NetAlertX 会第一时间提醒你有“新设备接入”,并显示设备的 MAC、IP、供应商信息,你可以马上决定是否阻断、列入白名单,或者追踪访问行为。
智能设备“偷偷联网”行为
电视盒子、摄像头、扫地机器人,有的厂商会频繁访问国外服务器上传数据,有时甚至是在深夜?NetAlertX 可以通过开放端口检测、远程连接记录,帮你发现不正常的联网行为,并及时进行路由器限速或阻断,防止云吸血鬼霸占带宽。
NAS、打印机、电视等关键设备IP被DHCP变动
很多设备需要用固定 IP 才能被识别访问,但 DHCP 分配会随着路由器重启变化。NetAlertX 可以帮你监控 IP/MAC 的变化,一旦发现变更就立即发出告警,配合后续自动化脚本(如自动重新绑定、发通知),避免访问中断。
家庭成员设备出问题
家里设备中病毒、孩子电脑连接了未知 Wi-Fi、某台设备异常掉线……通过 NetAlertX 的设备状态实时监控,你可以清楚知道哪个设备在线/掉线、过去连接了哪些端口、近期是否变化异常,避免被动排查浪费时间。
定时盘点 + 统计网络资产
即使没有告警事件,NetAlertX 也能帮你定期导出家庭网络的「资产清单」:哪些设备、用什么网段、什么时候上线、供应商是谁,方便你对家庭网络进行管理。
部署流程
以威联通NAS为例,通过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)
tmpfs:
- /app/api # 临时文件目录,放在内存中(加快访问速度,重启即清空)
更多配置请查阅官方文档。
打开Container Station,创建新的应用程序。
使用展示
只说点关键性东西,其他还请各位到项目说明自行查看,因为内容实在是太多了!!!使用手册可借助网页翻译,问题不大。
等待初始化完毕,在浏览器(谷歌或火狐)输入NAS_IP:20211即可访问服务。
初次进入,将语言调整为中文。如下图所示。左侧栏点击「Settings」,接着拉到UI部分,选择中文并保存即可。
汉化基本差不多了,有个别项目还是英文,不过也不影响。
接着还是在设置中,添加子网(每个人各不相同),上面的框中输入192.168.200.0/24 --interface=eth0
并点击「增加」,然后点击底部的「保存」。
关于网络接口「eth0」可输入以下命令查看:
ip -o link show | awk -F': ' '!/lo|vir|docker/ {print $2}'
接着上面,输入子网并保存完毕后,便可回到设备界面查看设备。
接着让一台新的Mac接入网络再下线,都会发出通知。
总结
NetAlertX 不是入侵检测系统(IDS),也不是深度防火墙,它做的事情很简单:记录、提示、分析、告警。在这个路由器越来越强、NAS 功能越来越多、智能设备充斥每个家庭的时代,咱们也得主动些,对吧~NetAlertX无疑是个好帮手。
项目目前的汉化进度为91%,有能力的朋友可以参与下。
感谢观看,本文完。
评论区