写给新手的 dae 透明代理终极科普
最近有太多刚入坑软路由的朋友来问我关于 dae 的问题:“这玩意儿怎么配?”“它和 OpenClash 到底有啥区别?”。
今天这篇博客,我们就来彻底扒一扒这个目前软路由圈子里最火的“黑科技”。我会尽量避开那些枯燥的代码,用最直白的话告诉你,它到底是个啥,以及为什么它可能是你家庭网络的最终归宿。
透明代理
一个非常通俗的例子:
一层宿舍楼有30个房间,A区15个是男生,B区15个是女生,中间有一个门。女生可以从A区到B区,男生不能从A区到B区。A、B间有宿管看着。
- 正向代理 (Forward Proxy):
男生 A 想把情书(数据)交给 B 区的女生,但他过不去。于是,他主动花钱雇了一个平时就在 A、B 两区自由活动的女生 C(代理客户端/软件)。
男生 A 把情书交给女生 C,女生 C 拿着情书光明正大地从大门走过去。宿管大妈看她是个正常女生,就放行了。女生 C 到了 B 区,再把情书转交给目标女生。
在这个过程中,男生 A 非常清楚地知道自己过不去,且必须主动把情书交给女生 C。
对应到电脑上,就是你必须去下载一个客户端(比如 v2rayN、Clash for Windows),并且在浏览器的设置里手动填上“代理服务器地址:127.0.0.1”。如果不做这个“主动交接”的动作,你的流量还是会撞到墙上。
- 透明代理 (Transparent Proxy):
有个极度硬核的男生(就是安装在路由器上的 dae),他在男生宿舍走廊的必经之路上,直接向下挖了一条穿过地底、直达 B 区的秘密隧道(eBPF 技术或 iptables 流量劫持)。
此时,一个毫不知情的普通男生(局域网里的 iPad、手机或电视)想去找 B 区的女生。他根本没有雇人(没装代理软件),也没有化妆(没做任何设置),他只是像往常一样朝着大门走去。
结果,就在他即将遇到宿管大妈(遭遇 GFW 拦截)的前一秒,他走到了秘密隧道的入口,瞬间掉进隧道,直接被传送到了 B 区。
当他到达 B 区办完事回来后,他脑子里产生了一个错觉:“咦?男女生宿舍之间的门是不是拆了?大妈是不是下班了?我怎么直接走过来了?”
这就是透明代理的最高境界。局域网内的所有设备(手机、智能家居、客人的电脑)都不需要安装任何客户端,也不用配置任何代理参数。它们以为自己是在“直连”互联网,但实际上,底层的软路由(ImmortalWrt/OpenWrt)已经在网卡层面将这些数据包悄悄拦截,并打包扔进了通往代理线路的加密隧道里。
dae 到底是个什么神仙软件?
简单来说,dae(大鹅)是一个开源、免费且基于 Linux 内核级技术的透明代理应用。它的终极目标只有一个:让你的软路由在处理外网流量时,速度更快、资源消耗更低、且绝不漏网。
它分为两个版本,分别面向不同的人群:
- dae (纯代码):
这是最硬核的核心程序。它没有花里胡哨的网页界面,所有的配置都需要你通过编写代码文件(配置文件)来完成。它极其轻量,是真正的高手首选。
- daed (图形化面板):
为了拯救广大“代码恐惧症”患者,开发者推出了 daed。那个末尾的“d”你可以理解为 Dashboard(仪表盘)。它是一个带有现代化网页控制台的完整套餐,你在网页上点点鼠标、拖拽一下分组,它就会在底层自动生成并应用原版 dae 需要的代码。强烈建议所有新手直接从 daed 入手。
它的核心魔法:eBPF 技术
如果你用过 v2rayA 或 OpenClash,你应该知道,它们就像是在软路由里建了一个“收费站”。所有的数据包都要被防火墙(iptables)强行引导到这个收费站里检查、打包,然后再发出去。这个过程非常吃 CPU 性能。
而 dae 使用了一种叫做 eBPF 的降维打击技术。它不需要建收费站,而是直接在软路由的“底层马路”(网卡驱动)上装了无数个隐形摄像头。当你在手机上输入一个海外网址时,数据包刚离开网卡,甚至还没走到软路由的防火墙,就已经被 eBPF 瞬间捕获并送进了加密隧道。
这就意味着:超低的延迟、极低的 CPU 占用、以及绝对不可能发生的 DNS 泄露。
dae 与 OpenWrt / ImmortalWrt 的关系
这个问题困扰了很多小白,我们用盖房子来打个比方:
- OpenWrt: 这是地基和毛坯房。它是一个开源的 Linux 路由器操作系统,极其稳定,但原生的功能比较基础。
- ImmortalWrt: 这是精装修房(天灵盖固件)。它是国内大神基于 OpenWrt 深度定制的系统。它不仅汉化得更好,还自带了一个极其庞大的“国内特色”软件源(仓库),你想要的各种插件,基本上都能在里面一键安装。
- dae: 这是你买回家的高级智能电视。它本身是一个独立的软件,不能凭空运行,必须安装在 OpenWrt 或 ImmortalWrt 这种操作系统(房子)里面。
ImmortalWrt前世今生: https://kzpu.com/archives/5640.html
强烈建议你在 ImmortalWrt 上安装 dae
很多朋友喜欢在原版 OpenWrt 上折腾,但我个人(以及无数踩过坑的过来人)的强烈建议是:请搭配 ImmortalWrt 使用。
原因非常现实:
- 内核版本的天然优势: dae 的核心魔法 eBPF,是一项比较新的 Linux 内核技术。这就要求底层系统的内核版本必须足够新。原版 OpenWrt 的内核更新往往比较保守,并未编译安装eBPF,而 ImmortalWrt 的更新非常激进,它能完美契合 eBPF 对内核的严苛要求,避免出现莫名其妙的底层崩溃。
- 软件源的“保姆级”支持: 在原版 OpenWrt 上安装 dae,你可能需要自己去 GitHub 找安装包、处理复杂的环境依赖。而在 ImmortalWrt 中,它的官方软件源已经完全收录了 dae 和 daed。你只需要在网页后台点一下“安装”,系统就会把所有底层依赖包自动配置好,省去了 90% 的折腾时间。
- 中国大陆环境的特殊优化: ImmortalWrt 的编译团队非常清楚国内用户的痛点。无论是底层的 DNS 缓存机制、防火墙的区域划分,还是对国内宽带 PPPoE 拨号的优化,ImmortalWrt 都做得更好,这为 dae 的稳定运行提供了一个极佳的温床。
安装
在immortalwrt里,直接安装即可。查找daed,直接点luci-i18n-daed-zh-cn,就会把一系列的全装好了。

