22

VirtualBox ポート フォワーディング ガイド、このサイトおよび他のサイトの同様の質問を読みましたが、解決策が見つかりませんでした。

ゲスト OS (Ubuntu) で UFW が有効になっており、ポート 80 と 22 が開いています。ホストからubuntuにsshでき、ホストブラウザからubuntuサイトにアクセスできます。

ゲストでは、Nat およびホストオンリー (vboxnet3) アダプターをセットアップします。また、ルーターのポート 80 (192.168.1.90) を開きます。ゲスト IP は 192.168.70.10 です。

したがって、ゲスト設定> Nat>ポート転送に次のように入力しました。

TCP ホスト IP: 192.168.1.90 ホスト ポート:80 ゲスト IP:192.168.70.10 ゲストポート ポート:80

ただし、この設定は機能しません。正しい道を教えていただければ幸いです。

4

3 に答える 3

9

root ユーザーとして VirtualBox を実行することに慣れていない場合に有効な別の方法を次に示します。SSH を使用して、ホスト ポート 80 から制限のないポート (以下の例ではポート 8080 を使用) へのポート フォワーディングを設定できます。これは、ゲスト ポート 80 に転送されます。複雑ですが、機能します。

  1. ホスト ポート 8080 からゲスト ポート 80 に転送します。ホスト マシンのポート 8080 でブラウザーをポイントして、機能していることを確認します。
  2. ホストで sshd が実行されていることを確認します。Mac OS X では、 に移動して、チェックされSystem Preferences -> Internet & Wireless -> SharingていることRemote Loginを確認します。
  3. ホストの root になる

    $ sudo su -
    
  4. SSH を使用して、ホスト ポート 80 をホスト ポート 8080 に転送します (バインド アドレス\*により、すべてのインターフェイスでポートが使用可能になります)。

    # ssh yourusername@localhost -L \*:80::8080
    

ユーザー名に使用する資格情報でログインするように求められることに注意してください。そのため、ほとんどの場合、パスワードを求められ、成功すると実際にログインします.

これで、ホスト マシンのポート 80 にヒットし、ホスト マシンのポート 8080 (ゲスト OS のポート 80) にヒットした場合と同じサービスを確認できるはずです。

ネットワーク上の他のユーザーがそのマシンのポート 80 にアクセスできないようにしたいが、ホスト システムのブラウザーからアクセスできるようにしたい場合は、ポートを次のようにバインドしますlocalhost

# ssh yourusername@localhost -L localhost:80::8080
于 2013-03-06T02:10:54.553 に答える
6

http://www.virtualbox.org/manual/ch06.html#natforwardによると

ホスト ポートの転送 < 1024 は不可能:

Unix ベースのホスト (Linux、Solaris、Mac OS X など) では、ルートによって実行されていないアプリケーションから 1024 未満のポートにバインドすることはできません。その結果、そのようなポート フォワーディングを構成しようとすると、VM は起動を拒否します。

VirtualBox を root として実行することができます。これにより、1024 未満のホスト ポートを転送できるようになります。そのため、VirtualBox でこれを実行することに固執する場合は、root になり、次の方法で VirtualBox を実行できます。

$ sudo su -
# VirtualBox
于 2013-02-24T02:02:46.817 に答える