仮想マシン(Virtual Box)にUbuntuサーバーをインストールし、SSHを設定しました。すべてが正常であることを確認し、すべてのファイアウォールを無効にしましたが、Microsoft WindowsがSSH経由で接続しようとすると、「接続がタイムアウトしました」というメッセージが表示されます。おそらくサーバーに接続できないと思ってサーバーにpingしようとしましたが、タイムアウトというメッセージが表示されました。この問題を解決する方法を知っている人はいますか?
答え1
Virtualbox の NAT モードは通常、接続の開始をサポートしません。到着ゲストマシン(または少なくとも容易ではない)。ブリッジモードに切り替えることをお勧めします。
NATモード:
ゲストオペレーティングシステムは、起動時に通常DHCPを使用してIPアドレスを取得します。 VirtualBoxはこのDHCP要求を処理し、アウトバウンド接続ルーティングに使用する割り当てられたIPアドレスとゲートウェイアドレスをゲストオペレーティングシステムに通知します。このモードでは、各仮想マシンが独立したネットワークにあると考えるため、各仮想マシンに同じIPアドレス(10.0.2.15)が割り当てられます。ゲートウェイ(10.0.2.2)を介してトラフィックを送信すると、VirtualBoxはゲスト(ホスト内で実行)ではなくホストで発生したように見えるようにパケットを書き換えます。
つまり、ホストがあるネットワークから別のネットワークに移動した場合(たとえば、ラップトップが場所間で移動する場合)、ワイヤレス接続から有線接続に移動してもゲストは機能できます。
しかし、他のコンピュータはどのようにゲストへの接続を開始しますか?たとえば、ゲストで実行されているWebサーバーに接続します。ゲストオペレーティングシステムへのパスがないため、NATモードを使用すると、これは(通常)不可能です。したがって、仮想マシンが実行されているサーバーには異なるネットワークモードが必要です。
ブリッジモード:
ブリッジネットワーキングは、仮想マシンが完全なネットワーク市民になるために使用されます。つまり、このモードでは、仮想ネットワークカードはホストの物理ネットワークカードに「ブリッジ」されます。
その結果、各仮想マシンはホストマシンと同様に物理ネットワークにアクセスできます。外部DHCPサービス、名前検索サービス、ルーティング情報など、ホストなどのネットワーク上のすべてのサービスにアクセスできます。
追加情報: Oracle VM VirtualBox: ネットワークのオプションと管理方法
ctrl-alt-delorが提案したように」ホストのみ「ネットワーキングも役立ちます。これにより、ホストと仮想マシンは互いに通信できますが、ホスト外のコンピュータは仮想マシンと通信できません。