質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VPN

VPN(Virtual Private Network)は、仮想プライベートネットワークとも呼ばれ、インターネットに接続してるユーザー間に仮想的な通信トンネルを構築した組織内ネットワークです。認証や暗号化を用いて通信経路を保護し安全なネットワークの構築ができます。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

VMware

VMwareとは、 ハードウェアで動作するOS上で仮想マシンを作成、実行するソフトウェアです。 Windows上でUNIX系OSを動作させたり、他のOS上で別の仮想OSを動作することが可能です。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

Q&A

解決済

3回答

841閲覧

Windows Server 2008上のVirtual Machineで設定したCentOS6のApacheにVPN経由でアクセスできない

Arkant

総合スコア14

VPN

VPN(Virtual Private Network)は、仮想プライベートネットワークとも呼ばれ、インターネットに接続してるユーザー間に仮想的な通信トンネルを構築した組織内ネットワークです。認証や暗号化を用いて通信経路を保護し安全なネットワークの構築ができます。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

VMware

VMwareとは、 ハードウェアで動作するOS上で仮想マシンを作成、実行するソフトウェアです。 Windows上でUNIX系OSを動作させたり、他のOS上で別の仮想OSを動作することが可能です。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

0グッド

0クリップ

投稿2020/07/15 10:19

編集2020/07/17 13:20

前提・実現したいこと

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のIPアドレス(192.168.81.101)> で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」で固定ルートを作成しました。
![イメージ説明

➁ホストのポート80の開放(?)
以下、ホストでの「netstat -ano」の結果で、192.168.200.241:80を開放できているかと思います。
![イメージ説明

しかし、外部PCから「telnet 192.168.200.241 80」をしても接続できませんでした。なお、「telnet 192.168.200.241 139」は接続ができました。

これは、ポート80が開いていない状態なのでしょうか?原因がよく分かっていない状態です。

telnetでもポート80に接続できるようになったら、解決できるような気がしますが、どうすれば解決できるのか分かりません…。

➂ホスト⇒ゲストのポートフォワーディング
ホストに来たポート80への通信をゲストのポート80に転送しています。
イメージ説明

拙い説明で申し訳ございませんが、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

直観的に、下記が違和感アリです。

>>➀ホストのルーティングテーブルに
>>「ホストの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」で固定>>ルートを作成しました。

なんで自分のIPに対するネクストホップをVMにするの?
逆じゃ無いですか。

というかそもそもwindowsがNAT箱になっているならroutingの設定もいらない気がします。
windowsでRRASは有効になっていますか?

投稿2020/07/18 01:57

編集2020/07/18 02:07
hana_yama_san

総合スコア923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

以下方法で解決できました。

  1. VMwareの「仮想ネットワークの設定」で「NAT設定」を選択
  2. 「ポートの転送」から編集したい項目を選択し、プロパティを押すと「着信ポートのマッピング」が表示される
  3. ホスト=>VM上のゲスト でポートフォワーディングの設定をする。(例:ホストポート 8099、仮想マシンのポート 80)
  4. ゲストのIPアドレス、サブネットマスクとゲートウェイIPがVMwareで設定したものと同じになるようにする。参考:IPアドレスを変更する方法 https://pentan.info/server/linux/ip_change.html
  5. ホストのブラウザで「localhost:8099」として、ゲストのWebサーバーにアクセスできるか確認する。

6.ファイアウォールの設定(「セキュリティが強化されたWindowsファイアウォール」)で対象となるホストのポートを開放する設定を追加。今回の場合、8099を開放する。
7.外部PCのブラウザでVPNのIPアドレスにポート指定(例:192.168.200.241:8099)してアクセスできればOK

投稿2020/10/21 10:08

Arkant

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

一番カンタンなのは、VMの接続をNATからブリッジにしてしまうことです。
これにより、ホストの属するネットワークにVMが直接接続された状態になるので
普通にVMのIPアドレスにアクセスすることができるようになります。

二番目は、ちょっと面倒ですがホスト上で、nginxか、Apacheを動かし、
VM上のApacheに対してリバースプロクシを立てるという手段です。
これであれば、VMはNATのままでOKですが、ちょっと手間がかかります。

投稿2020/07/15 13:26

YakumoSaki

総合スコア2027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Arkant

2020/07/17 13:22

お返事が遅くなり、申し訳ございません。ご回答いただきありがとうございます。 ご提案いただいた方法に関してなのですが、以下理由により対応が難しいです。 ・1つ目:VMのWebサーバーにVPNで用いているIPアドレスからのみ見れるようにしたい。 ・2つ目:ホストにはもともとApacheが入っていないため、新たに入れるのには抵抗がある。 ご提案いただいたのにも関わらず、申し訳ございません。 私の方で調べた結果、ホストのVPNに使用しているIPアドレスのポート80を開放し、ポートフォワーディングをすれば外部PCからゲストOSのWebサーバーにアクセスできるのではないかと思い、試してみましたが、うまくいっていない状況です。 質問内容に詳細を追記しましたので、ご確認いただけますと幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問