Добавить Vagrantfile
This commit is contained in:
113
Vagrantfile
vendored
Normal file
113
Vagrantfile
vendored
Normal 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
|
||||
Reference in New Issue
Block a user