Quick Facts
- Netfilter 是 Linux 在2.4.x 后引入的一项功能,用来做 packet filtering
- 核心功能
- Packet Filtering (比如防火墙) Stateless and Stateful(With Conntrack)
- Network Address (Port) Translation (比如路由器)
- Packet Logging(访问审计)
- Userspace Packet Queuing (自定义拥塞控制)
- Other Packet Mangling
- Netfilter 是内核功能, iptable 和nftable 是使用这项功能的用户程序
- eBPF (Berkeley Packet Filter) 是另外一种 packet filter
Architecture
Usage
- nftable 概要 介绍了nftable的使用方式
Misc
-
和 ebpf的关系
- BPF comes to firewalls [LWN.net]
- Why is the kernel community replacing iptables with BPF? (cilium.io)
- 长期来看, ebpf 的设计先进性能强大,最终可能会替换netfilter,但是短期不太可能
- Kubernetes 应该还在用Iptables
- KEP 3286? 3866 ?
- IPSet IPVS