Initial commit: meraki network configuration
This commit is contained in:
Vendored
BIN
Binary file not shown.
@@ -0,0 +1,33 @@
|
||||
# Reglas de firewall L3
|
||||
firewall_rules = [
|
||||
{
|
||||
comment = "Bloqueo temporal switch a 8.8.8.8"
|
||||
policy = "deny"
|
||||
protocol = "any"
|
||||
src_cidr = "192.168.8.50/32"
|
||||
src_port = "any"
|
||||
dest_cidr = "8.8.8.8/32"
|
||||
dest_port = "any"
|
||||
syslog_enabled = true
|
||||
},
|
||||
{
|
||||
comment = "Bloqueo especifico DNS Cloudflare 1.1.1.1 desde VC"
|
||||
policy = "deny"
|
||||
protocol = "any"
|
||||
src_cidr = "10.2.48.0/24" # VLAN 102 - VC
|
||||
src_port = "any"
|
||||
dest_cidr = "1.1.1.1/32"
|
||||
dest_port = "any"
|
||||
syslog_enabled = false
|
||||
},
|
||||
{
|
||||
comment = "Denegar el resto del trafico de salida"
|
||||
policy = "deny"
|
||||
protocol = "any"
|
||||
src_cidr = "any"
|
||||
src_port = "any"
|
||||
dest_cidr = "any"
|
||||
dest_port = "any"
|
||||
syslog_enabled = false
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,22 @@
|
||||
# Configuración de Terraform y Provider
|
||||
terraform {
|
||||
required_version = ">= 1.5.0"
|
||||
required_providers {
|
||||
meraki = {
|
||||
source = "CiscoDevNet/meraki"
|
||||
version = "1.9.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
provider "meraki" {}
|
||||
|
||||
# Llamada al módulo meraki-site
|
||||
module "bcn01" {
|
||||
source = "../../modules/meraki-site"
|
||||
|
||||
organization_name = var.organization_name
|
||||
network_name = var.network_name
|
||||
switch_vlans = var.switch_vlans
|
||||
firewall_rules = var.firewall_rules
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
# Definición de la Organización
|
||||
variable "organization_name" {
|
||||
type = string
|
||||
description = "Nombre exacto de tu organización en el Dashboard de Meraki"
|
||||
}
|
||||
|
||||
# Definición de la Red
|
||||
variable "network_name" {
|
||||
type = string
|
||||
description = "Nombre de la red (Network) donde reside el switch"
|
||||
}
|
||||
|
||||
|
||||
# Reglas de firewall L3
|
||||
variable "firewall_rules" {
|
||||
type = list(object({
|
||||
comment = string
|
||||
policy = string
|
||||
protocol = string
|
||||
src_cidr = string
|
||||
src_port = string
|
||||
dest_cidr = string
|
||||
dest_port = string
|
||||
syslog_enabled = optional(bool, false)
|
||||
}))
|
||||
default = []
|
||||
description = "Lista de reglas de firewall L3 para el site"
|
||||
}
|
||||
|
||||
# Definición de VLANs
|
||||
variable "switch_vlans" {
|
||||
type = map(object({
|
||||
name = string
|
||||
subnet = string
|
||||
appliance_ip = string
|
||||
dhcp_handling = optional(string, "Run a DHCP server")
|
||||
reserved_ip_ranges = optional(list(object({
|
||||
comment = string
|
||||
id = string
|
||||
start = string
|
||||
end = string
|
||||
})), [])
|
||||
}))
|
||||
description = "Mapa de configuraciones de VLAN. La clave del mapa será el ID de la VLAN"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
# Nombre exacto que aparece en tu Dashboard de Meraki
|
||||
organization_name = "Adevinta Information Services SLU"
|
||||
network_name = "BCN01-LAB"
|
||||
|
||||
# Configuración de las VLANs (L3)
|
||||
# La clave (ej. "10") es el ID de la VLAN
|
||||
switch_vlans = {
|
||||
"100" = {
|
||||
name = "ACCESS"
|
||||
subnet = "10.2.32.0/21"
|
||||
appliance_ip = "10.2.32.1"
|
||||
reserved_ip_ranges = [
|
||||
{ comment = "Estáticas reservadas", id = "static", start = "10.2.32.1", end = "10.2.32.49" }
|
||||
]
|
||||
}
|
||||
"101" = {
|
||||
name = "GUEST"
|
||||
subnet = "10.2.40.0/21"
|
||||
appliance_ip = "10.2.40.1"
|
||||
reserved_ip_ranges = [
|
||||
{ comment = "Estáticas reservadas", id = "static", start = "10.2.40.1", end = "10.2.40.49" }
|
||||
]
|
||||
}
|
||||
"102" = {
|
||||
name = "VC"
|
||||
subnet = "10.2.48.0/24"
|
||||
appliance_ip = "10.2.48.1"
|
||||
reserved_ip_ranges = [
|
||||
{ comment = "Estáticas reservadas", id = "static", start = "10.2.48.1", end = "10.2.48.49" }
|
||||
]
|
||||
}
|
||||
"103" = {
|
||||
name = "PRINTERS"
|
||||
subnet = "10.2.49.0/24"
|
||||
appliance_ip = "10.2.49.1"
|
||||
reserved_ip_ranges = [
|
||||
{ comment = "Estáticas reservadas", id = "static", start = "10.2.49.1", end = "10.2.49.49" }
|
||||
]
|
||||
}
|
||||
"104" = {
|
||||
name = "DISPLAYS"
|
||||
subnet = "10.2.50.0/24"
|
||||
appliance_ip = "10.2.50.1"
|
||||
reserved_ip_ranges = [
|
||||
{ comment = "Estáticas reservadas", id = "static", start = "10.2.50.1", end = "10.2.50.49" }
|
||||
]
|
||||
}
|
||||
"105" = {
|
||||
name = "BOOKING"
|
||||
subnet = "10.2.51.0/24"
|
||||
appliance_ip = "10.2.51.1"
|
||||
reserved_ip_ranges = [
|
||||
{ comment = "Estáticas reservadas", id = "static", start = "10.2.51.1", end = "10.2.51.49" }
|
||||
]
|
||||
}
|
||||
"106" = {
|
||||
name = "BADGE_READERS"
|
||||
subnet = "10.2.52.0/24"
|
||||
appliance_ip = "10.2.52.1"
|
||||
reserved_ip_ranges = [
|
||||
{ comment = "Estáticas reservadas", id = "static", start = "10.2.52.1", end = "10.2.52.49" }
|
||||
]
|
||||
}
|
||||
"107" = {
|
||||
name = "CCTV"
|
||||
subnet = "10.2.53.0/24"
|
||||
appliance_ip = "10.2.53.1"
|
||||
reserved_ip_ranges = [
|
||||
{ comment = "Estáticas reservadas", id = "static", start = "10.2.53.1", end = "10.2.53.49" }
|
||||
]
|
||||
}
|
||||
"108" = {
|
||||
name = "APs"
|
||||
subnet = "10.2.54.0/24"
|
||||
appliance_ip = "10.2.54.1"
|
||||
reserved_ip_ranges = [
|
||||
{ comment = "Estáticas reservadas", id = "static", start = "10.2.54.1", end = "10.2.54.49" }
|
||||
]
|
||||
}
|
||||
"109" = {
|
||||
name = "MANAGEMENT"
|
||||
subnet = "10.2.55.0/24"
|
||||
appliance_ip = "10.2.55.1"
|
||||
dhcp_handling = "Do not respond to DHCP requests"
|
||||
}
|
||||
"110" = {
|
||||
name = "SERVERS"
|
||||
subnet = "10.2.56.0/24"
|
||||
appliance_ip = "10.2.56.1"
|
||||
dhcp_handling = "Do not respond to DHCP requests"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user