Virtual Box ブリッジネットワークとポート転送

Virtual Box ブリッジネットワークとポート転送

問題があります。これが私のネットワークの図です。 ここに画像の説明を入力してください

  1. インターネットに接続された WIFI ルーターがあり、インターネット経由でローカル PC にアクセスできるように ISP から静的 IP を注文しました。
  2. 私のルーターはネットワーク192.168.0.0/24を作成します
  3. ローカル PC サーバー (192.168.0.101) にいくつかのポートが転送されています。 ここに画像の説明を入力してください
  4. ローカルPCに仮想ボックスをインストールしました
  5. Vagrant を通じて作成および管理されるノードが 2 つありますが、ここでは最初のノードに注目します。
  6. 各 VM には 2 つの NIC があり、1 つ目は Vagrant 通信用の NAT、2 つ目はローカル PC インターフェイス enp3s0 を介したブリッジ アダプタです。
  7. すべてのノードには、ルーターのDHCP設定でバインドされた特定のMACアドレスがあり、静的IP(192.168.0.110および192.168.0.111)が割り当てられます。
  8. すべてがローカルネットワーク内で機能し、ノードは正しいIPアドレスを受け取り、ローカルネットワークを介して任意のノードポートにアクセスできます。
  9. IP 192.168.0.110 のノードは Apache サーバーを実行しており、ローカル ネットワーク内では正常に動作します。
  10. 外部からこのノードの Apache サーバーにアクセスしたいので、上のスクリーンショットにあるように、外部ポート 8888 を IP 192.168.0.110 のマシンのローカル ポート 80 に転送しました。

しかし、問題は、外部からノード Apache にアクセスできないことです。接続がタイムアウトまたはリセットされます。Wireshark を使用してトラフィックをキャプチャしようとしましたが、次のエラーが表示されます。

ここに画像の説明を入力してください ここに画像の説明を入力してください これを動作させることは可能ですか? または、唯一の解決策は、ポート転送を備えた NAT を使用してパケットをノードに転送するのではなく、ポートを 192.168.0.101 PC に転送することですか?

この問題の解決にご協力ください。 ありがとうございます。

答え1

これはあなたが求めている答えではないことは承知していますが、私は 1 日以上頭を悩ませてこの結論に至りました。動作するはずなのに動作しない私は Linux のプロで、Linux のネットワークに精通しています。他のフォーラムでは、あなたのやり方は正しいと書かれており、私も同意しますし、うまくいくはずです。私自身、まったく同じ設定を 2 つのまったく異なるネットワークで試してみましたが、うまくいきませんでした。

ブリッジ アダプタの横に NAT アダプタを配置してこれを実行する必要があります。NAT でポート転送を設定し、ホスト IP を 0.0.0.0 に設定します。

ルーターで、クライアント VM ブリッジ IP ではなく、ホスト IP アドレスにポート転送を実行します。したがって、例に従って、ポート 8888 を同じポート 8888 のホスト IP アドレスに転送します。

Vagrant では、NAT ポート転送は次のようになります。

config.vm.network "forwarded_port", guest: 80, host_ip: "0.0.0.0", host: 8888

関連情報