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