答え1
現在のネットワークは次のとおりです:
╔══════════════╗ ╔════════════════════╗
║VM @ 10.0.2.15║───║Host @ 192.168.1.122║───[Internet]
╚══════════════╝ ╚════════════════════╝
実行しようとしているのは次のことです (ルーターのポート 80 を 10.0.2.15 に転送します)。
╔══════════════╗ ╔════════════════════╗
║VM @ 10.0.2.15║───║Host @ 192.168.1.122║───[Internet]
╚══════════════╝ ╚════════════════════╝ │
└─────────────────────────(Port 80)──────┘
ルータは 10.0.2.15 が 192.168.1.122 の背後にあることを認識していないため、これは機能しません。
代わりに、次の操作を行う必要があります (ルーターのポート 80 を、10.0.2.15 を認識している 192.168.1.122 に転送します)。
╔══════════════╗ ╔════════════════════╗
║VM @ 10.0.2.15║───║Host @ 192.168.1.122║───[Internet]
╚══════════════╝ ╚════════════════════╝ │
└───(Port 80)────┘
次に、これを実行します (192.168.1.122 がトラフィックを取得しているので、それを 10.0.2.15 に送信します)。
╔══════════════╗ ╔════════════════════╗
║VM @ 10.0.2.15║───║Host @ 192.168.1.122║───[Internet]
╚══════════════╝ ╚════════════════════╝ │
└───(Port 80)────┘ └───(Port 80)────┘
答え2
ユーザーが述べたように、ルータから VM ホスト (192.168.1.122) にトラフィックを転送する必要があります。そこから、次の 2 つのオプションのいずれかをお勧めします。
1: VM をネットワーク ブリッジを使用するように構成します。これにより、DHCP を使用してルーターから IP アドレスを取得し、ローカル ネットワーク上の他のデバイスと同様にアクセスできるようになります。(その後、VM の 192.168.1.0/16 の DHCP 割り当てアドレスにトラフィックを転送します)
2: ハイパーバイザー上の VM へのポート転送を構成します。
構成例: https://www.howtogeek.com/122641/how-to-forward-ports-to-a-virtual-machine-and-use-it-as-a-server/
仮想化に何を使用するかによって多少異なりますが、すべてのハイパーバイザーに同じ概念が適用されます。