vagrant のポートフォワーディングが動かないときの対応

環境

vagrant 1.8.1
ゲストOS centOS 6.5
ホストOS mac Capitan

目的

ゲストOSの3000ポートを、ホストOSの3000番ポートにポートフォワーディングする。

目次

  • 確認事項 1. vagrantの設定
  • 確認事項 2. iptablesの設定
  • 確認事項 3. ゲストOS(vagrant)環境で起動しているサーバのホスト設定
  • ゲストOSでサーバが起動しているか確認する方法

確認事項 1. vagrantの設定

forwarded_port 部分のコメントアウトを削除。ポートを設定したい値に編集。

config.vm.network "forwarded_port", guest: 3000, host: 3000

private_networkはコメントアウトしたままにしておく。

# config.vm.network "private_network", ip: "192.168.33.10"

編集が完了したら、vagrant upする。

すでに起動している vagrant環境のVagrantfile 書き直した場合の注意

vagrant reloadでは、読込されない報告がある。
vagrant haltvagrant upで再起動してみる。

確認事項 2. iptablesの設定

/etc/sysconfig/iptables-A INPUT -p tcp -m tcp --dport 3000 -j ACCEPTを追記する。

$ sudo service iptables reload
$ sudo service iptables save # 再起動時の読み込み設定

確認事項 3. ゲストOS(vagrant)環境で起動しているサーバのホスト設定

サーバーのホストが0.0.0.0で、起動されているか確認。

されていない場合、ホストの指定を0.0.0.0に指定してサーバを再起動する。

0.0.0.0は任意のアドレスを指す。

ゲストOSでサーバが起動しているか確認する方法

そもそも、ポートフォワーディングが失敗しているのか、サーバの起動が失敗しているのかわからない場合は、
ゲストOS上で、下記を実行し、ドキュメントルートのファイルを取得できるか確認する。

curl -v http://localhost:3000

または

wget http://localhost:3000
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク