Templates y Template Stacks
Resumen
En Panorama, la configuración de red y de dispositivo (interfaces, zonas, rutas, DNS, NTP, banner de login, Server Profiles de syslog o LDAP…) no se escribe en cada firewall, sino en un Template. Un Template es un contenedor con esa configuración; cuando lo empujas (push) a un firewall, esos valores se aplican en él. Así, cambiar el servidor NTP de 40 firewalls es editar un valor y empujarlo, en vez de entrar a 40 equipos.
Como cada sitio necesita cosas parecidas pero no idénticas, los Templates se combinan en un Template Stack: una lista ordenada de templates que se asigna a los firewalls. Por ejemplo, un templateBase(NTP, DNS, banner), unoInternet-Dual-ISP(interfaces y rutas) y unoSucursal(particularidades). Si dos templates del stack definen el mismo valor, gana el de más arriba (“TOP WINS”). Y para valores que cambian de firewall en firewall (IP de la interfaz, hostname, DNS local) se usan variables ($nombre), de modo que un mismo template sirve para muchos equipos y cada uno recibe su propio valor. Esta nota cubre cómo crear templates, stacks y variables, cómo asignar firewalls, cómo empujar y cómo comprobar que están “In sync”.
Requisitos previos
- Panorama funcionando y firewalls registrados y
Connected(ver Panorama Fundamentals) - Saber qué valores son comunes a todos los firewalls y cuáles son propios de cada uno (esos serán variables)
- Un plan del orden de los templates: lo más específico arriba, lo más general abajo (porque gana el de arriba)
- Entender el reparto: Templates y Template Stacks = Network y Device; Device Groups = Policies y Objects (ver Device Groups)
- Un usuario administrador con permisos para hacer commit y push
Conceptos clave
| Concepto | Qué es |
|---|---|
| Template | Contenedor de configuración Network y Device |
| Template Stack | Lista ordenada de templates; los firewalls se asignan a un stack |
| Precedencia TOP WINS | Si dos templates definen el mismo valor, gana el que está más arriba del stack |
Variable ($nombre) | Marcador de posición cuyo valor se define por firewall o por stack (IP, DNS, gateway, hostname) |
| Override | Valor local de un firewall que reemplaza el del template; se marca con un ícono verde |
| Contexto | El selector (Device / Network) en el que eliges el template sobre el que trabajas |
graph TD TS["Template Stack: Sucursal-Stack"] TS --> T1["Template: Sucursal-Local (arriba: gana)"] TS --> T2["Template: Internet-Dual-ISP"] TS --> T3["Template: Base-Global (abajo)"] TS --> FW1["FW-A ($DNS = 7.8.9.1)"] TS --> FW2["FW-B ($DNS = 7.8.9.2)"]
Las pestañas Network y Device
En Panorama, las pestañas Network y Device solo aparecen cuando existe al menos un Template. Si no las ves, crea el primero. Además, un template se asocia a un firewall a través del Template Stack (los firewalls son una propiedad del stack).
Configuración (Ejemplo, Lab PCNSE)
1. Crear un Template
- Panorama > Templates > Add.
- Name
Base-Global, Description opcional. - OK.
2. Configurar valores dentro del Template
- Cambia a la pestaña Device (o Network).
- En el selector Template (arriba a la izquierda), elige
Base-Global. Es el “contexto”: todo lo que configures se guarda en ese template. - Ejemplo: Device > Setup > Management > General Settings (engranaje) > Login Banner
Acceso solo autorizado. OK. - Ejemplo: Device > Setup > Services > Primary NTP Server Address
0.north-america.pool.ntp.org. - Un ícono verde junto a un valor indica que ese valor tiene override (diferente del template). Déjalo verde si es intencional.
- Commit > Commit to Panorama (aún no llega a los firewalls).
3. Crear un Template Stack
- Panorama > Templates > Add Stack.
- Name
Sucursal-Stack. - Templates > Add: selecciona los templates en el orden deseado (el de más arriba tiene más prioridad). Usa Move Up / Move Down para reordenar.
- Devices: marca los firewalls (
FW-A,FW-B) que usarán el stack. - OK.
4. Variables
Para que un mismo template sirva a muchos firewalls con valores distintos.
- Con el contexto en el template, elige un valor (por ejemplo Device > Setup > Services > Primary DNS Server): en el campo, selecciona New … Variable (en el desplegable del campo).
- Name
$DNS, Type (por ejemploIP Netmask), Default Value7.8.9.1. OK. - Ahora el campo muestra
$DNS. - Asocia la variable al stack: en Panorama > Templates > edita el stack > pestaña Variables (según la versión) y confirma que
$DNSaparece; cada firewall puede tener su valor. - Para ver o editar los valores por firewall: en el stack, Device Key-Value Table: View (Panorama > Templates, columna del stack).
- Para cargar muchos valores a la vez: icono de importar variables CSV > Import.
- Commit.
Ícono verde o rojo en una variable
Un valor que se pone a mano para un firewall se marca como override. Un ícono verde significa “valor local establecido”. Si lo dejas sin valor, se usa el predeterminado.
5. Empujar (Push) a los firewalls
- Commit > Push to Devices.
- Edit Selections > pestaña Templates > marca el stack (
Sucursal-Stack) y los firewalls. - OK y Push. Opciones: Merge with Device Candidate Config (conserva el candidate local), Include Device and Network Templates y Force Template Values (sobrescribe los overrides locales con los valores del template o stack).
- Espera el job. Cuando termina, cada firewall hace su commit local con los valores del template.
También puedes usar Commit and Push para hacer ambos pasos juntos.
6. Verificar el resultado en el firewall
- En el firewall: Device > Setup > Management > General Settings: el banner debe aparecer.
- En el firewall, los valores que vienen de un template se muestran con un ícono (de template) y no se pueden editar en local (solo por override si está permitido).
Verificación
| Comando o lugar | Qué debes ver | Si no lo ves |
|---|---|---|
| Panorama > Managed Devices > Summary: columna Template | In Sync para cada firewall | Si dice Out of Sync, falta push o hubo un error |
| Panorama > Templates: el stack con los templates en orden y los firewalls asignados | La lista correcta y los dispositivos | Si falta un firewall, agrégalo al stack |
| Panorama: Push to Devices > Preview Changes | La diferencia exacta que se empujará | Útil para detectar sorpresas antes de aplicar |
| Panorama: Tasks > Jobs | Job del push con resultado correcto | Si falla, el mensaje dice la causa |
| Firewall: Device > Setup > Management | El valor del template aplicado (banner, NTP, DNS) | Si no está, el push no llegó |
Firewall: show system info (hostname, IP) o Device > Setup > Services (DNS/NTP) | Los valores de las variables resueltos para ese firewall | Si ve el valor por defecto, la variable no tiene valor propio |
| Panorama: Template stack > Device Key-Value Table: View | Los valores de cada variable por firewall | Si faltan, defínelos o impórtalos por CSV |
| Firewall: Monitor > Logs > System | Mensajes de aplicación de la configuración desde Panorama | Útil si algo no se aplicó |
Errores comunes
Panorama no muestra las pestañas Network y Device
- Causa: no existe ningún Template.
- Solución: crea un Template; las pestañas aparecen después.
Un valor del template no se aplica; el firewall muestra otro
- Causa: otro template más arriba en el stack define el mismo valor (TOP WINS), o el firewall tiene un override local.
- Revisa: el orden del stack y el ícono verde de override.
- Solución: reordena el stack (lo más específico arriba) o quita el override.
El push falla con un error de validación
- Causa: el template hace referencia a algo que no existe (por ejemplo una interfaz o zona en un firewall que no la tiene), o una variable sin valor.
- Revisa: Tasks > Jobs.
- Solución: define la variable para ese firewall o corrige la referencia.
Una variable aparece sin valor para un firewall
- Causa: no se definió el valor por firewall y no hay valor por defecto.
- Solución: Device Key-Value Table: edita o importa el CSV con los valores.
Hice un cambio en el template y el firewall sigue igual
- Causa: solo se hizo Commit to Panorama, sin Push.
- Solución: Push to Devices con los templates y firewalls correctos (ver Panorama Fundamentals).
No puedo cambiar un valor en el firewall
- Causa: el valor está controlado por el template.
- Solución: cámbialo en el template, o usa un override de forma consciente.
El firewall pierde conectividad con Panorama después de un push
- Causa: el template cambió la interfaz de gestión, el DNS o la ruta que el firewall usa para llegar a Panorama.
- Solución: Panorama puede recuperar automáticamente el commit si Enable automated commit recovery está activado; si no, corrige el valor desde la consola del firewall. Prueba cambios sensibles en un firewall antes de empujar a todos.
Un firewall pertenece a dos stacks
- Causa: un firewall solo puede pertenecer a un Template Stack.
- Solución: combina los templates necesarios en un solo stack.