如果说过去十年 Linux 的两次革命,一次是容器的普及(namespace + cgroup),一次是 eBPF(extended Berkeley Packet Filter)的崛起,那么后者在 2026 年正从"少数黑客的玩具"演变为云原生基础设施的事实标准。eBPF 被社区形象地称为"内核的 JavaScript":它让你无需修改内核源码、无需编写易崩溃的内核模块,就能在内核态安全地运行小程序,从而实现网络、可观测性、安全三大场景的"零侵入"。
本轮编程精选聚焦 eBPF 生态中最具代表性的七个 YouTube 资源,从入门标杆 Liz Rice 的现场编码,到验证器(verifier)深潜、Tetragon 运行时安全、eCHO 社区直播,再到 eBPF Summit 2024 与 CTF 实战。读者将看到:为什么 eBPF 是后端/平台工程师未来五年绕不开的一项硬技能。
背景提示:本期主题与往期"Rust 编译期安全""WASM 组件模型""后端系统设计"等完全不同,聚焦的是操作系统内核层的可编程性,是云原生安全、高性能网络、SRE 可观测性的共同底层。
| # | 视频/频道 | 风格定位 | 难度 | 核心价值 | 适合人群 |
|---|---|---|---|---|---|
| 1 | Liz Rice《Unleashing the Kernel with eBPF》 | 入门标杆·现场编码 | ⭐⭐ | 用最小 demo 建立完整心智模型 | 全部后端/平台从业者 |
| 2 | 《How eBPF Actually Works》 | 原理拆解 | ⭐⭐⭐ | 打通"架构图→真实机制"的认知鸿沟 | 想懂原理不背图者 |
| 3 | 《eBPF: Unlocking the Kernel's Superpowers》 | 验证器深潜 | ⭐⭐⭐⭐ | 理解 eBPF 安全性的根基 | 内核/平台工程师 |
| 4 | Liz Rice《Security Superpowers with eBPF and Tetragon》 | 安全·运行时 | ⭐⭐⭐ | 零信任、运行时阻断攻击 | 安全工程师/SRE |
| 5 | eBPF & Cilium Community + eCHO 直播 | 社区·持续更新 | ⭐⭐⭐ | 跟进生态最新进展 | 长期学习者 |
| 6 | eBPF Summit 2024 + CTF Walkthrough | 年度峰会·实战 | ⭐⭐⭐⭐ | 顶级方向 + 手把手 CTF | 进阶玩家 |
| 7 | 《Linux eBPF Deep Dive: Verifier Debugging》 | 进阶·故障排查 | ⭐⭐⭐⭐⭐ | 解决 verifier 拒绝等真实痛点 | 已经在写 eBPF 的人 |
链接:youtube.com/watch?v=97cnqxWkUEQ(InfoQ 录制,配套 transcript & slides)
如果只能看一个视频入门 eBPF,社区近乎一致的推荐就是 Liz Rice。她是 Isovalent(Cilium 背后的公司,已被 Cisco 收购)前首席开源官,也是 O'Reilly《Learning eBPF》的作者。这个演讲的魔力在于:她用一连串不超过 30 行的现场编码 demo,把"内核里跑程序"这件听起来很玄的事,拆解成"挂载点(hook)+ 探针 + map 通信"三件套。
关键洞察有三: 1. eBPF 的本质是"事件驱动"。你写的小程序不是常驻进程,而是注册到内核某个 hook(如 syscall 入口、网络包到达),事件发生时被调用。这决定了它"按需触发、零开销"的特性。 2. 用户态 ↔ 内核态靠 map 通信。Liz 现场 demo 用一个 BPF map 把内核里统计到的 syscall 次数传回用户态打印——这一张图胜过千言万语,让"map 是结构化共享内存"这个抽象概念瞬间落地。 3. "改内核不用重启"才是真正的杀手锏。传统内核模块(kmod)一个 bug 就 Kernel Panic,eBPF 程序却能热加载、热卸载,这正是它能在生产环境大规模上线的根本原因。
实用价值:适合作为团队内部分享的"第一课",15 分钟就能让一个完全没接触过 eBPF 的工程师建立正确的心智模型,避免后期被架构图吓退。适合人群:所有后端、SRE、平台、安全从业者,无门槛。
链接:youtube.com/watch?v=3GiNT44M1m4
几乎每个 eBPF 演讲都会放同一张架构图:"源码 → 编译成字节码 → verifier 检查 → JIT 编译成机器码 → 挂到 hook"。但看过图≠懂原理。这个视频的价值在于它回答了一个被大多数人忽略的问题:字节码到 verifier 之间,到底发生了什么?
核心要点: 1. 字节码不是直接 JIT,而是先经过 verifier 的"双重检查":一遍是 DAG 检测(确保无环、可终止),一遍是状态空间模拟(追踪寄存器/栈的取值范围,证明不会越界访问)。很多人卡在 verifier 报错"invalid bpf_context access",根因就是没理解这一步在模拟你的指针运算。 2. JIT 是按架构生成的真机器码。一旦 verifier 放行,字节码会被即时编译成本机指令(x86_64/arm64/riscv),运行时几乎没有解释开销——这解释了为什么 eBPF 能做到纳秒级 hook。 3. CO-RE(Compile Once – Run Everywhere)依赖 BTF。视频点明:正因为有了 BTF(BPF Type Format)描述内核数据结构布局,同一个 eBPF 程序才能在不同内核版本上直接运行,不必为每个内核单独编译。这是 eBPF 从"定制玩具"走向"通用分发"的关键拐点。
实用价值:当你在生产环境遇到 verifier 拒绝、或程序在新内核上报错时,这期内容能帮你从"玄学排错"升级为"机理排错"。适合人群:写过几个 eBPF 程序、想真正理解报错原因的开发者。
链接:youtube.com/watch?v=8f8R3dhFDH0
副标题点题:"Discover the 'JavaScript for the Kernel' and the elegant architecture of the eBPF Verifier"。这一期的核心论点是:eBPF 之所以敢让你在内核里乱跑代码,不是因为信任你,而是因为 verifier 在数学上证明了你的程序是安全的。
提炼要点: 1. 安全性是"证明"出来的,不是"测试"出来的。verifier 通过对寄存器取值范围的抽象解释(abstract interpretation),在不执行程序的前提下证明:所有路径都不会越界、不会死锁、不会无限循环。这是形式化思想在工程中的落地。 2. 程序大小与复杂度有硬上限。verifier 对指令数(默认 100 万条 verified instructions)、循环复杂度都有上限,这是为了保证"可证明终止"——这恰好解释了为什么写 eBPF 代码总感觉"束手束脚"。 3. "受限"恰恰是"自由"的前提。正是这些约束,让 eBPF 能以非特权用户也能加载(配合 capabilities)的方式进入生产内核,最终催生了 Cilium、Tetragon、Pixie、bpftrace 一整个生态。
实用价值:理解 verifier 的设计哲学,能让你在写程序时"顺着验证器的思路走",写出一次通过的高质量代码,而不是反复与报错搏斗。适合人群:内核、平台基础设施工程师,以及对"如何让系统既灵活又安全"感兴趣的系统设计爱好者。
flowchart LR
A[源码 C/Rust/Go] -->|clang 编译| B[eBPF 字节码]
B --> C{Verifier 验证}
C -->|DAG 检查: 无环可终止| D1[安全性证明]
C -->|状态空间模拟: 寄存器/栈范围| D2[越界证明]
D1 & D2 --> E[JIT 即时编译]
E --> F[本机机器码]
F --> G[挂载到 Hook]
G --> H[kprobe/tracepoint/XDP/TC/cgroup]
H -->|事件触发| I[运行 + Map 通信]
I --> J[用户态读取结果]
style C fill:#ffe4b5
style G fill:#b5e4ff
链接:youtube.com/watch?v=u4lSpHSVZOw
如果说前三期讲的是"eBPF 能干什么",这一期展示的是它在安全领域最惊艳的应用:Tetragon。Tetragon 是 Cilium 团队推出的运行时安全与可观测性项目,核心能力是在内核态对安全事件做"实时阻断(enforcement)",而不只是事后告警。
关键洞察:
1. 从"检测"升级为"阻断"。传统 EDR/HIDS 在用户态做规则匹配,攻击者总能在告警产生到响应之间的窗口里完成破坏。Tetragon 直接在内核 hook 上拦截(如禁止某进程执行 execve("/bin/bash")),实现"攻击还没发生就被掐断"。
2. 策略即代码(Policy-as-Code)。安全规则用 Kubernetes CRD 描述,绑定到进程身份、容器标签、命名空间,做到"零信任 + 细粒度"——这正是云原生安全的刚需。
3. 替代 iptables 的不只是网络。eBPF 同时接管了网络策略(Cilium NetworkPolicy)和安全审计(Tetragon),让"网络 + 安全"在同一数据平面收敛,运维复杂度大幅下降。
实用价值:对安全团队而言,这是理解"下一代云原生运行时安全"的最佳起点;对 SRE 而言,Tetragon 的内核态过滤能极低成本满足合规审计需求。适合人群:安全工程师、SRE、平台架构师。
频道:youtube.com/@eBPFCilium/videos;eCHO 系列:eBPF & Cilium Office Hours,已更新至 Episode 210+
与前几个单点视频不同,这是一个持续运营的官方社区频道,其招牌栏目 eCHO(eBPF & Cilium Office Hours)每周直播,灵感源自著名的 TGIK(TGI Kubernetes)。它的独特价值在于"陪你一起追进度":
实用价值:把"碎片化学习"变成"系统性跟进"。建议订阅并开启通知,把它当作每周固定的 30 分钟技术充电。适合人群:希望长期深耕 eBPF/Cilium 的工程师,以及准备相关认证(如 CKA + Cilium 方向)的备考者。
峰会播放列表:youtube.com/playlist?list=PLDg_GiBbAx-m7yn_FYcc41PNrgtxlISBK
CTF 复盘:youtube.com/watch?v=lqIBKiTI62Q(eCHO Episode 153: eBPF Summit 2024 CTF Walkthrough)
eBPF Summit 是 eBPF 基金会(隶属 Linux 基金会)主办的年度盛会,2024 届于 9 月举办,全部内容免费、线上、对所有人开放——这种"不设门槛"的姿态本身就是 eBPF 社区文化的写照。
为什么值得关注: 1. 看清技术风向。峰会 keynote 会明确告诉你 Cisco 为何重金押注 Cilium/eBPF/Tetragon,以及下一个 12 个月社区的资源会投向哪里——这对个人技术选型是高价值情报。 2. CTF 是检验理解的试金石。eBPF Summit 专门设计了 Capture The Flag 比赛,eCHO Episode 153 的 walkthrough 手把手复盘解题过程。CTF 的价值在于:它逼你把"知道"变成"能用"——你需要真的写程序、读 map、绕过 verifier 限制才能拿到 flag。 3. 配套生态活动丰富。同期的 Cilium + eBPF Day Europe、Cilium Developer Summit 也都公开录像,形成完整的进阶路径。
实用价值:把它当作"年度知识体检"——峰会前看哪些 topic 听得懂、CTF 能做几道,峰会后查漏补缺。适合人群:中高级工程师、希望在团队内推广 eBPF 的技术布道者。
链接:youtube.com/watch?v=DQfWyUsd8SQ
这是本期最进阶的一期,面向已经在生产环境写 eBPF、却被 verifier 折磨得怀疑人生的开发者。它的稀缺性在于:网上 90% 的 eBPF 内容停在"hello world",而真正卡人的恰恰是"为什么我的程序被 verifier 拒绝"。
核心内容:
1. 追踪 verifier 的决策过程。视频演示如何打开 verifier log 的 verbosity(-v 级别),逐指令读懂它"为什么认为第 N 条不安全"。这是把 verifier 从"黑盒告警"变成"白盒调试器"的关键技能。
2. BPF Map 的运行时 tracing。教你怎么观察 map 的读写、key 分布、内存占用,定位"map 越界""key 串话"这类隐蔽 bug。
3. 真实工程痛点映射。比如 bounded loop 限制、invalid context access、pointer arithmetic 受限等,每个报错都给出"为什么会报 + 怎么改"的成对解法。
实用价值:这是把 eBPF 从"玩具"推向"生产级"必经的一课。适合人群:正在开发 eBPF 程序、做 Cilium/Tetragon 二次开发,或研究内核可观测性的资深工程师。
mindmap
root((eBPF 内核可编程))
基础原理
字节码 + Verifier
JIT 即时编译
CO-RE + BTF 跨版本
BPF Map 通信
挂载点 Hook
kprobe / kretprobe
tracepoint
XDP 网络入口
TC 流量控制
cgroup / socket
三大应用场景
可观测性
bpftrace
BCC
Pixie
网络
Cilium
XDP 负载均衡
替代 kube-proxy/iptables
安全
Tetragon 运行时阻断
零信任策略
开发生态
cilium/ebpf Go 库
bpf2go AOT 编译
libbpf C 库
eCHO 社区直播
学习路径
入门: Liz Rice
原理: How eBPF Works
实战: CTF + Deep Dive
flowchart TD
Start([起点: 零基础]) --> V1[看 Liz Rice 入门演讲]
V1 --> V2[看 How eBPF Actually Works 理原理]
V2 --> Decision{你的角色?}
Decision -->|网络/平台| N1[Cilium 官方文档]
Decision -->|安全| S1[Tetragon + Security Superpowers]
Decision -->|可观测/SRE| O1[bpftrace 一行命令]
N1 & S1 & O1 --> V6[参加 eBPF Summit CTF]
V6 --> V7[Verifier Deep Dive 实战]
V7 --> Goal([能独立交付生产级 eBPF 程序])
style V1 fill:#d4edda
style Goal fill:#fff3cd
把七期内容串起来,你能得到一条清晰的成长曲线:入门(Liz Rice)→ 原理(架构图拆解 + verifier 哲学)→ 应用(Tetragon 安全)→ 跟进(eCHO 社区)→ 实战(CTF + Deep Dive)。eBPF 的真正价值不在"它很酷",而在于它是当下唯一能同时满足"零侵入、高性能、内核级可见性"三项要求的技术——这正是 SRE 难以观测的延迟毛刺、安全团队难以阻断的 0day、网络团队难以摆脱的 iptables 性能瓶颈的共同解药。
落地建议:
- 个人:先花一个周末看完第 1、2 期,跑通第一个 bpftrace -e 'tracepoint:syscalls:sys_enter_* { @[probe] = count(); }',获得正反馈。
- 团队:在 K8s 集群灰度部署 Cilium 替换 kube-proxy,用 Hubble(Cilium 可观测性组件)体验"内核级流量地图",再评估 Tetragon 上线安全策略。
- 避坑:生产环境务必关注 verifier log、map 内存上限、以及 CO-RE 在不同内核版本上的兼容矩阵。
brendangregg.com,配合其著作《BPF Performance Tools》。ebpf.io)—— 入门文档、项目矩阵、峰会报名一站式入口。cilium.io/blog)—— 网络、安全、可观测性的权威实践。github.com/lizrice/learning-ebpf,与第 1 期视频形成书+影互补。本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
