3 个版本
0.1.1 | 2023 年 3 月 18 日 |
---|---|
0.1.1-alpha1 | 2023 年 2 月 26 日 |
0.1.0 | 2023 年 1 月 9 日 |
#16 在 #nftables
每月 70 次下载
在 rustables 中使用
25KB
497 行
rustables
为用户空间访问内核 nf_tables 子系统提供安全的抽象。可用于在 nftables 防火墙中创建和删除表、链、集合和规则,nftables 是 iptables 的继任者。
这个库是基于 nftnl-rs
crate 的分叉。让我们在此感谢原始项目团队为他们的出色工作,没有这些工作,这个库可能今天就不会存在。
这个库目前有一些相当粗糙的边缘,并不容易优雅地添加和删除 netfilter 条目。部分原因是这个库需要更多的工作,但也部分原因是 nftables 非常底层和可自定义,这使得创建过于简单/有限的包装变得困难,并且可能不正确。请参阅示例以获取灵感。
了解如何使用 netlink 子系统以及实现这个 crate,主要是通过阅读 nftables
用户空间程序及其相应的内核代码,以及将调试器附加到 nft
二进制文件来完成的。由于实现主要是基于试错,当然可能存在许多地方使用了伪造的 netlink 消息,这些消息的使用可能是不合法的或非预期的。欢迎贡献!
许可
许可证:GNU GPLv3
原始作品由 Amagicom AB 根据 MIT/Apache-2.0 许可。
依赖关系
~1.5MB
~37K SLoC