
iptables
プレーンテキストファイルのIPアドレスを使用してルールを提供できるモジュールはありますか?
iptables-restore
例:WhatsApp固有のIPアドレスを許可するためのカスタムルールセットで作成されたカスタムチェーンがあります。
:_WHATSAPP_ - [0:0]
-A _WHATSAPP_ -j ACCEPT
-A FORWARD -s <src_host> -d 31.13.64.51/32 -j _WHATSAPP_
-A FORWARD -s <src_host> -d 31.13.65.49/32 -j _WHATSAPP_
-A FORWARD -s <src_host> -d 31.13.66.49/32 -j _WHATSAPP_
-A FORWARD -s <src_host> -d 31.13.67.51/32 -j _WHATSAPP_
-A FORWARD -s <src_host> -d 31.13.68.52/32 -j _WHATSAPP_
-A FORWARD -s <src_host> -d 31.13.69.240/32 -j _WHATSAPP_
----snip-----
WhatsApp が使用するすべての IP アドレスは、以下にあります。このリンク。
場合によっては、このファイルをダウンロードし、ipv4アドレスをフィルタリングし、次の情報(存在する場合)でiptablesを提供するスイッチを使用する方が高速です。
:_WHATSAPP_ - [0:0]
-A _WHATSAPP_ -j ACCEPT
-A FORWARD -s <src_host> --from-file-dst /etc/iptables/whatsapp_cidr.txt -j _WHATSAPP_
この機能はありますか?マンページで見つかりません。
iptables-restore
ファイルを処理するためにすでにsintaxルールを使用しているカスタムファイアウォールスクリプトがあるため、ファイルを読み込んで読み取ることができるモジュールが必要です。
答え1
を使用してリストを提供する方法を提案できますiptables
。IPs
ipset
簡単に以下を作成できますipset
。
ipset -N <ipset name> iphash
IP
その後、次を使用してコレクションに何かを追加できます。
ipset add <ipset name> IP
その後、次のコレクションを使用できますiptables
。
-A FORWARD -d <dst> -m set --match-set <ipset name> src -j _WHATSAPP_
IPs
実行せずに、実行時にコレクションにデータを提供し、コレクションから削除できる簡単なスクリプトを作成できます。iptables-restore
答え2
これを活用すればいいと思います。https://gist.github.com/woods/25ef91a95da85bf10974 次に、IPで別々の.csvファイルを生成し、それをIPTABLESに供給します。