Sério, use o Vagrant para isso. Ele lida com o segundo adaptador de rede muito bem. Aqui está um exemplo Vagrantfile eu uso com o enxame docker:
$prepare_swarm_manager_script = <<SCRIPT
<<<shell commands>>>
SCRIPT
$prepare_swarm_node_script = <<SCRIPT
<<<shell commands>>>
SCRIPT
Vagrant.configure(2) do |config|
config.vm.define "swarm_manager" do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.hostname = "swarm-manager"
config.vm.network "private_network", ip: "10.0.7.11"
config.vm.provision "shell", inline: $prepare_swarm_manager_script
end
config.vm.define "swarm_node1" do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.hostname = "swarm-node1"
config.vm.network "private_network", ip: "10.0.7.12"
config.vm.provision "shell", inline: $prepare_swarm_node_script
end
config.vm.define "swarm_node2" do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.hostname = "swarm-node2"
config.vm.network "private_network", ip: "10.0.7.13"
config.vm.provision "shell", inline: $prepare_swarm_node_script
end
Os comandos shell são executados como o usuário do Ubuntu (então use o sudo).
Então vá em vagrant up
e pegue uma cerveja.
Mas as principais informações aqui são que você adiciona o adaptador de rede somente host antes de cada instalação de VM e nas preferências globais de virtualbox verificam as configurações do adaptador de rede somente de host (é o que a Vagrant manipula para você). Quando você configura a sub-rede corretamente, eles podem ver uns aos outros