Files
eqt-network-meraki/sites/BCN01-LAB/switch.auto.tfvars
T
Jose MartinezandClaude Sonnet 4.6 6dc629ea18 feat: soporte port_range con listas y combinaciones ("2,3", "1-3,5")
- _expand_range ahora procesa segmentos separados por coma, cada uno
  puede ser un puerto único o un rango numérico (1-48).
  Ejemplos: "2,3" -> ["2","3"] | "1-3,5,47" -> ["1","2","3","5","47"]
- switch.auto.tfvars: puertos 2 y 3 de eqt-lab-st01-sw01 consolidados
  en una sola entrada con port_range = "2,3"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 07:09:12 +01:00

175 lines
5.8 KiB
HCL

# Configuración de switches MS - BCN01-LAB
# El shared secret de RADIUS se pasa via TF_VAR_radius_secret (GitHub secret: RADIUS_SECRET)
# --- POLÍTICAS DE ACCESO 802.1X ---
switch_access_policies = [
{
name = "DOT1X-CORPO"
access_policy_type = "Hybrid authentication"
host_mode = "Multi-Auth"
radius_accounting_enabled = false
radius_re_authentication_interval = 0
url_redirect_walled_garden_enabled = false
# VLAN a la que cae el puerto si el RADIUS no responde
radius_failed_auth_vlan_id = 101 # GUEST
radius_servers = [
{
host = "15.15.15.15"
port = 1912
}
]
}
]
# --- PUERTOS DE SWITCH ---
# El serial aparece en Dashboard > Switches > nombre del switch > Overview.
# access_policy_number: número auto-asignado por Meraki a la política creada arriba
# (visible en Dashboard > Switches > Switch settings > Access policies)
#
# Ejemplo con los tres tipos de puerto:
# switch_port_configs = [
#
# # Puertos de acceso general con 802.1X (PCs, portátiles)
# # Autenticación: 802.1X → MAB → VLAN GUEST si falla RADIUS
# # La VLAN final la asigna Okta dinámicamente; vlan=100 es el fallback estático
# {
# serial = "XXXX-XXXX-XXXX"
# port_range = "1-20"
# type = "access"
# vlan = 100 # ACCESS - fallback si Okta no devuelve VLAN
# access_policy_type = "Custom access policy"
# access_policy_number = 1 # id de la política DOT1X-CORPO
# },
#
# # Puertos designados para impresoras (sin 802.1X)
# # VLAN asignada estáticamente en el puerto - las Group Policies en switches no asignan VLAN
# {
# serial = "XXXX-XXXX-XXXX"
# port_range = "21-24"
# type = "access"
# vlan = 103 # PRINTERS - VLAN fija en el puerto
# access_policy_type = "Open"
# },
#
# # Puertos designados para APs (sin 802.1X)
# # Igual que impresoras: VLAN fija en el puerto
# {
# serial = "XXXX-XXXX-XXXX"
# port_range = "25-27"
# type = "access"
# vlan = 108 # APs - VLAN fija en el puerto
# access_policy_type = "Open"
# },
#
# # Puerto de uplink (trunk, sin autenticación)
# {
# serial = "XXXX-XXXX-XXXX"
# port_range = "28"
# type = "trunk"
# access_policy_type = "Open"
# },
#
# ]
switch_port_configs = []
# --- PUERTOS DE STACK ---
# Terraform resuelve automáticamente los seriales de todos los miembros del stack.
# El stack_name debe coincidir exactamente con el nombre en Dashboard > Switches > Stacks.
# Terraform aplicará el mismo port_range a CADA switch del stack (ambos de 48 puertos).
#
# Ejemplo para bnc01-lab-stack01 (2x 48 puertos):
# switch_stack_port_configs = [
#
# # Puertos 1-44: acceso general con 802.1X (PCs, portátiles)
# {
# stack_name = "bnc01-lab-stack01"
# port_range = "1-44"
# type = "access"
# vlan = 100 # ACCESS - fallback si Okta no devuelve VLAN
# access_policy_type = "Custom access policy"
# access_policy_number = 1 # id de la política DOT1X-CORPO
# },
#
# # Puertos 45-46: impresoras (VLAN fija, sin 802.1X)
# {
# stack_name = "bnc01-lab-stack01"
# port_range = "45-46"
# type = "access"
# vlan = 103 # PRINTERS
# access_policy_type = "Open"
# },
#
# # Puertos 47-48: APs (VLAN fija, sin 802.1X)
# {
# stack_name = "bnc01-lab-stack01"
# port_range = "47-48"
# type = "access"
# vlan = 108 # APs
# access_policy_type = "Open"
# },
#
# ]
switch_stack_port_configs = [
{
stack_name = "bcn01-lab-stack01"
port_range = "6"
type = "access"
vlan = 101 # GUEST
access_policy_type = "Open"
},
{
# Puerto 47: uplink trunk en ambos miembros del stack
# VLAN nativa 109 (MANAGEMENT), permite todas las VLANs
stack_name = "bcn01-lab-stack01"
port_range = "47"
name = "Uplink trunk"
type = "trunk"
vlan = 109 # MANAGEMENT - VLAN nativa (untagged)
allowed_vlans = "all"
access_policy_type = "Open"
},
]
# Puertos de un switch concreto (miembro individual del stack)
# El serial se encuentra en: Dashboard > Switches > eqt-lab-st01-sw01 > Overview
switch_named_port_configs = [
{
# Puerto 1 de eqt-lab-st01-sw01 → VLAN SERVERS (estática, sin autenticación)
switch_name = "eqt-lab-st01-sw01"
port_range = "1"
name = "Servers"
type = "access"
vlan = 110 # SERVERS
access_policy_type = "Open"
},
{
# Puertos 2 y 3 de eqt-lab-st01-sw01 → APs (trunk, nativa 108 APs, tageadas 100 ACCESS y 101 GUEST)
switch_name = "eqt-lab-st01-sw01"
port_range = "2,3"
name = "AP"
type = "trunk"
vlan = 108 # APs - VLAN nativa (untagged)
allowed_vlans = "100,101,108" # ACCESS + GUEST + APs
access_policy_type = "Open"
},
]
# VLAN de gestión de los switches del site
switch_management_vlan = 109
# Interfaces L3 en el stack para acceso de gestión al Dashboard de Meraki
stack_routing_interfaces = [
{
stack_name = "bcn01-lab-stack01"
name = "MANAGEMENT"
vlan_id = 109
ip_address = "10.2.55.2"
subnet = "10.2.55.0/24"
default_gateway = "10.2.55.1"
dns1 = "8.8.8.8"
dns2 = "8.8.4.4"
},
]