LELexEdge词汇锋面
DevOps专业术语

eBPF

extended Berkeley Packet Filter

eBPF · 不改内核代码就能给 Linux 加新功能

Linux可观测性
EBPF
定义
eBPFextended Berkeley Packet FilterDevOps领域的专业术语eBPF 允许在 Linux 内核中安全地运行自定义程序,无需修改内核源码或加载内核模块。

最后更新:2026-03-18

什么是eBPF?

eBPF 允许在 Linux 内核中安全地运行自定义程序,无需修改内核源码或加载内核模块。它正在革命性地改变网络、安全和可观测性领域。

  • 在内核中安全运行自定义程序
  • 无需修改内核源码,动态加载
  • Cilium、Falco 等项目基于 eBPF 构建

eBPF详解

eBPF 最初用于网络包过滤,现已发展为通用的内核可编程框架。eBPF 程序在内核的沙箱中运行,经过验证器检查确保安全性。基于 eBPF 的项目包括:Cilium(K8s 网络和安全)、Falco(运行时安全)、bpftrace(动态追踪)。eBPF 被称为「Linux 的超能力」,正在替代传统的 iptables、kprobe 等机制,成为内核扩展的标准方式。

eBPF的应用场景

正式定义

Linux 内核中的可编程沙箱技术,允许安全地运行自定义内核程序

应用场景

  • 高性能网络数据包处理和过滤
  • 系统和应用的深度可观测性
  • 运行时安全监控和威胁检测

常见误区

  • eBPF 不只是包过滤,已发展为通用内核编程框架
  • eBPF 程序有严格的安全验证,不会导致内核崩溃
  • eBPF 不能做所有事,有指令数和循环限制

实际案例

📌 Cilium 和 eBPF

Cilium 基于 eBPF 实现 K8s 的网络策略和负载均衡,性能比传统 iptables 方案提升数倍,已被 Google GKE、AWS EKS 等采用为默认网络方案。

eBPF的参考来源

关于eBPF的常见问题

eBPF 能做什么
在内核中安全运行自定义程序,用于网络过滤、性能分析、安全监控、可观测性,无需修改内核代码。
eBPF 和内核模块有什么区别
eBPF 程序经过验证器检查保证安全,不会导致内核崩溃;内核模块有完全权限但可能引入稳定性风险。