CLI y Config Management
Resumen
PAN-OS no aplica un cambio en el momento en que lo escribes. Todo lo que configuras va primero a la candidate configuration (un borrador) y solo se vuelve real cuando haces commit, que lo copia a la running configuration (la que el firewall usa ahora). Esa separación te permite preparar muchos cambios, revisarlos, validarlos y revertirlos antes de que afecten tráfico.
Esta nota explica los dos modos del CLI, el ciclo candidate → commit → running, cómo guardar y restaurar configuraciones (snapshots y versiones) y cómo evitar que dos administradores se pisen con los locks.
Requisitos previos
- Una cuenta de administrador con permisos de configuración
- Acceso por SSH, consola o GUI
- Si hay varios administradores: acordar quién edita y quién hace commit (locks)
- Un lugar fuera del firewall para guardar respaldos (PC, servidor SCP)
Conceptos clave
| Concepto | Qué significa |
|---|---|
Operational mode (admin@FW>) | Comandos de consulta y operación: show, ping, request, test. No cambia configuración |
Configuration mode (admin@FW#) | Se entra con configure. Aquí se crean y borran configuraciones con set y delete |
| Candidate configuration | Borrador con tus cambios sin aplicar. Si el firewall se reinicia antes de guardarlo o commitearlo, puede perderse |
| Running configuration | La configuración activa. Solo cambia con un commit |
| Commit | Aplica la candidate a la running. En la GUI, botón Commit arriba a la derecha |
| Snapshot | Copia guardada de la configuración (named snapshot, o snapshot.xml al guardar la candidate) |
| Config lock | Nadie más puede cambiar la configuración mientras lo tengas |
| Commit lock | Otros pueden editar, pero no pueden hacer commit mientras lo tengas |
Cómo moverte en el CLI
| Acción | Comando |
|---|---|
| Entrar a configuration mode | configure |
| Volver a operational mode | exit o quit |
| Ejecutar un comando operacional estando en configuration mode | run show system info |
| Ver los comandos que contienen una palabra | find command keyword nat |
| Cambiar el formato en que se muestra la configuración | set cli config-output-format set (opciones: default, json, set, xml) |
| Desactivar la paginación | set cli pager off |
| Autocompletar y ayuda | Tab y ? |
El formato set es el más cómodo para humanos, porque lo que ves es lo mismo que escribirías para crear esa configuración.
Configuración
1. Hacer un cambio y aplicarlo
configure
set deviceconfig system hostname FW-A
show deviceconfig system hostname
validate full
commit description "Cambio de hostname"
validate fullrevisa si la configuración tiene errores antes de aplicarla.- En la GUI: Commit > Preview Changes (ver qué cambia) > Validate Commit > Commit.
- Para ver las diferencias entre la candidate y la running:
run show config diff.
2. Guardar y restaurar configuraciones (GUI)
Todo en Device > Setup > Operations > Configuration Management:
| Grupo | Opciones |
|---|---|
| Revert | Revert to last saved configuration (la candidate vuelve a snapshot.xml); Revert to running configuration (descarta los cambios sin commit) |
| Save | Save named configuration snapshot (con el nombre que elijas); Save candidate configuration (guarda tu borrador en snapshot.xml) |
| Load | Load named configuration snapshot; Load configuration version (una versión anterior de un commit) |
| Export | Export named configuration snapshot; Export configuration version; Export device state |
| Import | Import named configuration snapshot; Import device state |
El ícono de la barra superior, junto a Commit, ofrece Save Changes y Revert Changes.
Después de cargar un snapshot o una versión, la candidate cambia pero la running no: hay que hacer commit para activarla.
3. Lo mismo por CLI
configure
save config to antes-del-cambio.xml
load config from antes-del-cambio.xml
load config version 12
revert config
commit
Para exportar un respaldo a un servidor:
scp export configuration from running-config.xml to usuario@192.168.1.10:/respaldos/
4. Locks entre administradores
- Candado arriba a la derecha en la GUI > Take Lock > Config o Commit > Comentario > OK. Se quitan con Remove Lock.
- Device > Setup > Management > General Settings (engranaje) > Automatically Acquire Commit Lock: toma el commit lock al empezar a configurar.
request commit-lock add comment "Estoy cambiando NAT"
request config-lock add comment "Mantenimiento"
request commit-lock remove
request config-lock remove
show commit-locks
show config-locks
Un superusuario puede quitar los locks de otros administradores.
Verificación
| Comando o lugar | Qué debes ver | Si no lo ves |
|---|---|---|
show jobs all | El job del commit con Status FIN y Result OK | Abre el job con show jobs id <número> y lee el error o los warnings |
run show config diff | Solo los cambios que esperabas | Si ves cambios de otros, revisa quién está editando con show admins all |
show admins all | Lista de administradores conectados | Si alguien más edita, usa un lock o coordínate |
show config running | La configuración activa en XML | Si falta lo que configuraste, falta el commit |
show commit-locks / show config-locks | Quién tiene cada lock y su comentario | Si hay uno viejo, pide que lo suelten o quítalo como superusuario |
| GUI: Device > Setup > Operations | Tu snapshot en la lista al cargar o exportar | Guarda otra vez con un nombre distinto |
Errores comunes
El commit falla
- Causa: un objeto referenciado no existe (zona, address, perfil), un campo obligatorio está vacío o un nombre está repetido.
- Revisa: la pantalla del commit, o
show jobs id <número>. - Solución: corrige lo que indica el mensaje y repite el commit. El commit es todo o nada.
El commit termina con warnings
- Causa: advertencias de reglas (rule shadowing), perfiles sin usar o dependencias de App-ID faltantes.
- Solución: léelas. El commit se aplicó, pero la advertencia indica un problema real de diseño.
Dice que hay un commit lock y no puedo hacer commit
- Causa: otro administrador (o tú en otra sesión) tomó el commit lock.
- Revisa:
show commit-locks. - Solución: pide que lo suelten; si es necesario, un superusuario lo quita con
request commit-lock remove.
Mis cambios desaparecieron
- Causa: no hiciste commit y alguien hizo Revert, o el firewall se reinició con cambios sin guardar.
- Solución: guarda el trabajo largo con Save candidate configuration. Si ya habías hecho commit, recupéralo con Load configuration version y un nuevo commit.
Hice un cambio malo y ya hice commit
- Causa: error de configuración.
- Solución: Device > Setup > Operations > Load configuration version, elige la versión anterior y haz commit. Por CLI:
load config version <n>ycommit.
Mi commit incluyó cambios de otro administrador
- Causa: la candidate configuration es compartida por los administradores.
- Solución: usa Commit > Commit Changes Made By para commitear solo lo tuyo, o usa un commit lock mientras trabajas.
Invalid syntax en un comando
- Causa: el comando no existe en tu versión o escribiste mal una opción.
- Solución: usa
?para ver las opciones y Tab para autocompletar.
No puedo configurar nada, todo sale de solo lectura
- Causa: otro administrador tiene el config lock, o tu rol es de solo lectura.
- Revisa:
show config-locksy tu rol en Device > Administrators. - Solución: pide el lock o pide un rol con permisos.
Importé un snapshot y no pasó nada
- Causa: importar solo copia el archivo; no lo carga ni lo aplica.
- Solución: después de Import named configuration snapshot, haz Load named configuration snapshot y luego commit.