テキストファイルのIPアドレスリストを使用してiptablesルールを提供する方法

テキストファイルのIPアドレスリストを使用してiptablesルールを提供する方法

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

を使用してリストを提供する方法を提案できますiptablesIPsipset

簡単に以下を作成できます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

おすすめ記事