#netlink #structures #macro #nftables #table #exists #rustables

macro rustables-macros

为 rustables 项目生成 netlink 结构的内部宏

3 个版本

0.1.1 2023 年 3 月 18 日
0.1.1-alpha12023 年 2 月 26 日
0.1.0 2023 年 1 月 9 日

#16#nftables

Download history 1/week @ 2024-05-27 3/week @ 2024-06-24 6/week @ 2024-07-08 3/week @ 2024-07-15 61/week @ 2024-07-29

每月 70 次下载
rustables 中使用

GPL-3.0-or-later

25KB
497

rustables

Crates.io Documentation CI pipeline status License

为用户空间访问内核 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