iPtables的替代方案

Alternatives for iptables?

本文关键字:方案 iPtables      更新时间:2023-10-16

我正在开发一个应用程序,其中我严重依赖iptables来路由流量。我只是通过调用iptables作为我的应用程序的外部过程来设置表。

我想知道是否有一种直接与iptables依赖的内核模块(NetFilter)进行交谈的方法

欢迎其他路由解决方案的建议。

我认为NetFilter没有任何问题。您可以在任何NetFilter Hooks上绑定回调,并且内核将在Hook Event上调用您的回调。您正在通过nf_register_hook进行此操作。您甚至可以跟踪Conntrack

的连接

示例在这里。

有关官方文档上黑客攻击的更多信息

如果我的理解是正确的,则要求使用一个用于配置Iptables的程序性接口。不幸的是,iptables(libiptc)没有给出用于配置或查询它们的API接口,在堆栈中的方式太低。

我可以建议的一种替代方案是内核IP集。IPSET实际上是iPtables的扩展名,它允许创建一次匹配整个地址集的规则。iptables在IP集存储在索引数据结构中的情况下是线性遍历的。这使其非常有效。

https://packages.debian.org/sid/net/ipset

这可能不是您问题的直接答案,但希望它会有所帮助。