iStoreOS / OpenWrt 通过 IPK 安装 eBPF 代理工具 daed

在如今的软路由生态中,基于基于 eBPF(Extended Berkeley Packet Filter)技术的 daed(基于 dae 的 Web 可视化版本)受到越来越多玩家的追捧。然而,由于 DAED 依赖较新的内核特性(BTF 支持)以及特定的路由数据库,许多人在手动安装或执行一键脚本时,经常会遇到各类报错(如依赖缺失、架构不兼容等)。

今天,本文将为你提供一份真正能跑通的 DAED 安装指南,帮你扫清所有盲区。


关于 dae / daed

  • dae —— 基于 eBPF 的高扩展性透明代理内核。流量在内核态直接分流,直连流量几乎零开销,是目前软路由主力代理的极佳选择。
  • daed —— dae 的「带 Web 面板」发行版(包含 daed app + dae-wing + dae 核心),开箱即用,支持图形化管理。

目前市面上常见的安装方式有通过 @bcseputetto 或悟空大佬 @wkccd 打包好的 .run 自解压文件安装。而今天,我们将采用更符合 OpenWrt 原生习惯的方式——通过手动安装 IPK 软件包 来部署。

本教程选用的组件为:@kenzok8/openwrt-daedeluci-app-daede(其优点在于可以使用同一套 UCI 配置同时管理 dae 和 daed)。


安装前的环境检查

1. 架构确认

DAED 区分硬件架构。在 OpenWrt 终端(SSH)中运行以下命令确认:

uname -m
  • 如果输出 x86_64,说明是 X86 软路由(如工控机、迷你主机)。
  • 如果输出 aarch64armv8,则为 ARM 架构,需下载对应的 ARM 包。本文以 x86_64 为例。

2. 内核与 BTF 支持检测

DAED 运行在内核态,必须依赖内核的 BTF(BPF Type Format) 支持。推荐使用 iStoreOS 或 OpenWrt 24.10+ 标准版固件。请在 SSH 中运行:

ls -l /sys/kernel/btf/vmlinux
  • 开启成功:输出类似 -r--r--r-- 1 root root 4194304 Jun 15 12:00 /sys/kernel/btf/vmlinux 的文件信息。可以放心继续。
  • 未开启:提示 No such file or directory【警告】:如果未开启,强行手动安装 IPK 必然会因缺少 vmlinux-btf 依赖而报错失败!此类固件建议换用 .run 文件降级运行,或直接更换内核支持 BTF 的新固件。

安装 daed

1. 先行安装核心路由数据库依赖

DAED 启动前必须具备全球 IP 与域名数据库,否则主程序无法运行。可以在终端手动执行:

opkg update
opkg install v2ray-geoip v2ray-geosite

或者在 OpenWrt 后台登录 「系统」 - 「软件包」,点击更新列表,然后在过滤器中搜索并依次安装 v2ray-geoipv2ray-geosite

后台软件包安装 v2ray-geoip v2ray-geosite

2. 下载 IPK 软件包

根据你的硬件架构,前往 @kenzok8/openwrt-daede 的 Releases 页面下载以下两个文件:

  • daed_xxxx_x86_64.ipk :DAED 控制面板主程序
  • luci-app-daede_xxxx_all.ipk :LuCI 图形化前端界面
  • 注:由于 daed 中已内嵌 dae 内核,因此无需额外下载独立的 dae 核心包。
确认下载对应的 IPK 软件包

3. 上传并安装 IPK

进入后台 「系统」 - 「软件包」 - 「上传软件包」,依次上传并安装刚刚下载的 daed 包和 luci-app-daede 包。

如果你使用的是 iStoreOS,也可以通过 「iStore」 - 「手动安装」 - 「离线安装」 进行上传安装。安装 LuCI 界面时,网页可能会短暂断开重新登录,属于正常现象。

通过后台安装 IPK 软件包

4. 开启控制面板

成功安装后刷新后台页面,在 「服务」 菜单下即可找到 「daede」。进入页面后,勾选「启用」并保存应用,让守护进程开始工作。

在服务菜单中启用 daede

图形化控制台配置与避坑调优

1. 初始环境与管理账户

【核心避坑操作】:在第一次点击“打开 WEB UI”之前,请务必先在 LuCI 界面点击 「更新」-「netns daens」-「清理」。这可以清空残留的网络空间,防止端口或路由发生死锁冲突!

清理 netns daens

清理完成后,点击「打开 WEB UI」进入 DAED 面板,根据屏幕提示设定你的独立管理账号与密码。

初始化 daed 管理账号与密码

2. 绑定网络 LAN 接口

进入面板后,在配置选项中找到设置,正确绑定你的 lan 接口。这决定了 eBPF 将接管哪些局域网设备的流量。

在设置中关联路由器的 LAN 接口
在设置中关联路由器的 LAN 接口

3. 导入订阅与节点

DAED 面板原生支持通用订阅地址。如果你手中只有 Clash 格式的订阅,可以直接在 OpenWrt 页面里的 「daede」- 「订阅转换」 功能中,快速将其转换为通用格式再填入面板中。

添加节点和订阅链接

4. 规划代理群组

在策略组管理中,直接用鼠标将左侧下载好的节点拖拽到右侧对应的策略群组(如 Proxy)即可完成路由策略绑定。

通过拖拽分配节点到指定分流群组

5. 激活全局代理

全部配置完成后,点击页面右上角的总开关。当指示灯变绿时,整个网络就已经成功跑在 eBPF 的高性能通道上了。

开启右上角总开关激活代理

关于更丰富的分流规则,没个人的需求不一样,请大家自行GOOGLE搜索。


🔥 防火墙调优配置

很多小伙伴开启 DAED 后发现网速极慢、频繁丢包或者完全无法联网。这是因为 OpenWrt 默认的防火墙加速机制会拦截或绕过内核 eBPF 协议栈。请务必执行以下调整:

  • 进入系统后台 「网络」 ➔ 「防火墙」,定位到常规设置,修改以下选项:
    • 路由/NAT 卸载 (Flow Offloading) ➔ 🔴 取消勾选(关闭)(防止流量绕过内核导致 daed 规则断流)
    • 硬件流量分流 ➔ 🔴 取消勾选(关闭)
    • 启用 FullCone-NAT ➔ 🔴 取消勾选(关闭)(防止其强行重写动态端口,导致 eBPF 策略认知混乱)
  • 修改完成后点击「保存并应用」,并重启一次软路由以彻底清除旧的连接跟踪表。

如果你使用了 daed 的内置文本配置,在国内上游 DNS(upstream)一栏中,绝对不要填写软路由自身的 IP(如 192.168.1.1)!因为 daed 会强行接管 53 端口,如果再指向自身,会和系统的 Dnsmasq 形成无限循环的 DNS 死路。国内请直接填写公共 DNS(如 udp://223.5.5.5:53),国外填写 tcp://8.8.8.8:53,如此方能享受到首包秒开的丝滑体验。

至此,你的软路由已经完美驾驭 DAED。享受极致低开销、低延迟的内核态分流网络吧!