大規模なIPブロックがサーバーのパフォーマンスに影響しますか?

大規模なIPブロックがサーバーのパフォーマンスに影響しますか?

ゲームサーバーがあり、誰かがボットにスパムを送っています。 SpamBotクライアントはUDP接続を使用してサーバーとハンドシェイクします。これはプロキシリストを介して行われます。デフォルトでは、Spambotクライアントは多くのUDPパケットを私のサーバーに送信し、ボットを使用してスパムを送信します。

今、私にスパムを送る人が使う6つの大規模なプロキシのリストがありました。すべてのリストのすべてのIPをブロックするシェルスクリプトを作成できます。各IPは新しい行にあるため、forループを使用すると簡単に実行できます。

問題は、サーバーのパフォーマンスが心配です。 15,000個のIPアドレスをブロックすると、サーバーのパフォーマンスに影響しますか?

現在私はCentOS 7を使用しています。 IPテーブルが良いアプローチであるかどうか、他の代替方法を試す必要があるかどうかを教えてください。命令も書いてください。私のサーバーはこれらのIPアドレスへの応答を停止し、そのIPアドレスへの接続を確立したくありません。

答え1

IP 数が多すぎる場合は、以下を使用する必要があります。ipsetsモジュール。 ipset は、iptables が反応できるデータセットを生成します。10〜1000個のアイテムを簡単に処理できます。

あなたが持っていることを確認してくださいEPELリポジトリ以下を介してipsetを有効にしてインストールします。

yum install ipset

一例:

ipset -N blockedip iphash

「iphash」形式で「blockedip」というコレクションを作成します(他の形式がありますが、この形式はIPでのみ機能します)。

ipset -Aを使用すると、データセットにデータ(この場合はIP)を追加できます。

ipset -A blockedip 192.168.1.1
ipset -A blockedip 192.168.1.2

など...

または、IPv4アドレスリストが1行に1つずつあるとipset仮定し、IPアドレスごとに単一の呼び出しを実行せずに一括生成します。big-file.list

ipset -N blockedip iphash
sed 's/^/add blockedip /' < big-file.list | ipsec restore

次のiptablesコマンドを使用すると、このグループのすべてのソースからすべてのパケットをドロップするようにカーネルに指示できます。

iptables -A INPUT -m set --set blockedip src -j DROP

答え2

15,000の異なるIPアドレスについて話している場合欲しくないiptables各アドレスに対して別々のルールを使用したいと思います。これにより、ネットワークスループットが低下します。

代わりに、単一の使用を検討する必要があります。IP設定次に、15,000の住所をここに入力してください。

ipset create spambots iphash
iptables -A INPUT -m set --match-set spambots src -j DROP

while read ip; do ipset add spambots "$ip"; done < ip_addresses.txt

delIPセット、flush全エントリセットから個々のアドレスを削除(削除)したり、destroyIPセットを完全に削除したりできます。

答え3

次の形式の入力ファイル「ips.txt」が提供されます。

1.2.3.4
2.3.4.5

その後、このスクリプトはDROP宛先を使用してすべてのIPアドレスをiptables入力チェーンに追加し、一致するパケットを破棄します。

 cat ips.txt| while read a; do echo $a;  iptables -I INPUT -p udp -s $a -j DROP ; done

多くのIPを追加したい場合は、以下の例のようにIPを蓄積してみてください。

1.2.3.4
1.2.3.5

~になる

1.2.3.0/28

または同様です。この蓄積はスクリプトを介して行うこともできます。

答え4

もう1つの方法は、いわゆるルーティングブラックホールを使用してこれらのIPをブロックすることです。 ip route add blackhole 8.8.8.8/32 これは、上記のアドレスに対してデータをどこにも送信しない経路が確立されていることを意味する。通常のiptablesソリューションよりも優れたパフォーマンスを発揮するかどうかは、サーバー構成によって異なります。本番システムに展開する前に、両方のアプローチをベンチマークする必要があると思います。

関連情報