LoginSignup
4
8

More than 5 years have passed since last update.

Vagrantで複数ホスト&複数ネットワークインターフェースの設定(Vagrantfile)

Last updated at Posted at 2015-12-06

概要

Vagrantで複数ホストがそれぞれ複数ネットワークをもつゲストOSを作りたかった。
いい例がなかったのでまとめた。VMはVirutalboxを前提としている。

デフォルトゲートウェイ

 デフォルトゲートウェイを変更したい場合がある。Vagrantではポストスクリプトで変更する。コマンドがOS毎に違うので、あらかじめ調べておく必要がある。例えばCentOS6とCentOS7の場合では、次のよう異なる。

CentOS6

route del default
route add default gw 192.168.0.1

CentOS7

ip route del default
ip route add default via 192.168.0.1

テンプレート

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure(2) do |config|
config.vm.box = "saitou1978/centos-6_dev"

config.vm.define "node01" do |server|
server.vm.hostname = "node01"
server.vm.network "public_network", type: "dhcp"
server.vm.network "private_network", ip: "192.168.44.115"
server.vm.provision "shell", inline: <<-SHELL
route del default
route add default gw 192.168.0.1
SHELL
end

config.vm.define "node02" do |server|
server.vm.hostname = "node02"
server.vm.network "public_network", type: "dhcp"
server.vm.network "private_network", ip: "192.168.44.116"
server.vm.provision "shell", inline: <<-SHELL
route del default
route add default gw 192.168.0.1
SHELL
end

end

まとめ

デフォルトゲートウェイは以下のようにもできる。

route add default gw 192.168.0.1 eth1

ただし、Virutalboxを使っている場合は、eth0の設定は変更しないようにする。

Appendix

Vagrantfileに以下を加えておけば忘れないかもしれない。

############################################
## N/W 1: NAT (static)
# config.vm.network "public_network", ip: '192.168.0.30'

## N/W 2: NAT (DHCP)
# config.vm.network "public_network", type: "dhcp"

## N/W 3: Localのみ
# config.vm.network "private_network", ip: "192.168.44.116"

## デフォルトゲートウェイの変更
# config.vm.provision "shell", inline: <<-SHELL
# route del default
# route add default gw 192.168.0.1 eth1
# SHELL
4
8
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
4
8