GNU/Linux >> Linux の 問題 >  >> Linux

同じサブネット上の IP を持つ複数の物理インターフェイス

解決策 1:

強力なエンド システム モデルが必要です。 Linux は基本的に弱い送信システム モデルを中心に構築されているため、このアプリケーションに適した OS の選択肢ではありません。

ARP からポリシー ルーティング、送信元アドレスの選択まで、必要なすべての動作を偽造する必要があります。また、パケットが間違ったインターフェイスに到着した場合にパケットが受け入れられないようにするためのフィルターも必要です。

絶対に必要な手順は次のとおりです:

<オール>
  • すべてのインターフェイスで arp_filter=1 と arp_ignore=2 を構成します。

  • 送信トラフィック用のインターフェイスごとのソースベースのルーティングを追加します。 (宛先インターフェイスは、送信元アドレスに基づいて選択する必要があります。)

  • インターフェイスごとのイングレス フィルタリングを追加して、間違ったインターフェイスで受信したパケットを静かにドロップします。 (宛先アドレスが別のインターフェースに割り当てられたパケット。)

  • 残念ながら、これら 3 つの手順だけで十分かどうかについては、意見の一致はありません。ウィーク エンド システム モデルは Linux TCP/IP スタック全体に組み込まれており、マルチキャストなどの微妙な問題で何が問題になるかは明らかではありません。

    たとえば、ブロードキャスト用の出力インターフェイスをどのように選択するかは明確ではありません。全部出すべき?多分。送信元アドレスがインターフェイスのいずれにも割り当てられていないアウトバウンド ブロードキャストをスタックが取得した場合の正しい動作はどれですか?

    繰り返しになりますが、あなたは仕事に間違ったツールを選択しています.

    解決策 2:

    多くの場合、8/9 インターフェイスを使用してブリッジを作成し、そのブリッジに IP アドレスを割り当てます (bridge-utils パケット、コマンド 'brctl add')。

    このようにして、ブリッジはスイッチのように機能し、サブネットに IP アドレスを持つことができます。

    解決策 3:

    物理インターフェイスを結合してから、結合された 1 つのインターフェイスですべてのアドレスを構成することをお勧めします。

    スイッチのサポートも必要です。

    これは、開始するために使用できるミニ チュートリアルです。

    解決策 4:

    9 台の個別のマシンに相当するテスト環境が必要なようで、1 台のマシンで 9 つのインターフェイスがそれをエミュレートできると信じていました。 Linux では、David Schwartz が説明した理由により、単一のスタックを介してこれを行うことはできません。 BTDTと傷があります。インターフェースが 2 つあるだけでも十分でした。

    より良い解決策は、1 つのホストで 8 つまたは 9 つの個別の仮想マシンを実行し、8 つまたは 9 つのインターフェイスをこれらの仮想マシンにブリッジすることです。


    Linux
    1. カーネルがプロセスと同じアドレス空間にマップされるのはなぜですか?

    2. 複数の Tor プロセスを異なる終了 IP で一度に実行する方法は?

    3. 端末を使用して 1 つの物理的な紙のページに複数の別々の写真を印刷する

    1. Mate-terminalの複数のインスタンスが同じPidを持っているのはなぜですか?

    2. 複数の列でN回出現する文字列を持つ行の数を数えますか?

    3. 前のウィンドウと同じディレクトリで新しいターミナル ウィンドウを生成する

    1. 複数の`-name`と`-exec`を持つ`find`は`-name`の最後の一致のみを実行しますか?

    2. 既存の関数と同じ名前のパスで実行可能ファイルを実行しますか?

    3. 同じコンピューター上の複数のDropboxアカウント?