网络架构 · Workhorse Tech Stack

本节说明 NetAccel Wi-Fi + Bridge Edition 在典型家庭/办公室场景中的数据路径。 目标是:让网络管理员或工程师可以一眼看出流量如何在设备内部流动,以及每个组件的职责。


1. 物理与二层结构:统一桥接 br0

NetAccel 采用统一桥接:

br0 = eth0 + wlan-ap0

NetAccel 自身不会替代原有路由器,而是作为一个“干净的透明桥接节点”插入局域网拓扑。

2. DNS / 路由工作流总览

当前版本采用如下 DNS 管线:

综上,客户端的 DNS 请求最终走向 Unbound / Clash,再由 Clash 决定是否直连或经代理。

2.1 Workhorse Tech 核心路径(Mermaid)

下图以 Mermaid 表示 NetAccel 的核心工作路径:


flowchart LR
    subgraph LAN["局域网客户端"]
      A[手机 / 电脑
Client Devices] end A -->|IP & DNS via DHCP| B[br0
(eth0 + wlan-ap0)] subgraph NETACCEL["NetAccel 设备"] B --> C[dnsmasq :5353
DHCP + 局部 DNS] C --> D[Pi-hole (Web UI + Lists)] D --> E[Unbound :5335
Recursive DNS] E --> F[Clash DNS :7874
Policy Engine] B --> G[Clash TProxy / Redir
TCP/UDP 流量] end F -->|根据规则| H[[直连 / 代理]] G --> H H --> I[(上游路由器 / 光猫)] I --> J[(Internet)]

实际部署中,Clash 的具体规则集(直连域名 / 代理域名 / GeoIP 等)可根据不同国家和使用场景单独定制。


3. Bridge Monitor 与 Beacon / Liaison

NetAccel 内置守护脚本 netaccel-bridge-monitor.sh,负责:

Liaison 站负责接收来自设备的心跳信息(UDP 34448),并通过 HTTPS 仪表板展示设备状态, 如:最后一次上报时间、当前子网、设备唯一 ID 等。

3.1 Beacon / Liaison 数据流(Mermaid)


sequenceDiagram
    participant Dev as NetAccel 设备
    participant Mon as Bridge Monitor
netaccel-bridge-monitor.sh participant Lia as Liaison 站 (device.netaccel.top) participant Dash as 仪表板 / Dashboard Dev->>Mon: 检测到 br0 IP/子网 变化 Mon->>Mon: 更新 dnsmasq / Clash 配置 Mon->>Lia: 发送 UDP Beacon (端口 34448)
包含唯一 ID + 子网 + 时间戳 Lia->>Dash: 刷新该设备的最新状态记录 Dash->>User: 在 Web 仪表板中显示“在线 / 离线 / 最近心跳”等信息

当前版本的 OTP 已统一为固定值 2458,仅作为简化验证字段使用。 真正的设备唯一性由早期启动阶段的 netaccel-unique-id 服务和加密容器共同保证。


4. 未来扩展位

基于该架构,未来可以在不改变“桥接 + 私有 DNS + 策略路由”这一核心前提下,拓展:

对部署者来说,只要理解本节的 Workhorse Tech 栈,就可以对 NetAccel 的行为做到“心中有底”。