web-dev-qa-db-ja.com

VMWareを使用してポート転送を行う正しい方法は何ですか

VMで、サーバーがlocalhost:8675/で実行されているので、理解しやすいように同じポートでホストマシンに接続したいと考えていました。これらをドキュメントに従って作成しました。詳細については:

VMWare WorkstationでVMをクリックしてから、Edit> Virtual Network Editorとクリックしました。その後、有効化設定の変更により、管理者モードでウィンドウが再起動されました。タイプNATおよび外部接続NATのVMRow情報でNATラジオボタンが押された状態で、NAT設定ボタンをクリックしました。

私は言った:Add ...そしてそれから:

Host: 8675
Type: TCP
VMIP: 127.0.0.1:8675
Description:  Port Foward of 8675 from Host to VM.

すべてが良いようです。 OKApplyを続けて言います。 NATをシャットダウンし、一部のサービスを再開したようです。

VMで確認しましたが、127.0.0.1:8675が正しいです。ホストで、私は移動しようとしました:http:// localhost:8675 /そしてそれは言う:ERR_CONNECTION_REFUSED

これで十分だと思いました。

私はいくつかの追加情報を調べていて、何人かの人々がファイアウォールを構成しなければならないことに気づきました。ホストとVMはすべて1台の実際のマシンにあるので、完全に自己完結型であるかもしれないと思っていたので、必要かどうかはわかりませんでした。

私が見逃している重要なタスクはありますか?

8
Fallenreaper

私はこの投稿を見ました: https://superuser.com/questions/571196/port-forwarding-to-a-vmware-workstation-virtual-machine これは、ブリッジして使用するように調整するように言っただけですそのように。これはホストの接続の問題を解決しますか/ VM問題。

これは正解だとは言いませんが、質問自体はNATに固有なので、これは機能する有効な代替回答です。

これは現在の基本的な問題を解決しますが、問題は解決しません。

1
Fallenreaper

私はあなたが実際にあなたの質問に正確に答え、私がそれに従っていて、望ましい結果を達成したと信じています。

私見、エラー:ERR_CONNECTION_REFUSEDは、ホストOSまたはゲストOS(VM)または両方のファイアウォールが、指定されたポートを介した通信を許可していないことを示します。

最も簡単な方法は、ホストとゲストOSの両方でファイアウォールを無効にすることです。

あなたのOSが何かはわかりませんが、Ubuntuでファイアウォールルールを設定するための良い ガイドがあります

2
DelphyM

NATを使用する場合、ホストシステムとゲストボックスの仮想サブネットではIPアドレスが完全に異なるため、ホストシステムからlocalhost:8675に接続しようとすると、実際にはポート8675に接続しようとしていると思いますゲストではなくホスト。そのため、localhostまたは127.0.0.1構文を使用しないでください。ただし、ゲストの実際のIPアドレスを見つけて使用してください。ゲストがWindowsの場合はipconfigコマンドを使用し、Linuxの場合はifconfigを使用します。

おそらく、ゲスト側でもファイアウォールを構成する必要があります。

編集:「NAT:ホストのIPアドレスを共有するために使用されます。」という文にコメントします。おそらくホストにある実際のイーサネットアダプターのIPアドレスを指し、ホストとゲストがインターネットにアクセスするために共有します。これは、ホストとゲストが一緒に通信する方法とは関係ありません。たとえば、VMware Workstationを使用して、Windowsで仮想Linuxボックスを実行しています。 NATを選択すると、VMwareはVMnet8と呼ばれる仮想サブネットを作成します。このサブネットでは、仮想ルーターのアドレスは192.168.120.0、Windowsホストにはアドレス192.168.120.1の仮想イーサネットアダプターが割り当てられ、Linuxゲストにはアドレス192.168.120.128が割り当てられています。したがって、WindowsからSamba共有フォルダにアクセスする場合は、Windowsコマンドプロンプトで「Net Use *\192.168.120.128」と入力します。 LinuxからWindows共有フォルダーにアクセスする場合は、「Sudo mount.cifs //192.168.120.1/path_to_shared_folder target_folder」と入力します。