LoginSignup
1
1

More than 5 years have passed since last update.

ネットワーク設定を含んだVagrantのBoxを元に構築するとエラーになる

Posted at

まえがき

備忘録です。
私はこれで治りましたが、保障はできませぬ。。。

何があったのか

作成したboxファイルを適用する際に、既にそのboxにネットワーク設定がされている場合

vagrant_dir> vagrant up

...

vagrant_dir> インターフェース eth1 を活性化中:デバイス eth1は存在しないようですので、初期化を遅らせます
[失敗]

と、なる場合がありました。

(私の場合、NAT/Private Network(Host Only Adapter)/Public Network(bridge)の3種類の設定を入れていたCentOS6.7をBox化しました。)

原因はMACアドレスの違いのようです。

ググると色んな解決策が出てきましたが、私は以下のようにしました。

実施内容

■ Step1: NATとPrivage Network のみに絞っておく(念のため)

# VagrantfileのPublic Networkはコメントアウトしておく
vagrant_dir> vagrant reload
vagrant_dir> ssh 192.168.33.10 # vagrantにアクセス(vagrant sshか、virtual boxからの接続でも大丈夫です)

■ Step2: ifcfg-eth*のファイルで不要なものを削除する

[vagrant] sudo su
[root] cd /etc/sysconfig/network-scripts
[root] mkdir bk
[root] mv ifcfg-eth* bk/

■ Step3: ネットワーク設定を整理する

ここでは現行のVagrantfileに忠実に2つの設定だけ有効とするはずです。

[root] ifconfig (1)
# (1) で確認した時 eth0, eth4 の二つが正常にセットされているようでしたのでその二つは戻します
[root] cp bk/ifcfg-eth0 ./
[root] cp bk/ifcfg-eth4 ./
[root] service network stop # ネットワークを止める
# eth4をeth1にしたいのでリネーム
[root] mv ifcfg-eth4 ifcfg-eth1
# NICの設定を再生成してもらうために、設定ファイルを実質削除する
[root] mv /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.bk 
[root] service network restart

service network reloadでエラーが出る場合は
使いたくない設定をdownする。
downするときはifcfg-eth*のファイルが必要みたいなのでバックアップから一時的に持ってくる。

■ Step4: 再構築

Public Networkを扱いたい場合はVagrantfileのPublic Networkをコメントイン(※Public Networkを扱いたい場合のみ)

vagrant_dir> vagrant reload
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1