Ubuntu9.04デスクトップ64ビットホストOSで実行されているUbuntu9.04デスクトップ64ビットゲストOSがあります(はい、同じOS)。ゲストでWebサーバーを実行し、ホストのNATからアクセスできるようにします。
私は(私が思うに) VirtualBoxポート転送命令 に従いましたが、構成を行った後、ゲスト/ VMが起動しません。
これが私が実行した構成です:
VBoxManage setextradata "<Guest Name>" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/Protocol" TCP
VBoxManage setextradata "<Guest Name>" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/GuestPort" 80
VBoxManage setextradata "<Guest Name>" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/HostPort" 8080
どこ <Guest Name>
はゲストの名前VMイメージ。
エラーは次のようになります。
VMの実行中に構成を実行するか、実行していないかに関係なく、同じエラーが発生します。
ゲスト追加がインストールされます。
NATポート転送を適切に構成するにはどうすればよいですか?このエラーの原因は何ですか?
次のコマンドを使用して、このWMに対して行ったすべてのパラメータを取得します。
VBoxManage.exe getextradata "Name_of_VM" enumerate
VMに送信されたすべての値が表示されます。
Key: GUI/SaveMountedAtRuntime, Value: yes
Key: GUI/ShowMiniToolBar, Value: yes
Key: GUI/MiniToolBarAlignment, Value: bottom
Key: GUI/LastCloseAction, Value: save
Key: GUI/LastWindowPostion, Value: 345,133,640,522
Key: GUI/Fullscreen, Value: off
Key: GUI/Seamless, Value: off
Key: GUI/AutoresizeGuest, Value: on
Key: GUI/MiniToolBarAutoHide, Value: on
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort, Value: 22
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort, Value: 22
VBoXInternalで始まるすべてのリグをコピーして削除し、次のようにコマンドに行を貼り付けます
VBoxManage.exe setextradata "Name_of_VM" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/HostPort"
最後まで価値がない。最後に、もう一度列挙すると、VBoxInternalの行が表示されなくなります。
これで、ルールの名前を変えて、NATルールを再度作成できます。
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort, Value: 2222
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort, Value: 22
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol, Value: TCP
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/Protocol, Value: TCP
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/GuestPort, Value: 80
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/guesthttp/HostPort, Value: 8080
Linuxでは、PORTS <1024をリダイレクトしないように注意する必要があります。 guestshには2222を使用し、guesthttpには8080を使用します(例)使いやすさのために、私は個人的にWINDOWSで<1014ポートを使用します。
これがお役に立てば幸いです。
(英語でごめんなさい!私はフランス人です:P)
Jacques.guensherian
私は同じ問題を抱えていました--- OracleはNATの設定方法を変更したと思います。今ではずっときれいになっています。これはまだあるユーザーマニュアルからコピーされています: http://www.virtualbox.org/manual/UserManual.html
VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,127.0.0.1,2222,,22"
「これにより、ローカルホストインターフェイス(127.0.0.1)に到着するすべてのTCPトラフィックが、ポート2222を介してゲストのポート22に転送されます。」
VirtualBoxでポート転送を設定したときに同じ症状が発生しました。
VirtualBoxで新しいVMを作成すると、デフォルトのネットワークアダプターはe1000
、あなたが従った指示に従ってpcnet
ではありません。
構成設定を次のように変更した場合:
VBoxManage setextradata "<Guest Name>" "VBoxInternal/Devices/e1000/0/LUN#0/Config/guesthttp/Protocol" TCP
VBoxManage setextradata "<Guest Name>" "VBoxInternal/Devices/e1000/0/LUN#0/Config/guesthttp/GuestPort" 80
VBoxManage setextradata "<Guest Name>" "VBoxInternal/Devices/e1000/0/LUN#0/Config/guesthttp/HostPort" 8080
これで問題が解決するはずです。
上記の構成オプションは、最初のe1000
アダプタ、したがって設定のe1000/。ポートフォワードしようとしているVM)が使用しているネットワークアダプタを再確認してください。
私のインストールでは、使用可能なネットワークアダプタは2つの「PcNet」と3つの「IntelPro1000」です。
アダプターは、次のキーによって参照されます。
pcnet/0
pcnet/1
e1000/0
e1000/1
e1000/2
たとえば、アダプタがリストの2番目の「PRO/1000」である場合は、上記の設定をe1000/1(など)に変更する必要があります。