仮想ネットワークインターフェイスとVPNペリフェラルルーティング

仮想ネットワークインターフェイスとVPNペリフェラルルーティング

システム全体のVPNに頻繁に接続するため、特定のアプリケーションはそのVPNをバイパスする必要があります。私のホームネットワークでは、現在私が使用している別のボックス(たとえば、別の「VPNなし」Firefoxプロファイル)でSOCKSプロキシを実行しています。私にとって必要なのは、インターフェイスレベルですべてのLANでこれを行うための独立した方法ですが、必ずしもそうではありません。

  1. これらのインターフェイスを作成し、利用可能な「親」接続(イーサネット、WiFi)を使用するにはどうすればよいですか?これはTUN/TAPですか?足?
  2. ルータから取得した元の(VPNなし)デフォルトルートをこのインターフェイスに適用して、トラフィックがVPNの新しいデフォルトルートをバイパスできるようにする方法はありますか?たとえば、ホテルのWiFiで「ただ動作する」には、この機能が必要です。

VirtualBoxには、独自のMAC / IPを使用してLAN上の別々の物理デバイスのように見えるクールな「ブリッジ」ネットワークアダプタがあります。たぶんそれを複製する方法はありますか?

特定のipコマンドまたはNetworkManagerディレクティブ(Debian KDEの実行)を見つけます。

答え1

ネットワーク名前空間に何かを具体的に追加するには、macvlanまたはipvlanインターフェイスを作成します。これは、VirtualBoxの「ブリッジネットワーキング」ネットワークタブドライバの動作方法に最も近い組み込み機能です。 macvlanは独自のMACアドレスを持ち、親インターフェイスのブリッジとして機能しますが、ipvlanは元のMACアドレスを共有します。

Macvlan インターフェイスは MAC アドレスをサポートしません迷彩VirtualBoxはWi-Fiネットワークに接続してもこれを行います(接続されたクライアントごとに1つのMACに制限されているため)、ipvlanはより便利なオプションになります。

(またはveth-pairを作成して、デフォルトの名前空間と別々の名前空間の間のケーブルとして機能することができます。パケットはホストのルーティングテーブルに従います。するように指示できます。

他のすべての場合、この仮想インターフェイスは仮想インターフェイスとまったく同じことを行うため、実際には役に立ちません。本物インターフェースも同様です。もともとeth0インターフェイスはローカルネットワークへのアクセスを失わなかったので、実用的な唯一の方法であるwlan0新しいipvlanインターフェイスを作成しても新しいインターフェイスは必要ありません。使用これは基本的にすでに行ったのと同じプロセスを実行することです。

つまり、VPNが有効になっていてもそれでもソフトウェアにソケットをwlan0にバインドするように指示できます。あるいは、wlan0のIPアドレスは、仮想インターフェイスを使用するのと同じです。いずれにしても使用するデフォルトパスに影響を与えるのは、インターフェイスではなくルーティングテーブルです。 「ポリシールーティング」を台無しにする必要があります。動作させるには動作するので、実際のインターフェイスを使用して実行する方が良いです。

関連情報