我想根据某些条件从我的机器中删除传出的IP数据包。我检查了iptables提供的功能,但不幸的是它没有我想要的东西。
所以我想要的是访问数据包(至少是在我的机器上生成并出去的数据包)。并根据一些标准来放弃它们。
我是否应该考虑修改iptables源代码以添加此功能,还是应该创建一个Linux内核模块来执行此操作?或者我还应该考虑其他什么?
我想要一些一般性的指导,但任何细节如iptables中可以添加此类功能的特定文件也将非常有用!
答案 0 :(得分:1)
根据您所描述的内容,听起来您尝试做的事情可能会被视为新的iptables
匹配。在我们为您提供更详细的建议之前,您必须告诉我们您尝试丢弃数据包的条件。
答案 1 :(得分:1)
我很确定iptables可以用来根据条件丢弃数据包。如果条件很复杂,你可能需要编写自己的netfilter插件(http://netfilter.org/)来增加iptables的功能。
答案 2 :(得分:1)
您可以使用netfilter的NFQUEUE目标。它将数据包发送到userland程序,该程序可以解析有效负载并返回DROP或ACCEPT等决策。
您可以在netfilter website上找到文档和示例。
在man iptables
...