web-dev-qa-db-ja.com

VirtualBoxでゲストOSにpingできませんが、ゲストはホストにpingできます

  • ホストOS:Windows 7
  • ゲストOS:Ret Hat Linux(RHEL 6)およびWindows 7

両方のゲストOSに接続したい。両方のゲストにpingを実行しようとしましたが、機能しません。どちらのゲストも私のWindows 7ホストにpingできます。

17
kuldeep

ついにubuntuフォーラムで私のために働いた答えを見つけて驚いた:

VirtualBoxで使用しているWindowsのバージョンに応じて、pingに応答できるようにするには、Windowsマシンに少なくとも1つのフォルダー共有を作成する必要があります。 Windowsでは、XPたとえば、少なくとも1つの共有を設定すると、マシンはpingに応答します。ただし、共有が設定されていない場合、pingは返されません。

(ここで完全な答えを見てください: http://ubuntuforums.org/showthread.php?t=2028309

だから基本的に私がしたことは:

  • NAT for VM for Host VirtualBox GUIの代わりに、
  • Windowsホストでファイアウォールをシャットダウンする
  • VM自体にいくつかのfoo共有フォルダを設定します(c:\ fooまたは類似)

編集:明確にするために、私のセットアップはWindows7ホストとWindows7ゲストです。

つまり、それが誰かを助けることを願っています。

27
Mick Halsband
  1. VMをスタンドアロンマシンのようなネットワークでアクセスできるようにしたい場合(おそらくそれがあなたがやろうとしていることです)、以下を確認してください

    • VirtualBox GUIインターフェイスの各VMのネットワーク設定で、NATではなくブリッジモードを選択します。

    • 各VM内で、静的IPまたはdhcpをセットアップします。

  2. ファイアウォールのブロックの問題については、別の質問の私の答えをチェックしてください ここ

    ホスティングマシンのファイルエクスプローラーで、

    コントロールパネル\すべてのコントロールパネルアイテム\ Windowsファイアウォール\許可されたアプリ

    上記のパスはWindows 8用であり、他のWindowsバージョンは若干異なる場合があります。

    アプリケーション名を探します(例:Virtual Boxは "Oracle VM VirtualBox")。アプリケーションには3つのチェックボックスがあり、すべてにチェックマークを付けると、アプリが再起動し、機能するはずです。

7
John Siu

2台のUbuntu 16.06ゲストボックスでテスト済み

"ifconfig -a"を使用して、使用可能なすべてのネットワークインターフェイスを一覧表示する必要があります。最初に "ifconfig"(-aフラグなし)のみを実行し、表示されているネットワークインターフェイスを記憶してから、-aでもう一度実行します。フラグを立て、その余分なインターフェースを見つけます。私の場合、「ifconfig」だけを実行すると、「enp0s3」、「lo」という2つのインターフェースが取得され、「-a」フラグを指定して実行すると、「enp0s8」という追加のインターフェースが取得されました。追加のインターフェース名を取得したら、/ etc/network/interfacesファイルを編集して、次の2行を追加します。

auto enp0s8 iface enp0s8 inet dhcp

その変更後、マシンを再起動すると、「ifconfig」を実行すると、ホストマシンからの接続に使用できるホストオンリーアダプターのIPが取得されます。

ゲストOSの両方に異なるIPがあります。ゲストに対して、ゲストからゲストへ、ゲストからホストへ、両方のホストにpingを実行できます。

出典: sergeilによる回答

3
Amrit Shrestha

ネットワークアダプターをNAT=からHost-Onlyに設定すると、自動的に新しいIPアドレスがゲストマシンにアドレス指定されました。10.0.x.xxでしたが、現在は192.168..xx.xxxでした。次に、iホストからpingを送信して応答しました。

0
Chris

Virtual Boxの内部ネットワークでWindows Server 2016のゲスト間でpingできない理由を3日間検索したところ、ファイアウォールがトラフィックをブロックしているようです!

次のコマンドget-NetFirewallProfile |を使用して、許可または無効にするために必要なファイアウォールルールを見つけます。 set-NetFirewallProfile -enabled false

0
Deci
  • ホストファイアウォールがICMPエコーパッケージを許可することを確認してください
  • 次のような目的で必要に応じて、IP v4またはIP v6のICMPエコーパッケージを許可します。

    netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow profile=private,domain
    netsh advfirewall firewall add rule name="ICMP Allow incoming V6 echo request" protocol=icmpv6:8,any dir=in action=allow profile=private,domain
    

必ず適切なプロファイルを選択してください。ドメイン、プライベートネットワーク、パブリックネットワークなどにルールを制限できます。

クレジットは HowToGeek に移動します

他のソリューションは、ICMPエコーパッケージがファイアウォールを通過することを可能にするファイアウォールエントリにつながりますが、それは単純に保つ必要があると思います。

0
Earl Hickey

ネットワーク検出をオンにする

私はネットワークに行きました。ゲストマシン(Windows Server 2012 R2)でネットワーク検出をオンにします。他のゲストOSでも動作すると思います。

他の回答からも確認してください。 1)ホストOS(Windows)-ファイアウォールは許可されたプログラムにOracle Virtual Boxを追加します2)ゲストOS-ブリッジネットワークアダプターを使用します

0
Yan Khonski