• ベストアンサー

ゲストOSのpingが通らない

VirtualPC2007で仮想OSを立ち上げ、NATでゲストOSのIPを自動で取得するようにネットワーク接続のローカル接続を設定しました。 ゲストOSからブラウザを起動して外部のサイトを閲覧できるようにはなったのですが、pingだけ応答が返ってきません。 ホストOSとゲストOS両方のファイアウォールを切っても状況は変わりませんでした。 ホストはwindows7、ゲストはxpです。 どう設定すればpingが通るようになるのでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ゲストOSから外部サイトへのpingが通らないと言っているのですよね? であれば、この件はよくあるファイアーウォールの話と別の問題です。 NATでICMP ECHOパケットを中継するには、実はTCP/IPパケットを 中継するのとはまた別の処理(機能)が必要です。 少し詳しく言うと、TCP/IPパケットの場合、応答パケットを振り分ける ためにはポート番号を使って振り分けますが、ICMPパケットには ポート番号がないので、別のidentifierフィールドを使って振り分ける 必要があります。 一般のNATルーターなら当たり前のように実装している機能ですが、 VirtualPCのNAT機能は簡易的なものなので、ICMPパケットを中継する 機能がありません。 VirtualPCのNAT機能を使うなら、そういうものだとあきらめてください。 以下のURLも同様の質問で参考になると思います。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1167426811 可能なら、NATじゃなくて、ホストのネットワークアダプタと共有する 設定に変更すれば、普通にゲストOSからのpingも通ります。 家庭用ルーターでDHCPでIPを割り当てている環境なら、 ホストのネットワークアダプタと共有する設定にするだけで、 ゲストOS用のIPもゲストOS起動時に家庭用ルーターのDHCP機能で 自動的に割り当ててもらえるはずです。 こちらの方が変な制約がなくて使いやすいと思います。

rihm
質問者

お礼

回答ありがとうございます。 >VirtualPCのNAT機能は簡易的なものなので、ICMPパケットを中継する 機能がありません。 知りませんでした…。そうだったんですね。 教えていただいた通り共有するよう設定すればping通るようになりました。 ありがとうございました。 NATを使用する場合はVirtualPCではなく別のソフトを使用したほうがいいみたいですね。

その他の回答 (1)

  • kteds
  • ベストアンサー率42% (1882/4440)
回答No.1

> ホストOSとゲストOS両方のファイアウォールを切っても状況は変わりませんでした。 単にWindows ファイアウォールを無効にするだけでは ICMP を使用している ping には効果がありません。 Windows ファイアウォールで ICMP (エコー受信)を許可するように設定していますか。 下記サイトの説明を参照してください。 「Windows 7 、Windows Server 2008 では既定ではPing 応答が返ってこない。」という記述に着目してください。 Windows7の説明になっていますが、Windows共通です。 「Windows 7 , Windows Server 2008 への Ping を許可する」 http://www.projectgroup.info/tips/Windows/comm_0015.html

rihm
質問者

お礼

回答ありがとうございます。 教えていただいた通りファイアウォールの設定でエコー受信を許可するように設定してみましたが状況は変わりませんでした。 ファイアウォール無効にしていてもそのへんの設定は関係してくるのは知りませんでした。 勉強になりました。

関連するQ&A