IPTableにIP固有のルールを適用する方法は?

IPTableにIP固有のルールを適用する方法は?

これらのルールをグローバルではなくIPごとに適用するにはどうすればよいですか? IPが毎秒2つ以上のパケットを送信する場合、すべてのIPのすべてのパケットが破棄されるため、1秒あたり2つ以上のパケットを送信するIPからのみパケットをドロップする必要があります。

まず、次の規則を適用します。

/sbin/iptables -t mangle -A PREROUTING -p udp --dport 7778 -m string --hex-string "|5341 4d50|" --algo kmp -m limit --limit 1/sec --limit-burst 2 -j ACCEPT

/sbin/iptables -I INPUT -p udp --dport 7778 -m string --hex-string "|5341 4d50|" --algo kmp -m limit --limit 1/sec --limit-burst 2 -j ACCEPT

次に、次を適用します。

/sbin/iptables -I INPUT -p udp --dport 7778 -m string --hex-string "|5341 4d50|" --algo kmp -j DROP

/sbin/iptables -t mangle -A PREROUTING -p udp --dport 7778 -m string --hex-string "|5341 4d50|" --algo kmp -j DROP

ありがとう

ベストアンサー1

hashlimitモジュールを使用する必要があります。

iptables -I PREROUTING -t mangle -p udp --dport 7778 -m string --hex-string "|5341 4d50|" --algo kmp  -m hashlimit --hashlimit-mode srcip --hashlimit-above 2/sec --hashlimit-burst 1 --hashlimit-name foo -j DROP

ここでは --hashlimit-mode で十分です。以下のマニュアルを参照してください

--hashlimit-モード {srcip|srcport|dstip|dstport},...

考慮すべきオブジェクトのカンマ区切りリスト。 --hashlimit-mode オプションが指定されていない場合、hashlimit は制限のように動作しますが、ハッシュ管理が犠牲になります。

たとえば、次のように、各送信元 IP-宛先ポートのペアの速度を設定できます。

--hashlimit モード srcip,dstport

おすすめ記事