首页 › programming › eBPF内核可编程七强精读

eBPF 内核可编程七强精读:把内核变成可热加载的"应用层"

本期概述

如果说过去十年 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 的人

一、Liz Rice《Unleashing the Kernel with 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、平台、安全从业者,无门槛。


二、《How eBPF Actually Works》— 拆穿那张被讲烂的架构图

链接: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 程序、想真正理解报错原因的开发者。


三、《eBPF: Unlocking the Kernel's Superpowers》— 验证器为什么是地基

链接: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

四、Liz Rice《Security Superpowers with eBPF and Tetragon》— 运行时安全的范式转移

链接: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、平台架构师。


五、eBPF & Cilium Community 频道 + eCHO 直播 — 跟进生态的"活水"

频道:youtube.com/@eBPFCilium/videos;eCHO 系列:eBPF & Cilium Office Hours,已更新至 Episode 210+

与前几个单点视频不同,这是一个持续运营的官方社区频道,其招牌栏目 eCHO(eBPF & Cilium Office Hours)每周直播,灵感源自著名的 TGIK(TGI Kubernetes)。它的独特价值在于"陪你一起追进度":

  1. 紧跟版本节奏。例如 Episode 210 专门讲解 Cilium 1.19 的 Multi-Pool IPAM,让你在新版本发布第一周就能了解特性与踩坑点。
  2. 真实 office hour 互动。直播中解答社区提交的问题,许多是文档里查不到的实战细节——这种"即时答疑"对自学者极其宝贵。
  3. 覆盖面广:从入门概念、cilium/ebpf Go 库、bpftrace 一行命令,到 KubeCon 的最新演讲回放,一个频道几乎等于一个 eBPF 大学的全部课程表。

实用价值:把"碎片化学习"变成"系统性跟进"。建议订阅并开启通知,把它当作每周固定的 30 分钟技术充电。适合人群:希望长期深耕 eBPF/Cilium 的工程师,以及准备相关认证(如 CKA + Cilium 方向)的备考者。


六、eBPF Summit 2024 + CTF Walkthrough — 年度风向标与实战练兵

峰会播放列表: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 的技术布道者。


七、《Linux eBPF Deep Dive: Verifier Debugging, BPF Map Tracing》— 写过的人才会需要的硬核实战

链接: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 二次开发,或研究内核可观测性的资深工程师。


本期知识图谱:eBPF 的全景关联

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 在不同内核版本上的兼容矩阵。

延伸推荐

  1. Brendan Gregg 的博客与演讲(Netflix 性能大师,eBPF 可观测性布道者)—— brendangregg.com,配合其著作《BPF Performance Tools》。
  2. eBPF Foundation 官网(ebpf.io)—— 入门文档、项目矩阵、峰会报名一站式入口。
  3. Cilium 官方文档与博客(cilium.io/blog)—— 网络、安全、可观测性的权威实践。
  4. 《Learning eBPF》(Liz Rice, O'Reilly)配套代码—— github.com/lizrice/learning-ebpf,与第 1 期视频形成书+影互补。
  5. awesome-ebpf(GitHub 精选清单)—— 覆盖工具、教程、论文的入口导航。

参考来源

  1. eBPF: Unlocking the Kernel's Superpowers (YouTube) — 验证器架构与"内核的 JavaScript"概念深潜
  2. Unleashing the Kernel with eBPF — Liz Rice (InfoQ) — 入门标杆,现场编码 demo 建立心智模型
  3. How eBPF Actually Works (YouTube) — 拆解架构图背后的真实运行机制
  4. Security Superpowers With eBPF and Tetragon — Liz Rice — 运行时安全阻断范式
  5. eBPF & Cilium Community 频道 + eCHO Office Hours — 持续更新的社区直播
  6. eBPF Summit 2024 播放列表 + CTF Walkthrough (eCHO Ep.153) — 年度峰会与 CTF 实战
  7. Linux eBPF Deep Dive: Verifier Debugging, BPF Map Tracing (YouTube) — verifier 排错进阶
  8. eBPF + XDP Load Balancer Tutorial (YouTube) — 内核级 L4/L7 负载均衡实战
  9. Cilium 官网 — eBPF 网络/安全/可观测性开源项目主页
  10. eCHO — eBPF & Cilium Office Hours (GitHub) — 社区直播源码与议程

本文由「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 等场景全覆盖。

51学通信知识星球海报-扫码加入