|
|
@@ -1,48 +1,48 @@
|
|
|
Vagrant.configure("2") do |config|
|
|
|
+ # Configuración general de las maquinas
|
|
|
+ config.vm.provider "virtualbox" do |v|
|
|
|
+ v.linked_clone = true
|
|
|
+ v.customize ["modifyvm", :id, "--groups", "/lab1"]
|
|
|
+ v.customize ["modifyvm", :id, "--pagefusion", "on"]
|
|
|
+ end
|
|
|
+
|
|
|
+ # config.vm.provision :ansible do |ansible|
|
|
|
+ # # Definicion de los grupos de maquinas
|
|
|
+ # ansible.groups = {
|
|
|
+ # "red_1" => ["router_1", "workstation_1", "server_1_[1:2]"],
|
|
|
+ # "red_2" => ["router_2", "workstation_2", "server_2_[1:2]"],
|
|
|
+ # "workstations" => ["workstation_1", "workstation_2"],
|
|
|
+ # "routers" => ["router_1", "router_2"],
|
|
|
+ # "servers" => ["server_[1:2]_[1:2]"],
|
|
|
+ # "computers:children" => ["workstations", "servers"]
|
|
|
+ # }
|
|
|
+ # ansible.playbook = "provision/computers.yml"
|
|
|
+ # end
|
|
|
|
|
|
(1..2).each do |j|
|
|
|
|
|
|
##################################
|
|
|
- # Creación de los routers Cisco
|
|
|
+ # Creación de los routers router_
|
|
|
##################################
|
|
|
|
|
|
config.vbguest.auto_update = false
|
|
|
config.ssh.insert_key = false
|
|
|
- config.vm.define "cisco#{j}" do |router|
|
|
|
+ config.vm.define "router_#{j}" do |router|
|
|
|
router.vm.box = "pulitux/csr1kv"
|
|
|
router.vm.box_version = "17.03.04"
|
|
|
- router.vm.hostname = "ciscorouter#{j}"
|
|
|
- router.vm.network "private_network", virtualbox__intnet: "red_interna#{j}", ip: "10.1.#{j}.1", auto_config: false
|
|
|
- router.vm.network "private_network", virtualbox__intnet: "red_externa#{j}", ip: "20.1.1.#{j}", auto_config: false
|
|
|
+ router.vm.hostname = "router#{j}"
|
|
|
+ router.vm.network "private_network", virtualbox__intnet: "red_#{j}", ip: "10.1.#{j}.1", auto_config: false
|
|
|
+ router.vm.network "private_network", virtualbox__intnet: "red_externa", ip: "10.0.1.#{j}", auto_config: false
|
|
|
router.vm.provider "virtualbox" do |vb|
|
|
|
- vb.name = "cisco#{j}"
|
|
|
+ vb.name = "router_#{j}"
|
|
|
vb.memory = "2048"
|
|
|
- vb.linked_clone = true
|
|
|
- vb.customize ["modifyvm", :id, "--groups", "/lab1"]
|
|
|
- vb.customize ["modifyvm", :id, "--pagefusion", "on"]
|
|
|
end
|
|
|
- end
|
|
|
-
|
|
|
- ####################################################
|
|
|
- # Creación de las máquinas Hosts Ubuntu
|
|
|
- ####################################################
|
|
|
-
|
|
|
- (1..2).each do |i|
|
|
|
- config.vm.define "host_#{j}_#{i}" do |host|
|
|
|
- host.vm.box = "ubuntu/jammy64"
|
|
|
- host.vm.hostname = "workstation#{j}#{i}"
|
|
|
- host.vm.network "private_network", ip: "10.1.#{j}.10#{i}"
|
|
|
- host.vm.provider "virtualbox" do |vb|
|
|
|
- vb.memory ="512"
|
|
|
- vb.name = "host_#{j}_#{i}"
|
|
|
- vb.linked_clone = true
|
|
|
- vb.customize ["modifyvm", :id, "--groups", "/lab1"]
|
|
|
- vb.customize ["modifyvm", :id, "--pagefusion", "on"]
|
|
|
- end
|
|
|
- host.vm.provision :ansible do |ansible|
|
|
|
- ansible.limit = "all"
|
|
|
- ansible.playbook = "provision/hosts.yml"
|
|
|
- end
|
|
|
+ router.vm.provision :ansible do |ansible|
|
|
|
+ ansible.limit = "routers"
|
|
|
+ ansible.playbook = "provision/routers.yml"
|
|
|
+ ansible.groups = {
|
|
|
+ "routers" => ["router_1", "router_2"]
|
|
|
+ }
|
|
|
end
|
|
|
end
|
|
|
|
|
|
@@ -50,22 +50,44 @@ Vagrant.configure("2") do |config|
|
|
|
# Creación de las máquinas Workstations Ubuntu
|
|
|
################################################
|
|
|
|
|
|
- config.vm.define "workstation#{j}" do |workstation|
|
|
|
- workstation.vm.box = "ubuntu/jammy64"
|
|
|
- workstation.vm.hostname = "workstation#{j}"
|
|
|
- workstation.vm.network "private_network", ip: "10.1.#{j}.100"
|
|
|
- workstation.vm.provider "virtualbox" do |vb|
|
|
|
- vb.name = "workstation#{j}"
|
|
|
+ config.vm.define "workstation_#{j}" do |workstation_|
|
|
|
+ workstation_.vm.box = "ubuntu/jammy64"
|
|
|
+ workstation_.vm.hostname = "workstation#{j}"
|
|
|
+ workstation_.vm.network "private_network", ip: "10.1.#{j}.100", auto_config: false
|
|
|
+ workstation_.vm.provider "virtualbox" do |vb|
|
|
|
+ vb.name = "workstation_#{j}"
|
|
|
vb.memory = "2048"
|
|
|
- vb.linked_clone = true
|
|
|
- vb.customize ["modifyvm", :id, "--groups", "/lab1"]
|
|
|
- vb.customize ["modifyvm", :id, "--pagefusion", "on"]
|
|
|
end
|
|
|
- workstation.vm.provision :ansible do |ansible|
|
|
|
- ansible.limit = "all"
|
|
|
+ workstation_.vm.provision :ansible do |ansible|
|
|
|
+ ansible.limit = "workstations"
|
|
|
ansible.playbook = "provision/workstations.yml"
|
|
|
+ ansible.groups = {
|
|
|
+ "workstations" => ["workstation_1", "workstation_2"]
|
|
|
+ }
|
|
|
+ end
|
|
|
+
|
|
|
+ ####################################################
|
|
|
+ # Creación de las máquinas servers Ubuntu
|
|
|
+ ####################################################
|
|
|
+
|
|
|
+ (1..2).each do |i|
|
|
|
+ config.vm.define "server_#{j}_#{i}" do |server|
|
|
|
+ server.vm.box = "ubuntu/jammy64"
|
|
|
+ server.vm.hostname = "server#{j}#{i}"
|
|
|
+ server.vm.network "private_network", ip: "10.1.#{j}.10#{i}", auto_config: false
|
|
|
+ server.vm.provider "virtualbox" do |vb|
|
|
|
+ vb.memory ="512"
|
|
|
+ vb.name = "server_#{j}_#{i}"
|
|
|
+ end
|
|
|
+ server.vm.provision :ansible do |ansible|
|
|
|
+ ansible.limit = "servers"
|
|
|
+ ansible.playbook = "provision/servers.yml"
|
|
|
+ ansible.groups = {
|
|
|
+ "servers" => ["server_[1:2]_[1:2]"]
|
|
|
+ }
|
|
|
+ end
|
|
|
end
|
|
|
end
|
|
|
end
|
|
|
end
|
|
|
-
|
|
|
+end
|