質問: ### 前提・実現したいこと VMにCentOS6を設置し、VPNで他のPCからCentOS上のApacheにアクセスしたいです。 IPアドレスの設定は以下の通りです。 【ホスト(Windows Server 2008)上のVPNアダプター】 IPアドレス: 192.168.200.241 サブネットマスク: 255.255.255.0 デフォルトゲートウェイ:192.168.200.254 【VM:VMnet1】 IPアドレス: 192.168.81.1 サブネットマスク: 255.255.255.0 ゲートウェイIP: 192.168.81.2 【ゲスト:CentOS6】 IPアドレス: 192.168.81.101 サブネットマスク: 255.255.255.0 ゲートウェイIP: 192.168.81.2 VMの構築にはVMwareを使用し、仮想ネットワークの設定でVMnet1をNAT接続にしてVM上のCentOSに接続できるようにしています。 ホストのWindows Server 2008からは ping でVMに通信できる状態です。 しかし、VPN接続した外部PCから ping <ホストのIPアドレス(192.168.200.241)> で通信はできていますが、ブラウザには 「このサイトにアクセスできません <ホストのIPアドレス> からの応答時間が長すぎます。」 と表示されています。 ### 試したこと ➀ホストのルーティングテーブルに 「ホストのIPアドレス(192.168.200.241)=>VMのIPアドレス(192.168.81.1)」 のルートを追加しました。 具体的には、「route add 192.168.200.241 mask 255.255.255.0 192.168.81.1 -p」で固定ルートを作成しました。 ![![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/c30d0c4e078e61558d42a3cbf75a3fc8.png) ➁ホストのポート80の開放(?) 以下、ホストでの「netstat -ano」の結果で、192.168.200.241:80を開放できているかと思います。 ![![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/728a2a05857e7c2935723ed7204ac948.png) しかし、外部PCから「telnet 192.168.200.241 80」をしても接続できませんでした。なお、「telnet 192.168.200.241 139」は接続ができました。 これは、ポート80が開いていない状態なのでしょうか?原因がよく分かっていない状態です。 telnetでもポート80に接続できるようになったら、解決できるような気がしますが、どうすれば解決できるのか分かりません...。 ➂ホスト⇒ゲストのポートフォワーディング ホストに来たポート80への通信をゲストのポート80に転送しています。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/00054ca9e6935d1c2c040f3305c13213.png) 拙い説明で申し訳ございませんが、よろしくお願いいたします。
回答: 以下方法で解決できました。 1. VMwareの「仮想ネットワークの設定」で「NAT設定」を選択 2. 「ポートの転送」から編集したい項目を選択し、プロパティを押すと「着信ポートのマッピング」が表示される 3. ホスト=>VM上のゲスト でポートフォワーディングの設定をする。(例:ホストポート 8099、仮想マシンのポート 80) 4. ゲストのIPアドレス、サブネットマスクとゲートウェイIPがVMwareで設定したものと同じになるようにする。参考:IPアドレスを変更する方法 5. ホストのブラウザで「localhost:8099」として、ゲストのWebサーバーにアクセスできるか確認する。 6.ファイアウォールの設定(「セキュリティが強化されたWindowsファイアウォール」)で対象となるホストのポートを開放する設定を追加。今回の場合、8099を開放する。 7.外部PCのブラウザでVPNのIPアドレスにポート指定(例:192.168.200.241:8099)してアクセスできればOK