目的
Vagrantで作成したVM (Linux [CentOS])にプライベートな固定IPアドレスをVagrantfileを用いて設定する。
背景用途
VMで構築したApache webサーバー用Dockerコンテナの稼働確認としてホストOS側のブラウザからVMに対してHTTPアクセスしたい為。
実行環境
ホストOS側
OS X EI Capitan
Vagrant 1.7.4
VM側
CentOS Linux release 7.2.1511 (Core)
Vagrantfileの編集
Vagrantfileファイル中程にある「config.vm.network “private_network”〜」の行頭コメントアウトを削除。
# Create a private network, which allows host-only access to the machine # using a specific IP. config.vm.network "private_network", ip: "192.168.33.10"
この場合、「ip: 〜」以降のアドレスが設定される。
固定IPアドレスの設定確認
Vagrantfileの編集後、下記コマンドにてVMを再起動。
$ vagrant reload
VM上でIPが設定されていることを確認。
[vagrant@localhost ~]$ ip addr <中略> 3: enp0s8:mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:c2:ef:c2 brd ff:ff:ff:ff:ff:ff inet 192.168.33.10/24 brd 192.168.33.255 scope global enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fec2:efc2/64 scope link valid_lft forever preferred_lft forever <後略>
因みにホスト側にもVM用のIFとルーティングが追加されいてる。
$ ifconfig <中略> vboxnet1: flags=8943mtu 1500 ether 0a:00:27:00:00:01 inet 192.168.33.1 netmask 0xffffff00 broadcast 192.168.33.255 <後略> $ netstat -rn | grep vbox 192.168.33 link#17 UC 3 0 vboxnet 192.168.33.255 link#17 UHLWbI 1 9 vboxnet 192.168.99 link#12 UC 4 0 vboxnet 192.168.99.100 8:0:27:ce:de:b3 UHLWIi 1 14 vboxnet 1059 192.168.99.255 link#12 UHLWbI 1 9 vboxnet $ ping 192.168.33.10 PING 192.168.33.10 (192.168.33.10): 56 data bytes 64 bytes from 192.168.33.10: icmp_seq=0 ttl=64 time=0.403 ms 64 bytes from 192.168.33.10: icmp_seq=1 ttl=64 time=0.329 ms 64 bytes from 192.168.33.10: icmp_seq=2 ttl=64 time=0.328 ms <後略>