web-dev-qa-db-ja.com

別のコンピューターで実行されている仮想マシンでクライアントサーバーアプリケーションを実行する方法

こんにちは、Ubuntu 16.04とUbuntu 14.04を実行している2台のラップトップがあります。それぞれにSolaris 11を実行する仮想マシンがあります。ある仮想マシンでサーバープログラムを実行し、異なるラップトップの別の仮想マシンでクライアントプログラムを実行したいと思います。これは可能ですか?

Googlingを試しましたが、同じコンピューター上の仮想マシンの接続に関する情報しか見つかりませんでした。これを行う方法を提案してください。

ありがとう

編集:私はバーチャルボックスでこれをやろうとしていると私の自宅の無線LANを使用しています。

3
vikramreddym

ネットワークの観点から2つのオプションがあります。

  1. NATがたくさん。デフォルトでは、仮想化ソリューションでNATモードを使用するようにVMが設定されていると仮定しています。実行可能ですが、注意が必要です。

  2. ホストシステムが存在する実際のネットワークにVMを「ブリッジ」します。これにより、NATの頭痛がなくなります。これは簡単なオプションです。



オプション1:VM NATモードでのネットワーキング

注:これを確実に動作させることは一度もありません。ずっと信頼できるブリッジモードを常に使用しています。

VMwareとVBoxは両方とも、NATとポート転送を許可するように設定されています。これはすべてうまくいきますが、これがもたらす頭痛の種がいくつかあります。


VMWare

VMware Workstation Proがない限り、NATポートフォワーディングを簡単に設定することはできません。これは、NATポート転送の仮想ネットワークエディターがnot shippingであるためです。 Workstation Playerまたは古いVMware Playerソフトウェアバージョンを使用します。

Virtual Network Manager/Editorを持っていると仮定しますが、「サーバー」となるVMがあるシステムで以下を実行します。

(1)Virtual Network Manager/Editorを開き、「外部接続」リストとして「NAT」を持つ1つのアダプターを選択します。この画像が示すようになります: enter image description here

(2)[NAT設定]を選択すると、次のようなウィンドウが表示されます。

enter image description here

(3)「ポート転送」領域の下で、「追加」をクリックします。次のようなウィンドウが表示されます。

enter image description here

次のように情報を設定します。

ホストポート:サーバーがVMでリッスンしているのと同じポートである可能性がありますが、必要に応じて別のものにすることもできます。

タイプ:TCPまたはUDPは、サーバーとそのリッスン方法によって異なります。ここではTCPと仮定しても安全ですが、ほとんどのアクティブ接続サーバーはTCPです。

IPアドレス:VMのIPアドレス。これは、コマンドラインのVM内からip -4 addr listを使用して取得できます。

仮想マシンポート:サーバーアプリケーションがリッスンするポート。

説明:このポート転送の目的の説明。

おそらく一時的にVMをシャットダウンし、Sudo systemctl restart vmwareでVMwareサービスを再起動して、すべてのポート転送/ブリッジングルールを再ロードする必要があります。

(4)サーバーを使用してVMを起動します。クライアントVMから、サーバーVMを実行しているコンピューターのIPアドレスに接続するようにクライアントに指示してください(サーバーVMを搭載したラップトップが192.168.250.20のIPアドレス。クライアントVMのアプリケーションは192.168.250.20に接続しようとします。

これはすべての場合に機能するとは限らないことに注意してください。代わりにブリッジモードを使用することを強くお勧めします。


VirtualBox

私はneverVBox NATネットワークポートフォワーディングが動作するようになりました。 VBoxを使用している場合、NATの代わりにブリッジモードを使用することを強くお勧めします。 (これはVBoxには明確に答えませんが、VBoxからこれらのポートフォワードをテストしてみましたが、まったく機能しませんでした)。

私が試していないわけではありませんが、16.04では、VirtualBoxはアウトバウンドを何にも接続できず、NAT機能用の仮想ネットワークインターフェイスを設定しませんでした。その場合、Bridgedなしでは正しく機能しないと思いましたが、なぜNATの容量にならないのかわかりません。



オプション2:VM Networking:Bridged Mode

VMを「ブリッジ」モードで実行し、VMに割り当てられている独自のLAN/WifiネットワークからのIPアドレスを使用する必要があります(「ブリッジ」の結果、VMに接続して、仮想マシンが接続されているように見えます)ホストコンピューターの実際のネットワーク上)。

まず、両方のシステムでVMを構成して、「ブリッジネットワーク」モードを使用します。これがどのように表示されるかは、VMのソリューションとVMのソリューションとは異なりますが、常に「ブリッジ」または同様の(少なくともVMwareまたはVBoxでは)と表示されます。 「ブリッジ」されているデバイスが優先ネットワークカード(wifiまたはイーサネット)であることを確認してください。そうすると、IPアドレスのVMを使用して適切なネットワークに適切にアクセスできます。

次に、VMが既にオンラインになっている場合は再起動します。これにより、ホストマシンと同じネットワークから新しいIPアドレスが取得されます。 (同じサブネット範囲にある必要があります)。

3番目に、1つのクライアントVMが他のVM上のサーバーのIPを指すようにします。ネットワークはブリッジされているため、接続するだけです。ただし、ゲスト上のVMを微調整して、接続が許可されるようにする必要があります。

VMについては、これで問題ありません。VMは問題なく相互接続できるはずです。

3
AquariusOne