#nftables #防火墙 #netfilter #iptables #API绑定 #nft

rustables

libnftnl 的安全抽象。提供对内核 nf_tables 子系统的低级用户空间访问

6 个版本

新版本 0.8.4 2024 年 8 月 21 日
0.8.3 2024 年 8 月 4 日
0.8.2 2023 年 10 月 18 日
0.8.1 2023 年 3 月 18 日
0.8.0 2023 年 1 月 9 日

247 in Unix API

Download history 14/week @ 2024-07-27 134/week @ 2024-08-03 76/week @ 2024-08-10 191/week @ 2024-08-17

每月 415 下载

GPL-3.0 或更新

150KB
4K SLoC

rustables

Crates.io Documentation CI pipeline status License

对内核 nf_tables 子系统的用户空间访问的安全抽象。可以用来创建和删除 nftables 防火墙中的表、链、集合和规则,它是 iptables 的继任者。

此库是 nftnl-rs 包的分支。让我们感谢原始项目团队为他们的出色工作,没有他们的工作,这个库可能今天就不会存在了。

此库目前有一些粗糙的边缘,并不使添加和删除 netfilter 条目变得特别简单和优雅。部分原因是因为库需要更多的工作,但也部分是因为 nftables 非常底层且可高度定制,使得尝试创建过于简单/有限的包装变得困难,甚至可能是错误的。请参阅示例以获取灵感。

理解如何使用 netlink 子系统并实现此包主要是通过阅读 nftables 用户空间程序及其对应的内核代码的源代码,以及将调试器附加到 nft 二进制文件来完成的。由于实现主要是基于试错,当然可能在许多地方使用了伪造的 netlink 消息,这些消息的使用可能是无效的或非预期的。欢迎贡献力量!

许可协议

许可证:GNU GPLv3

原始作品由 Amagicom AB 许可,许可协议为 MIT/Apache-2.0。

依赖项

~3–5MB
~111K SLoC