J'essaie de mettre en place la démo la plus basique d'un pont réseau dans Vagrant. J'ai deux machines dans le même sous-réseau, mais sur des LAN différents, et une machine pont avec deux interfaces et un pont réseau qui se configure dans un script de provisionnement.
Voici mon Vagrantfile
:
$bridge_script = <<SCRIPT
sudo apt-get update
sudo apt-get install -y bridge-utils
sudo brctl addbr br0
sudo brctl addif br0 eth1 eth2
sudo ifconfig br0 up
SCRIPT
Vagrant.configure(2) do |config|
config.vm.define "machine1" do |machine1|
machine1.vm.box = "hashicorp/precise64"
machine1.vm.network "private_network", ip: "192.168.1.2",
virtualbox__intnet: "lan1"
end
config.vm.define "bridge" do |bridge|
bridge.vm.box = "hashicorp/precise64"
bridge.vm.network "private_network", ip: "0.0.0.0",
virtualbox__intnet: "lan1"
bridge.vm.network "private_network", ip: "0.0.0.0",
virtualbox__intnet: "lan2"
bridge.vm.provision :shell, inline: $bridge_script
end
config.vm.define "machine2" do |machine2|
machine2.vm.box = "hashicorp/precise64"
machine2.vm.network "private_network", ip: "192.168.1.3",
virtualbox__intnet: "lan2"
end
end
Je n'arrive pas à faire en sorte que l'une des machines envoie un ping à l'autre avec succès. Utilisation de tcpdump
J'ai découvert qu'une requête ARP est passée de machine1
jusqu'à machine2
mais quand machine2
répond, la réponse ne parvient même pas à eth2
sur bridge
. (Je ne vois la réponse ARP que lorsque j'écoute sur le réseau de l'entreprise). eth1
sur machine2
.
Comment faire pour que ça marche ?