Vagrantfile 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. Vagrant.configure("2") do |config|
  2. # Configuración de las máquinas Ubuntu
  3. config.vm.provider "virtualbox" do |v|
  4. v.linked_clone = true
  5. v.customize ["modifyvm", :id, "--groups", "/lab1"]
  6. v.customize ["modifyvm", :id, "--pagefusion", "on"]
  7. end
  8. (1..2).each do |j|
  9. ##################################
  10. # Creación de los routers Cisco
  11. ##################################
  12. config.vbguest.auto_update = false
  13. config.ssh.insert_key = false
  14. config.vm.define "cisco#{j}" do |router|
  15. router.vm.box = "pulitux/csr1kv"
  16. router.vm.box_version = "17.03.04"
  17. router.vm.hostname = "ciscorouter#{j}"
  18. router.vm.network "private_network", virtualbox__intnet: "red_interna#{j}", ip: "10.1.#{j}.1", auto_config: false
  19. router.vm.network "private_network", virtualbox__intnet: "red_externa#{j}", ip: "20.1.1.#{j}", auto_config: false
  20. router.vm.provider "virtualbox" do |vb|
  21. vb.name = "cisco#{j}"
  22. vb.memory = "2048"
  23. end
  24. end
  25. ################################################
  26. # Creación de las máquinas Workstations Ubuntu
  27. ################################################
  28. config.vm.define "workstation#{j}" do |workstation|
  29. workstation.vm.box = "ubuntu/jammy64"
  30. workstation.vm.hostname = "workstation#{j}"
  31. workstation.vm.network "private_network", ip: "10.1.#{j}.100"
  32. workstation.vm.provider "virtualbox" do |vb|
  33. vb.name = "workstation#{j}"
  34. vb.memory = "2048"
  35. end
  36. workstation.vm.provision :ansible do |ansible|
  37. ansible.limit = "all"
  38. ansible.playbook = "provision/workstations.yml"
  39. end
  40. ####################################################
  41. # Creación de las máquinas Hosts Ubuntu
  42. ####################################################
  43. (1..2).each do |i|
  44. config.vm.define "host_#{j}_#{i}" do |host|
  45. host.vm.box = "ubuntu/jammy64"
  46. host.vm.hostname = "workstation#{j}#{i}"
  47. host.vm.network "private_network", ip: "10.1.#{j}.10#{i}"
  48. host.vm.provider "virtualbox" do |vb|
  49. vb.memory ="512"
  50. vb.name = "host_#{j}_#{i}"
  51. end
  52. host.vm.provision :ansible do |ansible|
  53. ansible.limit = "all"
  54. ansible.playbook = "provision/hosts.yml"
  55. end
  56. end
  57. end
  58. end
  59. end
  60. end