NetAlertX
是一款网络入侵者和存在检测工具,它通过扫描连接到您网络的设备并在发现新的未知设备时发出警报来保护您的网络安全。
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 项目名称 |
---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 | LTS 24.0.7 | NetAlertX网络扫描器 |
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署NetAlertX网络扫描器。
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven01:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2025-04-20 07:26:39 UTC; 1 week 1 day ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 1063 (dockerd)
Tasks: 80
Memory: 2.2G
CPU: 5min 46.692s
CGroup: /system.slice/docker.service
├─ 1063 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
检查Docker版本
root@jeven01:~# docker -v
Docker version 24.0.7, build 24.0.7-0ubuntu2~22.04.1
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version
Docker Compose version v2.19.1
执行以下命令,拉取以下NetAlertX镜像。
root@jeven01:~# docker pull jokobsk/netalertx:25
25: Pulling from jokobsk/netalertx
f18232174bc9: Already exists
3214a9cdd72f: Pull complete
8a318d0babe7: Pull complete
fbe43fdcd7ff: Pull complete
09f197029662: Pull complete
6825ededaa86: Pull complete
fe9fcb62365f: Pull complete
Digest: sha256:e0b41d90a57b0237f81b8daa787935e68ae59ad62bb5cb7c371b420b7c78ca32
Status: Downloaded newer image for jokobsk/netalertx:25
docker.io/jokobsk/netalertx:25
mkdir -p /data/netalertx && cd /data/netalertx
docker run -d --rm --network=host \
-v local_path/config:/app/config \
-v local_path/db:/app/db \
--mount type=tmpfs,target=/app/api \
-e PUID=200 -e PGID=300 \
-e TZ=Europe/Berlin \
-e PORT=20211 \
ghcr.io/jokob-sk/netalertx:latest
本次实践使用docker compose方式部署,在部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。
vim docker-compose.yaml
version: '3.9'
services:
netalertx:
image: jokobsk/netalertx:25
container_name: netalertx
network_mode: host
environment:
- PUID=200
- PGID=300
- TZ=Asia/Shanghai
- PORT=20211
volumes:
- /data/netalertx/config:/app/config
- /data/netalertx/db:/app/db
- type: tmpfs
target: /app/api
restart: always
变量名 | 描述 | 示例值 |
---|---|---|
| Web 界面的端口号 |
|
| 应用程序用户的 UID |
|
| 应用程序用户的 GID |
|
| 设置 nginx Web 服务器监听的特定 IP 地址。可用于多子网环境下隐藏 Web 界面以保护不受信任的网络 |
|
| 显示统计信息时使用的时区。在此查找您的时区 |
|
| 默认加载的插件列表。插件无法通过 |
|
| 使用 JSON 格式覆盖默认设置( |
|
| 如果为 |
|
执行以下命令,创建NetAlertX容器。
root@jeven01:/data/netalertx# docker compose up -d
[+] Running 1/1
✔ Container netalertx Started 0.1s
检查NetAlertX容器状态状态,确保NetAlertX容器正常启动。
root@jeven01:/data/netalertx# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
netalertx jokobsk/netalertx:25 "/init" netalertx 31 seconds ago Up 31 seconds (healthy)
检查NetAlertX容器日志,确保NetAlertX服务正常运行。
docker compose logs
访问地址:http://192.168.3.88:20211,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。注意需要等待一段时间后,系统才能正常访问。
我们在settings ——Networks to scan中,添加本地网段,这里环境为192.168.3.0/24,这里端口为enp6s18(宿主机本地网卡名称),更新后,点击“add”。填写完毕后,保存配置即可。
通过本次实战,我们成功地使用 Docker 部署了 NetAlertX 网络扫描器,体验了从环境准备到服务部署的全过程。NetAlertX 强大的网络监控和设备管理功能让我们能够更有效地保护网络安全,同时其灵活的通知系统和工作流模块也极大地提升了管理效率。这次实践不仅增强了我们对 Docker 和容器化应用的理解,也为今后处理网络安全问题提供了宝贵的实践经验和技术储备。未来,我们可以进一步探索 NetAlertX 的高级功能,并尝试将其集成到现有的网络管理体系中。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。