技术详解(Technical Deep Dive)
本页记录 NetAccel WiFi Edition 的系统结构、关键设计、工程路径与可复现逻辑。
1. 架构概览
┌───────────────────────────────────────────┐
│ NetAccel │
│ (WiFi Edition / H618) │
└───────────────────────────────────────────┘
│
┌────────┴────────┐
│ │
┌────────▼────────┐ ┌──────▼────────┐
│ System Layer │ │ Network Layer │
│ (DTB + Kernel) │ │ (AP + Bridge) │
└─────────────────┘ └───────────────┘
│ │
┌────────▼────────┐ ┌──────▼─────────────┐
│ Security Layer │ │ Visibility Layer │
│ (LUKS + Keys) │ │ (Beacon / Rendezvous) │
└─────────────────┘ └─────────────────────┘
整个系统由四个主层构成:系统层、网络层、安全层、可视层,每层都保持最小依赖、不额外引入不必要服务。
2. DTB 裁剪(Device Tree)
为了获得可控、可解释的系统,NetAccel 在 DTB 层关闭大量不使用的硬件节点:
- Bluetooth(蓝牙 UART / LPM / 电源调度)
- Audio(codec, codec_mach, codec_plat)
- Camera / CSI(暂不启用)
裁剪的基本原则:
- 使系统只包含“正在使用”的硬件路径
- 减少内核加载模块数量
- 降低冷启动噪声与不确定性
- 避免后台任务唤醒
DTB 裁剪后配合 initramfs 更新,实现无蓝牙 / 无音频 / 无冗余接口的纯净系统。
3. 内核模块与系统服务精简
所有与蓝牙相关的模块均已 blacklist:
blacklist bluetooth
blacklist btusb
blacklist aic_btusb
对应 systemd 服务:
- bluetooth.service → masked
- modprobe@.service → 不载入上述模块
其结果:
- 冷启动信息更少、日志稳定
- 无额外守护进程进驻内存
- CPU 空闲更高
- 系统完全静默
4. 网络结构(AP + Bridge)
NetAccel 的网络逻辑严格保持“透明、确定、可预测”。核心组件:
- wlan0(AP 模式,由 hostapd 驱动)
- eth0(上行链路)
- br0(桥接接口,由 systemd-networkd 构建)
架构如下:
client device
│ WiFi (hostapd)
▼
wlan0 ──────────┐
│ bridge (br0)
eth0 ───────────┘
▼
upstream router
DNS/DHCP 由内网路由器主导,NetAccel 不承担分配职责,仅提供最小必要服务:
- dnsmasq(仅用于热点自身解析,不提供 DHCP)
- port=0,避免抢占 53 端口
5. nftables(最小化 + 确定性规则)
nftables 提供:
- 基本防火墙
- 桥接/转发控制
- 避免广播风暴
- 控制 beacon 流量
整个规则集保持 100% 可读、可验证,没有自动生成部分。
6. 安全层(LUKS + 密钥派生)
NetAccel 的根文件系统(rootfs)使用 LUKS 加密。加密密钥来自三个部分:
- H618 芯片 SID(硬件唯一)
- TF 卡序列号(介质唯一)
- Lab Key(64-bit 实验室密钥)
派生方式决定:
- 复制 TF 卡无法得到可解密系统
- 固件泄露也无法解密 rootfs
- initramfs 首次启动时动态生成密钥
这是为“小型设备的工程 IP 防护”设计的一种轻量级、硬件绑定方案。
7. 可视层(Beacon / Rendezvous)
NetAccel 的可视化层并非管理层,仅提供只读的、轻量的、可断点的状态查询。
- 设备定期发送 UDP 或 HTTP beacon
- 服务器仅记录最后一次心跳
- 用户扫描二维码即可查看状态
- 无远程指令、无后台控制
Beacon 包含:
- 序列号
- 当前 IP 地址
- 当前子网(24-bit)
- 运行模式
- 版本号
可视而不介入,是 NetAccel 保持“安静自治”的关键。
8. 工程原则(Engineering Principles)
- 可重现(Reproducible)
- 可解释(Explainable)
- 可验证(Verifiable)
- 无隐藏状态(No Hidden State)
- 无后台控制(No Remote Command)
- 无数据上传(No Telemetry)
所有 NetAccel 的决定,都围绕这六点展开。
结语
NetAccel 的技术结构并不复杂,但每一层都经过推敲,旨在为学习、研究与工程实践提供一个可控、可理解的基础。