daed界面简单
界面展示:

快速使用指南
1,官方使用指南:
2,自定义使用
安装之后,把自己的节点导入基本就可以使用了。
- 导入节点之后,要把节点拖到使用区域,也就是群组下面,是拖。我第一次使用,怎么都搞不过去,查了好久,原来是鼠标按住节点,拖过去的。就是从自建节点或订阅区域拖到群组那边去。
- 这个图标是设置、配置按钮

- DNS在进阶里面,设置如下就足够使用了
upstream {
alidns: 'udp://223.5.5.5:53'
googledns: 'tcp://8.8.8.8:53'
}
routing {
request {
qtype(aaaa) -> reject
qname(geosite:cn) -> alidns
fallback: googledns
}
}
- 路由配置,也就是分流这里,用自定义的很爽
l4proto(udp) && dport(443) -> block
# 1. 局域网及私有 IP 直连 (最优先级)
ip(geoip:private) -> direct
domain(geosite:private, domain:paypal.com, domain:paypalobjects.com) -> direct
# 2. 强制 DNS 流量走代理 (关键)
# 既然你采用了白名单模式,必须确保 DNS 解析是干净的,否则国内直连解析海外域名会拿到污染 IP
dip(8.8.8.8, 8.8.4.4) -> proxy
# 3. 特殊 AI 服务走代理
domain(geosite:openai, geosite:anthropic, geosite:bing, geosite:meta, domain:huggingface.co, domain:hf.co) -> proxy
# 4. GFW 黑名单及 Google 服务走代理
domain(geosite:google, geosite:google-play, domain:googleapis.cn, geosite:gfw) -> proxy
# 5. 海外常用社交 App 走代理 (域名 + IP)
domain(geosite:twitter, geosite:netflix, geosite:telegram) -> proxy
ip(geoip:twitter, geoip:netflix, geoip:telegram) -> proxy
# 6. 国内域名及 IP 优先直连
domain(geosite:cn) -> direct
ip(geoip:cn) -> direct
# 7. 策略总结:未知流量全部直连
fallback: direct
如何防止dns泄露
很多折腾过软路由的小伙伴肯定遇到过这个痛点:明明代理软件显示正常运行,但某些极其严格的网站就是上不去。一查才发现,原来是“DNS 泄露”了,暴露了你的真实国内坐标。
这就好比你虽然挖了一条通往 B 区的透明隧道,但你在进隧道之前,先在大喇叭里广播了一句:“宿管大妈,请问 B 区某个女生的房间号是多少?”——这就叫 DNS 泄露。
那么 dae 是怎么彻底解决这个顽疾的?它在底层悄悄布下了 4 道防线:
- 物理级掐断:eBPF 隐形拦截
传统的代理软件(比如 OpenClash)防止泄露的方法,是在防火墙上写规则,像交警一样把查 DNS 的流量强行“扭送”到代理软件里。但交警偶尔也会打盹(规则冲突或失效),一旦漏过去一个,真实 IP 就暴露了。
dae 的 eBPF 技术则是在路由器的网卡最底层,直接铺了一张无形的巨网。不管你局域网里的手机还是电脑,只要发出查 DNS 的请求,数据包还没走到防火墙,就在网卡门口被瞬间吞没。这种物理级别的截断,保证了哪怕是一丝一毫的私自查询都不可能流向国内公网。
- 远端解析:绝对不在本地“查电话簿”
当你想访问海外网站时,普通的做法是路由器先在国内查一下它的 IP,然后再把请求发过去。这非常容易遭到“DNS 污染”(被返回一个假地址)。
dae 采用的是 Domain 模式(域名嗅探)。它根本不在本地查电话簿,而是把你访问的域名直接打包,扔进那条通往代理的透明隧道里。由代理的服务器在完全纯净的海外网络环境里帮你查、帮你连。国内的运营商只能看到一堆加密的乱码,根本不知道你要找谁。
- TCP 强制武装:给数据包穿上防弹衣
平时我们查 DNS,用的是 UDP 协议。UDP 就像明信片,谁在路上都能看一眼,甚至还能用假明信片把你骗了(运营商的劫持和抢答)。
dae 会强制把发往海外的 DNS 请求,升级为 TCP 协议。TCP 就像是带密码锁的保险箱,必须严格握手确认。再套上外层的代理加密隧道,这就彻底断绝了任何人在半路上偷看或篡改你 DNS 请求的可能性。
- 斩断 IPv6 偷跑:专治各种“强迫症”设备
现代的设备(尤其是苹果的 iPhone 和 iPad)都有个底层机制:特别喜欢优先用 IPv6 地址去上网。很多时候,你的 IPv4 代理得很完美,但 iPad 脑子一热,非要用运营商分配的 IPv6 地址去“裸连”海外网站,结果瞬间被拦截,导致“别人都能上,就 iPad 刷不出网页”的惨剧。
在 dae 的路由规则里,我们只需要加一条极简的指令(qtype(aaaa) -> reject)。这相当于在门口立了个牌子:“本路由器拒绝提供任何海外网站的 IPv6 地址”。设备要不到 IPv6,就会乖乖退回传统的 IPv4 协议,从而稳稳当当地走进我们的代理隧道里。
一句话总结:
dae 防泄露的底层逻辑就是:不准你在本地问路,强制把问路的纸条塞进保险箱,然后直接通过隧道送到国外去拆开。 这才是真正意义上的物理级 0 泄露。
已知问题
- Intel i226-V网卡,直接安装、直通、vmxnet3模式,都会与pppoe拨号有冲突,会不定时重启。我改为E1000e网卡之后解决。
此文是在Gemini的帮助下完成的。