带有随机时间变量参数的 iptables 规则

带有随机时间变量参数的 iptables 规则

我正在寻找满足以下条件的长期 iptables 规则。假设我们有一个用户池(从:--uid 所有者 100,到:--uid 所有者 200)我们的 iptables 规则:

iptables -t filter -A OUTPUT -m owner --uid-owner 100 -j REJECT

问题:如何随机改变论点

--uid-owner 

每 5 分钟?

问候。马克

答案1

这样做的根本目的是检查 iptables 是否能够使用随机变量参数。或者如何将随机变量参数内置到 iptables 规则中?[quote] 限制给定用户可以执行的网络活动量[/quote] 这不是重点,只是示例。

答案2

答案取决于您到底想如何做。

我能想到的最简单的方法是让 cronjob 每五分钟使用随机 UID 重新生成一条规则(如何获取该随机 UID 取决于您的需求,但也可能被黑客入侵--uid-owner $(( 100 + $RANDOM%100 )))。

您需要一种删除先前随机规则的方法,但我认为这符合您的要求。

另一种方法可能是为每个 UID 创建一个规则,每个规则如下所示:

-A CHAIN --uid-owner NUMBER -m statistic --mode random --probability 0.9 -j DROP

我认为这样做和您所建议的是一样的 - 但我可能误解了您的确切意思。

答案3

恐怕我表达自己的观点的方式不够充分。简而言之,这个想法是拒绝随机用户在 OUTPUT 链中的整个流量,并每 5 分钟更改一次用户。换句话说,iptables 规则:[code]iptables -t filter -A OUTPUT -m Owner --uid-owner 100 -j REJECT[/code] 将拒绝(针对一个随机用户)OUTPUT 链中的整个流量 5 分钟。没有互联网连接。其他人将享受互联网连接,每 5 分钟不同的(随机)用户将受到歧视

答案4

你怎么看待这件事?

iptables -t nat -A POSTROUTING -o eth0 --uid-owner 001-100 -m statistic --mode random --probability 0.9 -j DROP

相关内容