0% del curso completado
Gestión de configuraciones: running, startup, copias y recuperación
📋 En esta lección
Entender cómo IOS gestiona la configuración es la diferencia entre un técnico que sabe configurar y uno que también sabe recuperarse cuando algo sale mal. Aquí aprendes dónde vive cada configuración, cómo guardarla, cómo hacer copias de seguridad, y cómo recuperar un dispositivo al que has perdido acceso (o que alguien dejó mal configurado).
Dos configuraciones, dos memorias
IOS mantiene dos versiones de la configuración en todo momento, en dos ubicaciones físicas distintas:
Running-config — RAM
La running-config (configuración en ejecución) vive en la RAM del dispositivo. Es la configuración activa: todo lo que configuraste en config# desde el último inicio aparece aquí de inmediato. Los cambios son instantáneos y el dispositivo los aplica en el momento.
Consecuencia crítica: la RAM es volátil. Si el dispositivo se reinicia o pierde alimentación, la running-config desaparece. Si no la has guardado antes, los cambios se pierden.
Switch# show running-config
Startup-config — NVRAM
La startup-config (configuración de arranque) vive en la NVRAM (Non-Volatile RAM), una memoria que retiene los datos sin alimentación. Es la configuración que el dispositivo carga al arrancar.
Switch# show startup-config
El flujo normal de trabajo
┌─────────────────────────────────────────────────────┐
│ Al encender: NVRAM (startup-config) → RAM (running)│
│ Al configurar: cambios en RAM (running-config) │
│ Al guardar: RAM (running) → NVRAM (startup) │
│ Al reiniciar sin guardar: cambios de RAM se pierden │
└─────────────────────────────────────────────────────┘
⚠️ ⚠️ El error más caro de la administración de redes
Configurar durante horas, decirle al cliente "ya está", y al día siguiente descubrir que el switch reinició (por un corte de luz) y volvió a la configuración de ayer porque nadie había guardado.
write memoryocopy running-config startup-configal terminar cualquier cambio. Sin excepción.
Guardar la configuración
Hay dos comandos equivalentes para copiar la running-config a la startup-config (NVRAM):
! Forma corta (tradicional, rápida):
Switch# write memory
Building configuration...
[OK]
! Forma explícita (equivalente):
Switch# copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
Ambos hacen exactamente lo mismo. write memory (o wr en abreviado) es más rápido de teclear. La forma copy es más explícita y es la que IOS usa internamente para cualquier operación de copia entre ubicaciones.
El comando copy: copiar entre ubicaciones
copy <origen> <destino> es el comando universal de copia en IOS. Entiende varias ubicaciones:
| Ubicación | Significado |
|---|---|
running-config | RAM (configuración activa) |
startup-config | NVRAM (configuración de arranque) |
tftp: | Servidor TFTP en la red |
flash: | Memoria flash (donde vive el IOS) |
usb0: | Pendrive USB (si el hardware lo soporta) |
null: | /dev/null de IOS (para borrar archivos) |
Ejemplos:
! Guardar running → NVRAM:
Switch# copy running-config startup-config
! Hacer backup de la config a un servidor TFTP:
Switch# copy running-config tftp:
Address or name of remote host []? 192.168.1.100
Destination filename [switch-confg]? SW-ACCESO-01-backup.txt
!!
1548 bytes copied in 0.692 secs (2237 bytes/sec)
! Restaurar una config desde TFTP:
Switch# copy tftp: running-config
Address or name of remote host []? 192.168.1.100
Source filename []? SW-ACCESO-01-backup.txt
Destination filename [running-config]?
Accessing tftp://192.168.1.100/SW-ACCESO-01-backup.txt...
!!
⚡ Restaurar desde TFTP a running-config (merge)
Cuando haces
copy tftp: running-config, IOS fusiona (merge) la config del archivo con la running actual — no la reemplaza. Si quieres una sustitución completa, primero hazerase startup-config, luego reinicia, y después aplica el archivo. O usacopy tftp: startup-configy reinicia.
Borrar y reiniciar
Para volver a la configuración de fábrica (estado limpio, sin ninguna configuración):
! Paso 1: Borrar la startup-config (NVRAM):
Switch# erase startup-config
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]
[OK]
Erase of nvram: complete
! Paso 2: Borrar las VLANs si es un switch (viven en flash:vlan.dat, no en NVRAM):
Switch# delete flash:vlan.dat
Delete filename [vlan.dat]?
Delete flash:/vlan.dat? [confirm]
! Paso 3: Reiniciar:
Switch# reload
Proceed with reload? [confirm]
Tras el reinicio, el dispositivo arranca sin startup-config y entra en el Setup Wizard (si no lo has desactivado), o directamente en la CLI con configuración vacía.
🚨 🚨
erase startup-configno afecta la running-configBorrar la NVRAM no cambia nada de lo que está activo ahora mismo. El dispositivo sigue funcionando con la running-config en RAM. Solo al reiniciar cargará (o no encontrará) la startup-config.
Ver las diferencias entre running y startup
Si quieres saber qué cambios tienes sin guardar (diferencia entre running y startup):
! En IOS moderno (IOS-XE):
Switch# show archive config differences nvram:startup-config system:running-config
! Alternativa: comparar manualmente con show running y show startup
Switch# show running-config
Switch# show startup-config
En la práctica, el indicador más fiable es el propio flujo de trabajo: si has hecho cambios desde el último write memory, hay cambios sin guardar.
Archivos en flash: el IOS y más
La flash es el almacenamiento no volátil donde vive el archivo de imagen de IOS (el .bin) y otros archivos. Es el equivalente al disco duro del dispositivo.
Switch# show flash:
Directory of flash:/
1 -rwx 17580032 Sep 12 2024 11:23:44 cat9k_lite_iosxe.17.09.04a.SPA.bin
2 -rwx 4096 Mar 15 2025 09:00:00 vlan.dat
3 -rwx 1548 Aug 25 2026 14:32:00 SW-ACCESO-01-backup.txt
1940185088 bytes total (1904939008 bytes free)
El archivo .bin es el IOS. Vlan.dat guarda la base de datos de VLANs (solo en switches). Los archivos de backup que hayas copiado localmente también aparecen aquí.
Para actualizar IOS: copias el nuevo .bin a flash via TFTP o USB, configuras el boot system, y reinicias. El proceso de upgrade de IOS queda fuera del alcance básico del CCNA — lo veremos en módulos avanzados.
Recuperación de contraseña
Un escenario real: heredas un switch de un técnico anterior sin conocer la contraseña de enable. No puedes acceder a Privileged EXEC. ¿Qué haces?
El procedimiento de recuperación de contraseña varía según la plataforma, pero el concepto es universal:
- Acceso físico (consola) — imprescindible, no se puede hacer en remoto.
- Interrumpir el arranque — al encender el dispositivo, pulsas un atajo (en Catalyst: mantener el botón Mode durante el POST; en ISR routers: enviar un Break durante los primeros segundos del arranque).
- Entrar en el modo ROM Monitor (ROMMON) — un entorno mínimo de arranque, fuera de IOS.
- Modificar el registro de configuración — el configuration register es un valor de 16 bits que controla cómo arranca IOS. El valor
0x2142hace que IOS ignore la startup-config al arrancar (arranca "limpio").
! En ROMMON (routers ISR):
rommon 1 > confreg 0x2142
rommon 2 > reset
- El router arranca sin cargar la startup-config. Entras directamente en User EXEC sin contraseña, haces
enable(sin contraseña), y puedes ver o modificar la configuración. - Copias la startup-config a running-config para recuperar toda la configuración anterior, cambias la contraseña de
enable, y restauras el registro de configuración a0x2102(el valor normal que sí carga la startup-config).
Router# copy startup-config running-config
Router(config)# enable secret NuevaPassword
Router(config)# config-register 0x2102
Router(config)# end
Router# write memory
Router# reload
💡 💡 ¿Por qué funciona esto?
El registro de configuración
0x2142le dice a IOS que ignore la NVRAM. Pero la startup-config sigue ahí, intacta. Solo la saltamos durante ese arranque para poder acceder al sistema. La configuración anterior no se pierde — la recuperamos concopy startup-config running-config.
Snapshot de configuración: el comando show tech-support
Cuando abres un caso de soporte con Cisco TAC, lo primero que piden es la salida de show tech-support. Es un volcado masivo que incluye la versión de IOS, toda la configuración, estado de todas las interfaces, tablas de rutas, logs… todo lo que puede necesitar un ingeniero de soporte para diagnosticar un problema sin acceso al dispositivo.
Switch# show tech-support | redirect flash:tech-support.txt
Lo guarda en flash para poder copiarlo via TFTP o SFTP sin que el terminal se llene de miles de líneas.
Buenas prácticas de gestión de configuraciones
- Guarda después de cada cambio verificado. No al terminar el día — después de verificar que el cambio funciona.
- Copia la config a un servidor TFTP o repositorio de configuraciones antes y después de cualquier cambio de mantenimiento.
- Nombra los backups con fecha y dispositivo:
SW-ACCESO-01-20260825-premantenimiento.txt. - Documenta el configuration register. Si está en un valor distinto de
0x2102, alguien modificó el comportamiento de arranque — investiga por qué. - Nunca hagas
erase startup-configsin un backup reciente. Parece obvio. No lo es a las 3 de la mañana.
Relación con otros conceptos
- La running-config contiene toda la configuración que irás añadiendo a lo largo del curso: IPs (Módulo 4), VLANs y trunks (Módulo 5), OSPF (Módulo 7), ACLs (Módulo 8)...
- El
show running-configque filtraste en la lección 3.2 es exactamente la configuración que se guarda en startup. - La recuperación de contraseñas y el configuration register son un tema habitual en troubleshooting real — lo encontrarás en el Módulo 12.
Resumen
IOS tiene dos configuraciones: running-config en RAM (volátil, activa ahora) y startup-config en NVRAM (persistente, se carga al arrancar). Para guardar: write memory o copy running-config startup-config. Para backup en red: copy running-config tftp:. Para restaurar: copy tftp: startup-config + reinicio. Para resetear un dispositivo: erase startup-config + delete flash:vlan.dat (switches) + reload. Para recuperar una contraseña perdida: acceso físico por consola, ROMMON con confreg 0x2142, arranque sin startup-config, cambio de contraseña, restauración del registro a 0x2102 y guardado.