B0bTheSkull/pihole-lab

GitHub: B0bTheSkull/pihole-lab

在树莓派上部署 Pi-hole + unbound 的同时,构建了一套 DNS 层检测工具和完整的监控体系,用于家庭网络的流量分析与安全审计。

Stars: 0 | Forks: 0

# pihole-lab 在树莓派 5 上部署网络级 DNS 沉洞,并分析当你不注意时,你的家庭网络*实际上*在做什么。 ## 项目简介 这是一个关于将 [Pi-hole](https://pi-hole.net/) 部署为家庭网络权威 DNS 解析器的文档,同时结合 [unbound](https://nlnetlabs.nl/projects/unbound/) 进行递归解析,从而避免对单一上游提供商的依赖。 这不是一篇简单的“我点击了安装”的记录。它包含: - 将 DNS 层过滤部署在网络中所有设备前方的**架构推理** - 包含具体配置和每一步验证的**部署过程** - 对部署前后的网络状态进行**流量分析**——哪些 IoT 设备在与外部通信、频率如何,以及通信目标 - 对解析器本身的**安全加固**,使其免于成为单点故障或被攻破的突破口 ## 硬件 | 组件 | 详情 | |---|---| | 主板 | Raspberry Pi 5 (8GB) | | 存储 | 117GB SSD,通过 USB 连接 | | 操作系统 | Debian 12 (Bookworm), arm64 | | 网络 | 以太网,LAN 静态租约 | ## 仓库结构 ``` pihole-lab/ ├── README.md # this file ├── writeup.md # the blog post ├── docs/ │ ├── 00-overview.md # what Pi-hole is and why network-level DNS filtering matters │ ├── 01-architecture.md # how the request path actually works │ ├── 02-deployment.md # step-by-step build with verification │ ├── 03-analysis.md # reading the dashboard, finding the noisy devices │ └── 04-hardening.md # locking down the resolver itself ├── configs/ # exported Pi-hole + unbound config ├── screenshots/ # captures referenced in docs ├── tools/ # detection tooling built on top of Pi-hole │ ├── doh_dot_detector/ # block + detect DoH/DoT bypass attempts │ ├── canary/ # internal honey-domains + watcher │ ├── dga_detector/ # entropy/bigram triage of suspicious domains │ ├── device_profile/ # per-client DNS report generator │ └── suricata_correlation/ # join Suricata flows with Pi-hole answers └── monitoring/ # observability stack ├── docker-compose.yml # Prometheus + Grafana + pihole-exporter ├── prometheus.yml ├── grafana/ # auto-provisioned dashboard └── loki/ # log shipping (Loki + promtail) ``` ## 构建的检测工具 这不仅仅是“我安装了 Pi-hole”。`tools/` 目录中增加了一个小型检测工具库,将解析器转变为被动传感器: | 工具 | 检测目标 | |---|---| | **DoH/DoT 检测器** | 尝试通过加密 DNS 绕过解析器的设备 | | **Canary 域名** | 内部侦察、配置错误的主机、浏览器历史记录泄露 | | **DGA 检测器** | 算法生成的 C2 域名(基于熵 + 二元语组筛选) | | **设备分析** | “我的局域网中哪个设备网络活动最频繁,为什么?” | | **Suricata 关联器** | 连接到客户端从未解析过的 IP 的流量(硬编码回调、隧道) | 每个工具都是一个单独的 Python 脚本加一个 README;没有繁重的依赖项,可以在树莓派或任何对 `pihole-FTL.db` 有读取权限的主机上运行。 ## 展示技能 - DNS 协议基础(递归、缓存、DNSSEC) - Linux 服务部署与 systemd unit 安全加固 - DNS 层面的网络流量分析 - 对自托管基础设施的威胁建模 - 适合非专业读者阅读的文档编写 ## 项目状态 构建于 2026 年 4 月。目前为活跃部署状态。
标签:AMSI绕过, API集成, Debian, DGA检测, DNS下沉, DNS安全, DNS层检测, DNS解析器, DNS过滤, DoH/DoT检测, Grafana, IoT安全, Loki, Metaprompt, Mr. Robot, Pi-hole, Raspberry Pi, Suricata, Unbound, 内存执行, 可观测性, 告警关联, 威胁检测, 家庭实验室, 开源安全工具, 教程与文档, 旁路检测, 树莓派5, 现代安全运营, 网络安全, 网络安全监控, 网络流量分析, 自定义请求头, 蜜罐技术, 设备画像, 请求拦截, 逆向工具, 逆向工程平台, 递归DNS, 配置加固, 金丝雀域名, 防御架构, 隐私保护, 驱动开发