feat(BCN01-LAB): puerto AP trunk y VLAN 111 WAN sin L3

- Puerto 3 eqt-lab-st01-sw01: trunk, native 108 (APs), tagged 100+101
- VLAN 111 WAN sin subnet ni appliance_ip (switching puro)
- subnet/appliance_ip pasan a ser opcionales en el módulo
This commit is contained in:
Jose Martinez
2026-03-25 23:07:09 +01:00
parent f55a54064d
commit 7378e9977c
5 changed files with 39 additions and 20 deletions
+4 -2
View File
@@ -141,8 +141,8 @@ resource "meraki_appliance_vlan" "mx_gateways" {
network_id = local.network_id network_id = local.network_id
vlan_id = each.key vlan_id = each.key
name = each.value.name name = each.value.name
subnet = each.value.subnet subnet = each.value.subnet # null para VLANs sin L3
appliance_ip = each.value.appliance_ip appliance_ip = each.value.appliance_ip # null para VLANs sin L3
reserved_ip_ranges = each.value.reserved_ip_ranges reserved_ip_ranges = each.value.reserved_ip_ranges
dhcp_handling = each.value.dhcp_handling dhcp_handling = each.value.dhcp_handling
} }
@@ -157,6 +157,8 @@ resource "meraki_wireless_ssid" "ssids" {
name = each.value.name name = each.value.name
enabled = each.value.enabled enabled = each.value.enabled
auth_mode = each.value.auth_mode auth_mode = each.value.auth_mode
psk = each.value.psk
wpa_encryption_mode = each.value.wpa_encryption_mode
splash_page = each.value.splash_page splash_page = each.value.splash_page
ip_assignment_mode = each.value.ip_assignment_mode ip_assignment_mode = each.value.ip_assignment_mode
use_vlan_tagging = each.value.use_vlan_tagging use_vlan_tagging = each.value.use_vlan_tagging
+3 -2
View File
@@ -34,6 +34,7 @@ variable "wireless_ssids" {
name = string name = string
enabled = optional(bool, true) enabled = optional(bool, true)
auth_mode = string auth_mode = string
psk = optional(string, null) # Contraseña WPA2/WPA3-PSK (sensible, usar TF_VAR o secret)
splash_page = optional(string, "None") splash_page = optional(string, "None")
wpa_encryption_mode = optional(string, "WPA3 only") wpa_encryption_mode = optional(string, "WPA3 only")
ip_assignment_mode = optional(string, "Bridge mode") ip_assignment_mode = optional(string, "Bridge mode")
@@ -61,8 +62,8 @@ variable "radius_secret" {
variable "switch_vlans" { variable "switch_vlans" {
type = map(object({ type = map(object({
name = string name = string
subnet = string subnet = optional(string, null) # null para VLANs sin L3 (p.ej. WAN puro switching)
appliance_ip = string appliance_ip = optional(string, null)
dhcp_handling = optional(string, "Run a DHCP server") dhcp_handling = optional(string, "Run a DHCP server")
reserved_ip_ranges = optional(list(object({ reserved_ip_ranges = optional(list(object({
comment = string comment = string
+10
View File
@@ -144,6 +144,16 @@ switch_named_port_configs = [
vlan = 110 # SERVERS vlan = 110 # SERVERS
access_policy_type = "Open" access_policy_type = "Open"
}, },
{
# Puerto 3 de eqt-lab-st01-sw01 → AP (trunk, nativa 108 APs, tageadas 100 ACCESS y 101 GUEST)
switch_name = "eqt-lab-st01-sw01"
port_range = "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 # VLAN de gestión de los switches del site
+3 -2
View File
@@ -34,6 +34,7 @@ variable "wireless_ssids" {
name = string name = string
enabled = optional(bool, true) enabled = optional(bool, true)
auth_mode = string auth_mode = string
psk = optional(string, null)
splash_page = optional(string, "None") splash_page = optional(string, "None")
wpa_encryption_mode = optional(string, "WPA3 only") wpa_encryption_mode = optional(string, "WPA3 only")
ip_assignment_mode = optional(string, "Bridge mode") ip_assignment_mode = optional(string, "Bridge mode")
@@ -61,8 +62,8 @@ variable "radius_secret" {
variable "switch_vlans" { variable "switch_vlans" {
type = map(object({ type = map(object({
name = string name = string
subnet = string subnet = optional(string, null)
appliance_ip = string appliance_ip = optional(string, null)
dhcp_handling = optional(string, "Run a DHCP server") dhcp_handling = optional(string, "Run a DHCP server")
reserved_ip_ranges = optional(list(object({ reserved_ip_ranges = optional(list(object({
comment = string comment = string
+5
View File
@@ -89,4 +89,9 @@ switch_vlans = {
appliance_ip = "10.2.56.1" appliance_ip = "10.2.56.1"
dhcp_handling = "Do not respond to DHCP requests" dhcp_handling = "Do not respond to DHCP requests"
} }
"111" = {
name = "WAN"
dhcp_handling = "Do not respond to DHCP requests"
# Sin L3: sin subnet ni appliance_ip (VLAN de switching puro hacia el ISP)
}
} }