Создание устойчивой системы, способной к восстановлению своих функций после форс-мажорных обстоятельств, таких как удаление или затирание startup-config с последующей перезагрузкой устройства или случайное (а такое бывает?) форматирование флэш-памяти устройства командой format flash:, позволит в любой момент вернуть оригинальный образ IOS и резервную копию конфигурации.
Для создания устойчивого образа операционной системы не потребуется дополнительного места в памяти. Предусмотреть ее нужно лишь для копии конфигурационного файла.
Рассмотрим текущее наличие файлов в памяти маршрутизатора:
Router2800#dir nvram: Directory of nvram:/ 225 -rw- 10828 startup-config 226 ---- 3018 private-config 227 -rw- 10828 underlying-config 1 -rw- 0 ifIndex-table 2 -rw- 592 IOS-Self-Sig#3232.cer 3 ---- 49 persistent-data 4 -rw- 2945 cwmp_inventory 7 -rw- 592 IOS-Self-Sig#1.cer 245752 bytes total (224686 bytes free) Router2800#dir flash: Directory of flash:/ 1 -rw- 2751 Sep 4 2008 16:13:24 +06:00 sdmconfig-28xx.cfg 2 -rw- 931840 Sep 4 2008 16:13:40 +06:00 es.tar 3 -rw- 1038 Sep 4 2008 16:14:10 +06:00 home.shtml 4 -rw- 112640 Sep 4 2008 16:14:24 +06:00 home.tar 5 -rw- 527849 Sep 4 2008 16:14:38 +06:00 128MB.sdf 6 -rw- 415956 Sep 4 2008 16:15:16 +06:00 sslclient-win-1.1.4.176.pkg 7 -rw- 179269 Sep 14 2009 06:00:38 +06:00 crashinfo_20090914-050039 8 -rw- 59455672 Jan 20 2010 11:42:58 +05:00 c2800nm-adventerprisek9-mz.124-24.T2.bin 64016384 bytes total (2375680 bytes free)
Как видно критически важные для функционирования маршрутизатора файлы startup-config и c2800nm-adventerprisek9-mz.124-24.T2.bin никак не защищены.
Защитим образ IOS и конфигурацию командами:
Router2800(config)#secure boot-image Router2800(config)#secure boot-config
Проверим:
Router2800#sh secure bootset IOS resilience router id *********** IOS image resilience version 12.4 activated at 13:51:25 Tyumen Thu Feb 17 2011 Secure archive flash:c2800nm-adventerprisek9-mz.124-24.T2.bin type is image (elf) [] file size is 59455672 bytes, run size is 59621316 bytes Runnable image, entry point 0x8000F000, run from ram IOS configuration resilience version 12.4 activated at 13:51:36 Tyumen Thu Feb 17 2011 Secure archive flash:.runcfg-20110217-085136.ar type is config configuration archive size 12264 bytes
Теперь еще раз проверим наличие файлов в памяти:
Router2800#dir nvram: Directory of nvram:/ 225 -rw- 10828 startup-config 226 ---- 3018 private-config 227 -rw- 10828 underlying-config 1 -rw- 0 ifIndex-table 2 -rw- 592 IOS-Self-Sig#3232.cer 3 ---- 49 persistent-data 4 -rw- 2945 cwmp_inventory 7 -rw- 592 IOS-Self-Sig#1.cer 245752 bytes total (224686 bytes free) Router2800#dir flash: Directory of flash:/ 1 -rw- 2751 Sep 4 2008 16:13:24 +06:00 sdmconfig-28xx.cfg 2 -rw- 931840 Sep 4 2008 16:13:40 +06:00 es.tar 3 -rw- 1038 Sep 4 2008 16:14:10 +06:00 home.shtml 4 -rw- 112640 Sep 4 2008 16:14:24 +06:00 home.tar 5 -rw- 527849 Sep 4 2008 16:14:38 +06:00 128MB.sdf 6 -rw- 415956 Sep 4 2008 16:15:16 +06:00 sslclient-win-1.1.4.176.pkg 7 -rw- 179269 Sep 14 2009 06:00:38 +06:00 crashinfo_20090914-050039 64016384 bytes total (2359296 bytes free)
Образ операционной системы теперь скрыт, а для стартовой конфигурации была создана скрытая копия flash:.runcfg-20110217-085136.ar.
Допустим файл со стартовой конфигурацией был удален. Чтобы его восстановить введем команду:
Router2800(config)#secure boot-config restore flash:archived-config ios resilience:configuration successfully restored as flash:archived-config
Теперь проверим его наличие во флэш-памяти:
Router2800#dir flash: Directory of flash:/ 1 -rw- 2751 Sep 4 2008 16:13:24 +06:00 sdmconfig-28xx.cfg 2 -rw- 931840 Sep 4 2008 16:13:40 +06:00 es.tar 3 -rw- 1038 Sep 4 2008 16:14:10 +06:00 home.shtml 4 -rw- 112640 Sep 4 2008 16:14:24 +06:00 home.tar 5 -rw- 527849 Sep 4 2008 16:14:38 +06:00 128MB.sdf 6 -rw- 415956 Sep 4 2008 16:15:16 +06:00 sslclient-win-1.1.4.176.pkg 7 -rw- 179269 Sep 14 2009 06:00:38 +06:00 crashinfo_20090914-050039 11 -rw- 12264 Feb 17 2011 14:00:52 +05:00 archived-config 64016384 bytes total (2347008 bytes free)
Воссоздадим копию стартовой конфигурации:
Router2800#configure replace flash:archived-config This will apply all necessary additions and deletions to replace the current running configuration with the contents of the specified configuration file, which is assumed to be a complete configuration, not a partial configuration. Enter Y if you are sure you want to proceed. ? [no]: y Total number of passes: 1 Rollback Done
Конфигурация восстановлена. Чтобы ее сохранить, нужно выполнить команду copy run start.
Имейте в виду, что резервная копия конфигурации не обновляется автоматически по внесению изменению. Для ее обновления придется выполнить команды подключившись к консольной линии:
Router2800(config)#no secure boot-config %IOS_RESILIENCE-5-CONFIG_RESIL_INACTIVE: Disabled secure config archival Router2800(config)#secure boot-config %IOS_RESILIENCE-5-CONFIG_RESIL_ACTIVE: Successfully secured config archive
Иначе система выдаст сообщение:
Router2800(config)#no secure boot-config %You must be logged on the console to apply this command