繁体   English   中英

iptables的替代品?

[英]Alternatives for iptables?

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

我想知道是否有一种方法可以直接与iptables依赖的内核模块(Netfilter)进行通信,并避免为此目的运行新进程的开销?

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

我看不到netfilter有任何问题。 您可以在任何netfilter钩子上绑定回调,内核将在钩子事件上调用您的回调。 您正在通过nf_register_hook进行此操作。 您甚至可以使用conntrack跟踪连接

例子在这里

有关在官方文档中入侵netfilter的更多信息

如果我的理解是正确的,那么您正在要求一个用于iptables配置的程序接口。 不幸的是,iptables(libiptc)没有提供用于配置或查询它们的API接口,它在堆栈中的位置太低了。

我可以建议的另一种选择是内核IP集。 ipset实际上是iptables的扩展,它允许一次创建与整个地址集匹配的规则。 IPtables线性遍历,其中ip set存储在索引数据结构中。 这使其非常有效。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM