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-daede 的 luci-app-daede(其优点在于可以使用同一套 UCI 配置同时管理 dae 和 daed)。
安装前的环境检查
1. 架构确认
DAED 区分硬件架构。在 OpenWrt 终端(SSH)中运行以下命令确认:
uname -m
- 如果输出
x86_64,说明是 X86 软路由(如工控机、迷你主机)。 - 如果输出
aarch64或armv8,则为 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-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 核心包。
3. 上传并安装 IPK
进入后台 「系统」 - 「软件包」 - 「上传软件包」,依次上传并安装刚刚下载的 daed 包和 luci-app-daede 包。
如果你使用的是 iStoreOS,也可以通过 「iStore」 - 「手动安装」 - 「离线安装」 进行上传安装。安装 LuCI 界面时,网页可能会短暂断开重新登录,属于正常现象。
4. 开启控制面板
成功安装后刷新后台页面,在 「服务」 菜单下即可找到 「daede」。进入页面后,勾选「启用」并保存应用,让守护进程开始工作。
图形化控制台配置与避坑调优
1. 初始环境与管理账户
【核心避坑操作】:在第一次点击“打开 WEB UI”之前,请务必先在 LuCI 界面点击 「更新」-「netns daens」-「清理」。这可以清空残留的网络空间,防止端口或路由发生死锁冲突!
清理完成后,点击「打开 WEB UI」进入 DAED 面板,根据屏幕提示设定你的独立管理账号与密码。
2. 绑定网络 LAN 接口
进入面板后,在配置选项中找到设置,正确绑定你的 lan 接口。这决定了 eBPF 将接管哪些局域网设备的流量。
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。享受极致低开销、低延迟的内核态分流网络吧!