Vagrantfile 2.5 KB

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