server default { listen { type = auth ipaddr = * port = 1812 } listen { type = acct ipaddr = * port = 1813 } authorize { # Si es EAP (WPA-Enterprise), procesar EAP y salir para no interferir if (&EAP-Message) { eap return } # Cargar atributos desde SQL (VLAN/bw, etc.) sql # Laboratorio: aceptar todo en flujos no EAP update control { Auth-Type := Accept } } authenticate { # EAP para WPA-Enterprise eap # Aceptar todo cuando control:Auth-Type := Accept (no EAP) Auth-Type Accept { ok } } accounting { # Enviar eventos de accounting al dashboard (solo logging) rest ok } post-auth { # Log de eventos post-auth al dashboard (no modifica la respuesta) rest.post-auth # Para EAP, los atributos del tĂșnel interno se copian (use_tunneled_reply = yes) } }