Je gère plusieurs ordinateurs virtuels avec Vagrant. Les réseaux sont configurés en tant que privés, les adresses IP ont été définies et les noms d’hôte sont attribués. Comme indiqué dans le fichier Vagrant ci-dessous.
Les ordinateurs virtuels peuvent communiquer les uns avec les autres via l'adresse IP, mais j'aimerais savoir comment permettre aux ordinateurs virtuels de communiquer en utilisant leur nom d'hôte attribué. C'est à dire. Comment faire fonctionner ping comtest2
à partir de comtest1
?
Vagrantfile:
Vagrant.configure("2") do |config|
config.vm.define "comtest1" do |comtest1|
comtest1.vm.box = "precise32"
comtest1.vm.hostname = "comtest1"
comtest1.vm.network "private_network", ip: "192.168.10.21"
end
config.vm.define "comtest2" do |comtest2|
comtest2.vm.box = "precise32"
comtest2.vm.hostname = "comtest2"
comtest2.vm.network "private_network", ip: "192.168.10.22"
end
end
Tricher la résolution de DNS avec https://github.com/adrienthebo/vagrant-hosts ?
Vous pouvez utiliser Zeroconf. Il diffuse le nom d'hôte sur le réseau et le met à la disposition des autres hôtes du réseau local. De cette façon, vous pouvez accéder à vos hôtes en utilisant test1.local, test2.local, etc.
Il suffit d'installer avahi-daemon
et libnss-mdns
!
Ce n’est pas la solution la plus élégante au monde, mais c’est très simple.
Vagrant.configure("2") do |config|
config.vm.define "comtest1" do |comtest1|
comtest1.vm.box = "precise32"
comtest1.vm.hostname = "comtest1"
comtest1.vm.network "private_network", ip: "192.168.10.21"
comtest1.vm.provision "Shell", inline: <<-Shell
sed -i '$ a 192.168.10.22 comtest2' /etc/hosts
Shell
end
config.vm.define "comtest2" do |comtest2|
comtest2.vm.box = "precise32"
comtest2.vm.hostname = "comtest2"
comtest2.vm.network "private_network", ip: "192.168.10.22"
end
end
Départ Landrush sur Github . Il va configurer un DNS pour votre réseau privé vagabond.