LoginSignup
16
16

More than 5 years have passed since last update.

IPアドレスを固定するとvagrant upする度にネットワークカードがどんどん増えてく

Last updated at Posted at 2014-08-12

環境

windows8.1 pro
Vagrant 1.6.3
virtualbox 4.3.14r95030

困ったこと

以下のような設定をしてIPアドレスを固定しようとするとvagrant upやvagrant reloadする度にネットワークカードが増えていく・・・

config.vm.network 'private_network', ip: '192.168.21.2'

原因

VagrantはVirtualBoxのインターフェースから同じセグメントのネットワークカードを検索しそれを利用しようとするが、
存在しない場合にVagrantが作成しそれを利用する。

この時に作成されるネットワークカードに正しく設定が反映されていないため、次にvagrant up等を行った際に、また存在しない物としてまた作成する・・・というのを繰り返しているようです。

解決方法(暫定)

ネットワークカードの状態を表示する

ipconfig /all
おそらく169.254..というアドレスが割り当てられているはず。
イーサネットアダプターの名前(ローカル エリア接続 2とか)を覚えておきましょう

ちなみにこれは有効なIPアドレスが無いときに自動で割り当てられるアドレス
DHCPサーバーが死んでる場合などに自動で割り当てられます

VirtualBox上での名前も確認しておきます。GUIの設定から確認してもOKです。
VBoxManage list hostonlyifs

VBoxManageコマンドはVirtualBoxのインストールフォルダにあります

設定したいアダプタのVirtualBox Host-Only Ethernet Adapter [#2~]のようなやつを覚えておきましょう

ipv6を無効にする

チェックを外しておく
ipv4.png

IPアドレスの割当を確認する

以下のコマンドで割り当てを確認します。
netsh interface ipv4 show ipaddresses
before.png

IPアドレスを割り当てる

host-onlyネットワークにIPアドレスを指定する
以下のコマンドでネットワークカードにIPを指定します。
VBoxManage hostonlyif ipconfig "VirtualBox Host-Only Ethernet Adapter #2" --ip 192.168.21.250 --netmask 255.255.255.0

IPアドレスが割り当てられたかを確認します

netsh interface ipv4 show ipaddresses
after.png

この状態で暫く放置すると仮承諾が設定に変わり169.254..が消え静的アドレスのセットはこれで完了です。

蛇足

そもそも静的IPのアドレスはすぐにはIPCONFIGなどで確認出来ないということが理解出来ていませんでした。
静的アドレスせっと!→反映されねぇ!→むきーもう一回だ!
のように何度もセットしたことで正確なIP指定が出来ておらず更に泥沼にハマっていました。
IPの割り当て設定を確認しながら設定していくことが重要だなと学習しました

その他

変なIPアドレスが設定されてしまった場合は以下のコマンドで削除できます
netsh interface ipv4 delete address name=75 192.168.21.2

16
16
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
16
16