cloverrose's blog

Python, Machine learning, Emacs, CI/CD, Webアプリなど

Vagrantでpublic_networkのIPアドレスを指定する方法

Vagrantのpublic_networkで嵌ってる時(Vagrantのpublic_networkで嵌まる → forwarded_portを使って解決! - cloverrose's blog)に、public_networkでもIPアドレスを指定することができることがわかったのでまとめておきます。


まず公式ドキュメント(Public Networks - Networking - Vagrant Documentation)を読むとpublic_networkはDHCPしか使えないっぽい。

しかし、現時点の最新版Vagrant1.3.1ではStatic ip addresses on public networks by jheise · Pull Request #1745 · mitchellh/vagrant · GitHubのPull Requestが取り込まれているので、private_networkと同じようにpublic_networkもipを固定することができる!

こうすればいい!!

config.vm.network :public_network, ip: 192.168.0.100


また同様にMACアドレスも指定できる。

config.vm.network :public_network, ip: 192.168.0.100, mac: "080027123456"


このような設定をしたVagrantfileを使って作ったノードでifconfigを実行する、eth1のローカルIPとMACアドレスが指定したとおりになってるのが確認できる。