質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Q&A

解決済

1回答

3096閲覧

ホストからゲストへアクセスできない。

sekayama

総合スコア25

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

0グッド

0クリップ

投稿2016/09/29 09:50

Virtual Boxの5.16r
Fedora 24
Rails 3.22

ネットワーク
アダプター1 NAT
ポートフォワーディング: | TCP | - | 3000 | - | 3000 |

アダプター2 ブリッジアダプター
名前: Intel(R) Dual Band Wireless-AC 7265
アダプタータイプ: Inter PRO/1000 MT Desktop (82540EM)

Railsでサーバー起動してWindowsからIPをhostsに書き込んでアクセスしたい。
以前はアクセスできていたが環境が壊れてアクセスできなくなってしまった。

補足
Virtual Boxに別の仮想機がありそれも
ポートフォワーディング: | TCP | - | 3000 | - | 3000 |を設定している。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

以前はアクセスできていたが環境が壊れてアクセスできなくなってしまった。

何がどのように壊れたのかを提示すれば、より良い回答が得られると思います。

気になったのは、双方の仮想ゲストがNATで構成されており、かつ自ホスト 3000/TCPをフォワーディングしているところです。

基本的に、ポートのバインドは1セッションです。
従って、ご質問者様の構成ですと、片方の仮想ゲストに3000/TCPで接続している状態で、もう片方の仮想ゲストに接続することはできません。

この回答で思い当たる節は御座いませんか?

双方に制限なく接続したいのであればフォワーディングする自ホストのポートを変更してみては如何でしょうか?

例えば
自ホスト 3000/TCP 仮想ゲストA 3000/TCP
自ホスト 3001/TCP 仮想ゲストB 3000/TCP

この構成であれば、ローカルホスト 3000/TCPの場合は仮想ゲストAに接続することになり、ローカルホスト 3001/TCPの場合は仮想ゲストBに接続することが可能になります。

投稿2016/09/30 00:35

over

総合スコア4309

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sekayama

2016/09/30 01:01

コメントありがとうございます。 頂いた例をもとに試してみましたが、アクセスできませんでした。 補足を書かせていただきます。 WindowsにVirtual Box上にRails 3.2系で開発環境を構築していた。 Virtual Box上はFedora 23でした。 ある日、yum updateをした際にkernel周りのバグでOSが起動しなくなった。 update前で起動し、Fedora 24にupdateして解決しようとした。 この際に、上記環境をエクスポートした。 エクスポートした環境をインポートして、Fedora 24へアップデートした。 エクスポートした環境と同じネットワークの設定をして実際に、 サーバーを起動しifconfigしたIP:3000/でアクセスしたところアクセスできなかった。
sekayama

2016/09/30 01:17

また懸念点として ・Windows 10 Anniversary Update 済 ・bash on Windows を有効かして試した
over

2016/09/30 01:22

VirtualBox等の仮想化ソフトウェアとNATの仕組みを良く理解されていないような気がします。 仮想ゲスト:仮想ネットワークアダプタの設定を「NAT」としているのであれば、仮想ゲストに設定されているIPアドレスと、Windows側から見える仮想ゲストのIPアドレスは違うものになります。 「NAT」を検索サイトで調べて頂くと今後の質疑応答の質があがると思います。 NAT構成において、ポートフォワーディングを正しく設定しているのであれば、以下でないと接続できないはずです。 localhost:3000 ただ、OSのアップデートに関わる障害も考えらるので、まずはFedoraから正常性を確認してみては如何でしょうか? ・Railsが起動できているか? ・Rubyのモジュールが正しく動作するのか? ・Fedoraからlocalhost:3000 で接続できるのか? 等
sekayama

2016/09/30 01:30

おっしゃられている様に確かに仮想化ソフトウェアに対して、気を配って使用したことがなくあまり理解していないと思います。すみません。 仮想ネットワークアダプタの設定1は「NAT」、 仮想ネットワークアダプタの設定2は「ブリッジアダプター」になります。 なので、IPアドレス:ポート番号でアクセスが可能という認識でした。 また、 ・Railsが起動できているか? → 問題なし ・Rubyのモジュールが正しく動作するのか? → 問題なし ・Fedoraからlocalhost:3000 で接続できるのか? 等 → 問題なし
over

2016/09/30 01:45

> 仮想ネットワークアダプタの設定2は「ブリッジアダプター」になります。 すいません。質問内容を全て読んでいませんでした。 そうなると、Windowsからの接続はブリッジアダプタ経由で接続しているようです。 確認事項は以下ですね。 ・Fedora の ブリッジアダプタ相当のインターフェースに、Windows OSの Intel(R) Dual Band Wireless-AC 7265 に振られているIPアドレスと同一セグメントのIPを付与しているか? ※そもそも、無線インターフェースが実態化(接続されている状態)でないと接続できません。 1) VirtualBoxの管理画面 →「仮想ネットワークアダプタの設定2」の詳細設定からMACアドレスを確認します。 2) Fedoraのインターフェース設定ファイル(恐らくifcfg-eth1)に正しいIPアドレス、正しいネットマスク、正しいMACアドレス(「仮想ネットワークアダプタの設定2」の詳細設定からMACアドレス)、onboot=yes、が設定されていることを確認します。 3) Fedora上でifconfigで期待したIPアドレスが表示されることを確認します。 4) Windows OS上からpingコマンドで対象のIPアドレスと疎通が取れることを確認します。 ・Fedoraでパケットフィルタリングが動作していないか。 1)Fedora上でパケットフィルタリングが動作していないことを確認します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問