Добавить Vagrantfile

This commit is contained in:
2026-03-17 23:57:26 +03:00
parent 77985ff195
commit 9409f87d02

113
Vagrantfile vendored Normal file
View File

@@ -0,0 +1,113 @@
MACHINES = {
:inetRouter => {
:box_name => "ubuntu/jammy64",
:net => [
{ip: '192.168.255.1', adapter: 2, netmask: "255.255.255.252", virtualbox__intnet: "router-net"},
]
},
:inetRouter2 => {
:box_name => "ubuntu/jammy64",
:net => [
{ip: '192.168.255.13', adapter: 2, netmask: "255.255.255.252", virtualbox__intnet: "router2-net"},
]
},
:centralRouter => {
:box_name => "ubuntu/jammy64",
:net => [
{ip: '192.168.255.2', adapter: 2, netmask: "255.255.255.252", virtualbox__intnet: "router-net"},
{ip: '192.168.255.14', adapter: 3, netmask: "255.255.255.252", virtualbox__intnet: "router2-net"},
{ip: '192.168.255.5', adapter: 4, netmask: "255.255.255.252", virtualbox__intnet: "router-off01-net"},
{ip: '192.168.255.9', adapter: 5, netmask: "255.255.255.252", virtualbox__intnet: "router-off02-net"},
{ip: '192.168.0.1', adapter: 6, netmask: "255.255.255.240", virtualbox__intnet: "dir-net"},
{ip: '192.168.0.33', adapter: 7, netmask: "255.255.255.240", virtualbox__intnet: "hw-centr-net"},
{ip: '192.168.0.65', adapter: 8, netmask: "255.255.255.192", virtualbox__intnet: "wifi-net"},
]
},
:centralServer => {
:box_name => "ubuntu/jammy64",
:net => [
{ip: '192.168.0.2', adapter: 2, netmask: "255.255.255.240", virtualbox__intnet: "dir-net"},
]
},
:office1Router => {
:box_name => "ubuntu/jammy64",
:net => [
{ip: '192.168.255.6', adapter: 2, netmask: "255.255.255.252", virtualbox__intnet: "router-off01-net"},
{ip: '192.168.2.1', adapter: 3, netmask: "255.255.255.192", virtualbox__intnet: "dev01-net"},
{ip: '192.168.2.65', adapter: 4, netmask: "255.255.255.192", virtualbox__intnet: "test01-srv-net"},
{ip: '192.168.2.129', adapter: 5, netmask: "255.255.255.192", virtualbox__intnet: "managers-net"},
{ip: '192.168.2.193', adapter: 6, netmask: "255.255.255.192", virtualbox__intnet: "hw01-net"},
]
},
:office1Server => {
:box_name => "ubuntu/jammy64",
:net => [
{ip: '192.168.2.2', adapter: 2, netmask: "255.255.255.192", virtualbox__intnet: "dev01-net"},
]
},
:office2Router => {
:box_name => "ubuntu/jammy64",
:net => [
{ip: '192.168.255.10', adapter: 2, netmask: "255.255.255.252", virtualbox__intnet: "router-off02-net"},
{ip: '192.168.1.1', adapter: 3, netmask: "255.255.255.128", virtualbox__intnet: "dev02-net"},
{ip: '192.168.1.129', adapter: 4, netmask: "255.255.255.192", virtualbox__intnet: "test02-srv-net"},
{ip: '192.168.1.193', adapter: 5, netmask: "255.255.255.192", virtualbox__intnet: "hw02-net"},
]
},
:office2Server => {
:box_name => "ubuntu/jammy64",
:net => [
{ip: '192.168.1.2', adapter: 2, netmask: "255.255.255.128", virtualbox__intnet: "dev02-net"},
]
},
}
Vagrant.configure("2") do |config|
config.vm.provider "virtualbox" do |vb|
vb.memory = 512
vb.cpus = 1
end
MACHINES.each do |boxname, boxconfig|
config.vm.define boxname do |box|
box.vm.box = boxconfig[:box_name]
box.vm.host_name = boxname.to_s
boxconfig[:net].each do |ipconf|
box.vm.network "private_network", **ipconf
end
if boxname.to_s == "inetRouter2"
box.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
end
if boxname.to_s == "office2Server"
box.vm.provision "ansible" do |ansible|
ansible.limit = "all"
ansible.playbook = "ansible.yml"
ansible.become = "true"
end
end
end
end
end