9 个版本 (5 个破坏性更新)
0.6.2 | 2022年2月11日 |
---|---|
0.6.1 | 2021年4月4日 |
0.6.0 | 2020年11月23日 |
0.5.0 | 2020年6月4日 |
0.1.0 | 2018年9月19日 |
#282 在 Unix APIs
14,720 每月下载量
360KB
8K SLoC
nftnl
libnftnl 的安全抽象。提供对内核中 nf_tables 子系统的底层用户空间访问。请参见 nftnl-sys
以获取对 C 库的低级别 FFI 绑定。
可用于创建和删除 nftables(iptables 的继任者)中的表、链、集合和规则。
此库目前还有许多粗糙的地方,添加和删除 netfilter 条目并不是特别简单和优雅。这部分的理由是,库本身需要更多的工作,但也是因为 nftables 本身是如此底层和可定制,以至于创建一个过于简单/受限的包装器可能很困难,并且可能是不正确的。请参见示例以获取灵感。还可以查看原始项目如何使用它:Mullvad VPN app
了解如何使用 libnftnl
和实现此 crate 的过程,主要是通过阅读源代码程序和附加到 nft
二进制文件上的调试器。实现主要基于试错,因此当然可能存在一些地方,底层库在无效或非预期的方式中使用。尚未涵盖的部分很大,欢迎贡献力量!
选择 libnftnl
的版本
有关详细信息,请参阅相应sys crate的文档:nftnl-sys
该crate具有与sys crate相同的特性,选择版本的方式也相同。
许可证:MIT/Apache-2.0
依赖项
约2MB
约43K SLoC