実際にパケットをルーティングできるLinux仮想インターフェース

実際にパケットをルーティングできるLinux仮想インターフェース

私はインターネットに接続する実際のインターフェースを 1 つ持つ Linux マシンを持っています。eth0 192.168.1.108 とします。

[eth0] を介してトラフィックをルーティングするが、いくつかのアクセス制御リストに基づいて異なる IP アドレス [10.10.0.1] を表示する仮想インターフェイスを作成する必要があります。

アクセス制御の目的で、IP アドレス 10.10.0.1 を持つ新しい仮想デバイスを作成する必要があります。

ダミーデバイスを作成しました

ip link add name acl0 type dummy
ip addr add 10.10.0.1
ip link set dev acl0 up

これによりインターフェースが作成されますが、実際にはトラフィックはルーティングされません。

実際にトラフィックをルーティングする特定の IP アドレスを持つ仮想デバイスを作成するにはどうすればよいですか?

答え1

質問を編集し、2 番目の IP が必要な理由と、アクセス目的でそれをどのように使用する予定かの詳細を提供してください。

アンインターフェース「トラフィックをルーティング」しません。カーネルがトラフィックをルーティングします。

  1. ダミー インターフェイスが役立つのは、機能のない IP のプレースホルダーとして使用し、アプリケーションをバインドできるようにする場合だけです。多くの人が、ダミー インターフェイスが何らかの機能を果たすと誤解していますが、実際にはそうではありません。

  2. 同じインターフェースに複数のIPアドレスを割り当てることもできますが、その場合はすべてのアプリケーションが練る特定のアドレスに送信するか、ランダムな効果をデバッグして楽しむことができます。

  3. どのような「アクセス制御」が必要かに応じて、異なるアプリケーションごとにネットワークを分離する簡単な方法は、ネットワーク名前空間「特別な」アプリケーションをネットワーク名前空間内に配置すると、ネットワークに関しては別のマシンで実行されているかのように動作するため、異なる設定を行うことができます。

を使用して、異なる IP アドレスを持つ同じインターフェイスを使用するmacvlaneth0(または DHCP を使用して IP を割り当てる)、新しい名前空間とメイン ネットワーク名前空間の間に veth ペアを作成してから、通常のルーティングを実行します。

関連情報