尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Scanopy 分布式扫描指南:如何用多网段自动发现搭建不褪色的网络拓扑图

Scanopy 分布式扫描指南:如何用多网段自动发现搭建不褪色的网络拓扑图 Scanopy 分布式扫描指南如何用多网段自动发现搭建不褪色的网络拓扑图【免费下载链接】scanopyNetwork diagrams that update themselves项目地址: https://gitcode.com/gh_mirrors/ne/scanopyScanopy是一个开源的自更新网络拓扑图工具只需部署扫描守护进程daemon它就会定期扫描你的内网自动把主机、子网、服务画成 L2 物理视图、L3 逻辑视图、工作负载视图和应用依赖视图四张图。对于跨 VLAN、跨站点、跨机房的多网段环境Scanopy 提供了分布式扫描能力——在每个网段旁放一个轻量扫描节点中心服务器统一汇总拓扑图始终反映真实运行状态告别手工画图。为什么需要分布式扫描手工画的 draw.io 网络图存下来的那一周就开始过期。而多网段环境还有两个更现实的痛点边界网段扫不到防火墙后、DMZ、隔离 VLAN 里的设备中心扫描机往往触达不到广播域隔离ARP/广播发现无法跨越路由器单一扫描点天然看不到其他子网Scanopy 的解法是一个扫描器多个网段每个网段内部署一个扫描守护进程由中心服务器统一下发扫描任务、汇总结果。相关能力在 README 中概括为Distributed scanning: Deploy daemons across segments to map multi-site and multi-VLAN topologies.最终产出就是下面这样的四视图全部来自真实扫描数据分布式扫描架构Daemon 与 Server 如何协作Scanopy 由两部分组成组件职责源码位置Server中心服务器存储模型、调度扫描、多用户管理backend/src/server/Daemon扫描守护进程部署在各网段内执行 ARP/DNS/端口/SNMP 扫描backend/src/daemon/一次完整的分布式扫描流程服务器为每次扫描创建会话session并绑定到指定 daemon见 dispatch.rsdaemon 收到任务后用本地凭证执行统一发现unified discovery逐子网做 ARP 广播、DNS 反查与端口探测arp/broadcast.rs扫描结果持续上报服务器实时展示进度结束时生成历史扫描记录historical discovery拓扑图随之刷新关键设计daemon 同一时间只跑一个扫描会话多余任务排队Queued → Pending → Started → Scanning → Complete保证多网段任务有序执行源码见 manager.rs。最快部署步骤一键创建并安装 Daemon️ 在 UI 的 Daemon 页面点创建 Daemon即可走通整个流程向导分为三步配置 → 安装 → 排障清单Configure 步给 daemon 命名、选择所属网络、选择连接模式见 ConfigureStep.svelteInstall 步直接生成一条可复制的安装命令支持 Linux/macOS/Windows/FreeBSD执行后 daemon 自动注册InstallStep.svelteTroubleshooting 步连接失败时对照排障清单逐条检查网络与防火墙TroubleshootingChecklist.svelte安装脚本会同时把 daemon 注册为系统服务保证开机自启服务文件可直接参考仓库根目录的 scanopy-daemon.service。两种连接模式怎么选Scanopy 的 daemon 支持两种通信模式定义于 base.rs模式连接方向适用场景DaemonPoll默认daemon 主动连服务器跨 NAT、防火墙友好远程站点首选ServerPoll服务器主动连 daemon网段内禁止出站连接的 DMZ 部署经验法则远程站点用默认 DaemonPoll 即可只有当网段安全策略禁止出站时才改选 ServerPoll 并提供可达 URL。安全绑定每个 Daemon 一把专属密钥创建 daemon 时服务器会为其铸造一个一对一绑定的 API Key明文只在创建时展示一次重新签发时旧密钥立即失效实现见 provisioning.rs。这意味着任何泄露的扫描节点都可以单独吊销而不影响其他网段的 daemon。多网段管理实践按子网划分扫描范围为不同网段配置独立发现任务在 Discovery 页面可以为每个 daemon 配置独立的扫描任务任务可指定扫描哪些子网subnet——多网段的核心配置SNMP 凭证——自动读取交换机/路由器的 LLDP 链路信息画准 L2 图主机命名回退策略DNS 名、主机名、MAC 序列号扫描设置与凭证映射在下发时一并打包给 daemon见 scan_settings.rs因此每个网段可以拥有完全不同的扫描强度与凭证互不干扰。让 L2 拓扑真正自动SNMP 与集成发现仅靠端口扫描只能得到 L3 视图要画出交换机端口级的 L2 拓扑需要给 daemon 配置 SNMP 凭证。Scanopy 内置了 SNMP 发现引擎snmp/支持 OID 查询、链路聚合与设备映射。此外还集成了Docker / Podman在宿主机上直接发现容器内服务container/scanner.rsUniFi Controller直接拉取 UniFi 网络的全部设备与拓扑unifi/配置完成后的效果VLAN 20 服务器网段里的每台 Proxmox、Docker 宿主机、HAProxy 与上游交换机之间的链路都自动标注带宽与 MAC见上文 L2 视图截图。定时重扫轻扫与全扫自动交替多网段场景下全量端口扫描代价不低Scanopy 内置了扫描间隔策略按full_scan_interval设定每隔 N 次执行一次全端口扫描其余时候做轻量扫描判定逻辑见 dispatch.rs。默认发现任务还会按每周日午夜定时执行。效果是网络拓扑在基础设施变化后自动更新而扫描开销保持温和。每次扫描完成还会生成变更摘要告诉你哪个网段新增/下线了哪些主机和服务。多 Daemon 协同排队、监控与待机任务队列如何工作当多个网段的扫描同时被触发时服务器为每个 daemon 维护独立队列新任务先入队Queued轮到它时提升为 Pending 并下发上一个会话结束后自动提升队列中的下一个任务队列推进逻辑见 dispatch.rs。你可以放心把扫描全部网段排进队列而不必担心互相踩踏。监控与待机机制中心服务器持续监控每个 daemon 的健康心跳轮询默认每 30 秒轮询一次最多 10 个 daemon 并发轮询mod.rs不可达熔断连续 5 次失败后标记 daemon 为 unreachable并可通过 API 重试连接待机保护30 天没有执行过发现的 daemon 进入 standby 状态避免遗留节点长期占用资源重启或手动唤醒后有 30 天宽限期 这些机制让 MSP 或大团队可以管理成百上千个分布在不同客户/站点的扫描节点而不必逐一人工盯守。实践清单从零搭起多网段 Scanopy✅ 用 Docker Compose 启动中心服务器docker-compose.yml访问http://服务器IP:60072创建账号✅ 在中心网段能直接到达多数设备的位置部署第一个 daemon等待首次发现完成✅ 为每个隔离网段/站点重复部署 daemon按需选择 DaemonPoll 或 ServerPoll✅ 为各网段配置子网、SNMP 凭证与 Docker 集成建立各自的扫描任务✅ 设置定时重扫与全扫间隔让四视图随时间自动保鲜✅ 定期查看 daemon 健康状态处理 unreachable/standby 告警常见问题FAQQ一个网段需要多个 daemon 吗一般一个广播域一个 daemon 足够。同网段部署多个时任务会排队串行执行不会并行冲突。Qdaemon 可以离线自管吗不行daemon 只负责扫描执行数据与权限都归属中心服务器密钥泄露可单独吊销。Q扫描结果如何保鲜依赖定时重扫 全/轻扫交替每个扫描会话都会留下历史记录可在 UI 中回溯任意一次扫描的完整结果。总结Scanopy 的分布式扫描把多网段、多站点的网络文档从一次性工程变成了持续运行的流程daemon 深入每个网段服务器统一调度与汇总L2/L3/工作负载/应用四张视图自动保持最新。无论是跨 VLAN 的企业内网还是跨机房的分布式部署这套一个扫描器、多个网段的架构都能让网络拓扑图永远停留在当前状态。【免费下载链接】scanopyNetwork diagrams that update themselves项目地址: https://gitcode.com/gh_mirrors/ne/scanopy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表