ときどき、突然Vagrantに繋がらなくなることがあります。
大抵はVirtualBoxの実体ファイルが謎の失踪をしていたりするのですが、今回は新しいパターン。
(ちなみに↑は案外簡単に直ります→参考)
現象
Vagrant上のWebサーバにアクセスできない。
ping 192.168.33.10
も失敗する。
127.0.0.1:2222宛のSSH接続はうまくいく。
何が起こっているか
127.0.0.1:2222にSSHで入って調査。
Terminal.
$ ifconfig
してみる。
Terminal.
eth0 Link encap:Ethernet HWaddr 08:00:27:82:D2:22
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe82:d222/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1618 errors:0 dropped:0 overruns:0 frame:0
TX packets:916 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1025139 (1001.1 KiB) TX bytes:104928 (102.4 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:7775 errors:0 dropped:0 overruns:0 frame:0
TX packets:7775 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:911282 (889.9 KiB) TX bytes:911282 (889.9 KiB)
本来、192.168.33.10が割り当てられているはずのeth1が起動していない。
対策
Terminal.
$ sudo vim /etc/sysconfig/network-scripts/ifcfg-eth1
として、eth1の設定を開いてみると空っぽだった。
以下を追記する。
BOOTPROTO=none
DEVICE=eth1
IPV6INIT=no
IPADDR=192.168.33.10
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
※IPADDRは、Vagrantfileに設定した各自のIPに置き換えてください。
ネットワーク再起動。
Terminal.
$ sudo service network restart
繋がるようになった。
一応、ホストマシンからvagrant halt
vagrang up
を実行したが問題なし。
突然この現象が発生した原因は謎のままです・・・。