virtualbox ホストポート 80 上のゲストポート 80 を表示する

virtualbox ホストポート 80 上のゲストポート 80 を表示する

そこで、ゲスト ポート 80 をホスト ポート 80 に転送して、ゲストで実行されている Apache をホストのブラウザーで表示できるようにしたいと考えています。

次のように設定すると: (8080/80)、localhost:8080 を表示してゲスト Apache サーバーを確認できます。

ポート80

ホストを 80 に設定し、ゲストを 80 に設定しても機能しません。ゲスト 80 をホスト 80 に転送するにはどうすればよいでしょうか。

NAT モードでの実行が必須であると想定します。

答え1

スクリーンショットから、OS X 上で VirtualBox を実行しているように見えますが、それは正しいですか?

そうであれば、デフォルトでは、ユーザー アカウントは 1024 未満のポートでリッスンする IP エンドポイントを作成できません。どうしても低いポート番号でリッスンする必要があるものがある場合は、次の 2 つの選択肢があります。

  • VirtualBox を root (またはその他の特権アカウント) として実行することもできますが、多くのセキュリティ制限を回避する傾向があるため、このソリューションは推奨されません。
  • ファイアウォールにポート 8080 から 80 への転送ルールを追加して、トラフィックを自動的にリダイレクトすることができます。VirtualBox は引き続きポート 8080 を転送するように設定されます。簡単に言うと、次のようになります。

    • ターミナルを開いて、次のように入力します。sudo vi /etc/ipfilter/ipfw.conf
    • 次の行を追加します:add 12001 fwd 127.0.0.1,8080 tcp from any to me dst-port 80
    • ファイルを保存して閉じます::wq

免責事項: 最新の OS X はおろか、Mac も手元にありません。そのため、高レベルのアイデアは適用されますが、ファイアウォール転送ルールを構成する実際の詳細は、現在実行しているバージョンによって若干異なる場合があります。

これに対処するには、まだもっと良い方法があるかもしれません。たとえば、ゲスト用に 2 番目の仮想アダプタを設定し、それを「ホストのみ」として設定すると、ポートを転送しなくても、ホストからゲストのどのポートにもアクセスできます。ネットワーク全体でゲストを共有する必要がある場合は、この方法は意味をなさないかもしれません。その場合は、「ブリッジ」仮想アダプタの方が意味があるかもしれません。VirtualBox マニュアルの第 6 章で、さまざまなネットワーク モードについて読むことをお勧めします。https://www.virtualbox.org/manual/ch06.html

答え2

ポート 80 が ISP によってブロックされている可能性がありますが、VirtualBox では正常に動作します。どのように確認しますか? 詳細を提供してください。

関連情報