web-dev-qa-db-ja.com

iptablesは別のIPへのトラフィックを複製します

これ ブログの投稿には、ルーターと別のIPアドレスとの間でトラフィックを転送するためのテンプレートiptablesルールがあります。

    iptables -t mangle -A POSTROUTING \
    -d [IP to spy on] \
    -j ROUTE –tee –gw [IP of wireshark]

   iptables -t mangle -A PREROUTING \
    -s [IP to spy on] \
    -j ROUTE –tee –gw [IP of wireshark]

スパイしたい特定のIPがないため、コマンドをテストしていません。

ただし、構文に問題があると思われる次のことを試みました。

    iptables -t mangle -A POSTROUTING \
    -j ROUTE –tee –gw [IP of wireshark]

   iptables -t mangle -A PREROUTING \
    -j ROUTE –tee –gw [IP of wireshark]

エラーで:

Try `iptables -h' or 'iptables --help' for more information.
Bad argument `–tee'
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `–tee'

次に、効果のない次の投稿を見つけました: iptables経由のミラーポート

最終目標、すべての送信元とすべての宛先から特定のIPへのすべてのトラフィック(着信と発信)を複製します。

8
cripto

ROUTEパッチは、iptablesを機能させるためにLinuxカーネルソースコードに適用する必要があるカーネルパッチです。関連情報は こちら にあります。ただし、このWebページで説明されているパッチはかなり古く(2005年)、新しいカーネルリリースで正しく機能するかどうかはわかりません。

代わりに、新しいiptables拡張が詳細 here であり、これらdoが機能します。特に、次のように述べられています。

iptablesは拡張ターゲットモジュールを使用できます。以下は標準ディストリビューションに含まれています。

したがって、それらは標準のLinuxリリースで誰でも利用できるはずです。ターゲット拡張機能の1つはTEEであり、次のように述べられています。

TEE

TEEターゲットはパケットのクローンを作成し、このクローンをlocalネットワークセグメント上の別のマシンにリダイレクトします。つまり、ネクストホップがターゲットである必要があります。そうでない場合は、必要に応じてネクストホップをさらに転送するように設定する必要があります。

--gateway ipaddr

指定されたIPアドレスで到達可能なホストにクローンパケットを送信します。 0.0.0.0(IPv4パケットの場合)または::(IPv6)の使用は無効です。

Eth0のすべての着信トラフィックをネットワークレイヤーのログボックスに転送するには:

-t mangle -A PREROUTING -i eth0 -j TEE --gateway 2001:db8 :: 1

TEEという名前は、標準入力から読み取り、出力(標準出力に送られるだけ)をユーザー指定のファイルに複製する標準teeコマンドの1つを思い出させることを明確に意図しています。パケットについても同じことが言えます。ルールが適用されるパケットは複製され、1つは目的の宛先に送信されますが、新しく作成されたクローンはスパイターゲットに送信されます。

したがって、ルーター(たとえば、192.168.1.1)上のpc 192.168.1.15のすべての着信および発信トラフィックを複製します。そしてスパイPC 192.168.1.100にリダイレクトし、以下を使用します:

 iptables -t mangle -A PREROUTING -d 192.168.1.15 -j TEE --gateway 192.168.1.100
 iptables -t mangle -A PREROUTING -s 192.168.1.15 -j TEE --gateway 192.168.1.100
23
MariusMatutiae