第16周:阶段项目——基于 Netfilter 的简单防火墙
目标:综合运用前 7 周知识,实现一个带动态规则管理的内核级防火墙。
1. 项目架构设计
1.1 整体架构
1 | ┌──────────────────────────────────────────────────────────┐ |
1.2 数据结构设计
1 | // firewall.h |
2. 核心模块实现
2.1 黑名单管理
1 | // blacklist.c |
2.2 速率限制(Token Bucket)
1 | // rate_limiter.c |
3. 完整防火墙模块
1 | // firewall.c |
4. 用户态控制程序
1 | // fwctl.c — 用户态防火墙控制工具 |
1 | # 编译用户态工具 |
5. 性能影响评估
5.1 基准测试
1 |
|
5.2 预期性能影响
1 | 基准(单连接 iperf TCP): |
6. 扩展方向
1 | ✓ IPv6 支持(NF_INET6) |
- 本文作者: CoderSong
- 本文链接: https://jack-song-gif.github.io/2026/07/06/第16周:阶段项目——基于 Netfilter 的简单防火墙/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!