Блог

  • Сброс пароля на маршрутизаторе Cisco C1111-8P

    Сброс пароля на маршрутизаторе Cisco C1111-8P: пошаговая инструкция

    Сброс пароля на маршрутизаторе Cisco C1111-8P: полная инструкция по процедуре password recovery

    Пошаговое руководство по восстановлению доступа к устройству серии Cisco 1100 Integrated Services Router через режим ROMMON, с иллюстрациями и объяснением каждого шага.

    Платформа: Cisco C1111-8P (1RU) ПО: Cisco IOS-XE Уровень: средний Требуется: физический/консольный доступ

    1. Когда требуется процедура сброса пароля

    Маршрутизатор Cisco C1111-8P относится к серии Integrated Services Router (ISR) 1100 и работает под управлением Cisco IOS-XE. Процедура сброса пароля (password recovery) применяется в следующих типичных случаях:

    • Утерян или забыт пароль пользователя enable / enable secret.
    • Устройство получено «б/у» с неизвестными учётными данными.
    • Администратор, настроивший устройство, недоступен, а конфигурация нужна для дальнейшей работы.
    • Требуется вернуть устройство к заводским настройкам, сохранив при этом текущую конфигурацию для последующего анализа.
    Важно понимать суть процедуры. Классический password recovery на Cisco IOS/IOS-XE не «взламывает» пароль напрямую — он временно меняет значение конфигурационного регистра так, чтобы устройство при загрузке игнорировало содержимое startup-config. Это позволяет зайти без пароля, скопировать сохранённую конфигурацию в оперативную, отредактировать пароль и сохранить изменения. Физический доступ к устройству в этот момент обязателен — это фундаментальное свойство архитектуры, а не уязвимость.

    2. Важные предупреждения

    • Физический доступ = полный доступ. Процедура работает потому, что тот, кто выполняет её, уже имеет физический доступ к устройству. Ограничивайте доступ к серверным и телекоммуникационным шкафам организационно.
    • Перезагрузка обязательна. Процедура требует как минимум одной, иногда двух перезагрузок устройства — запланируйте технологическое окно, так как трафик через маршрутизатор будет прерван.
    • Не отключайте питание вручную во время записи конфигурации (команда write memory) — это может повредить файловую систему flash.
    • Сохраните резервную копию конфигурации, если есть такая возможность, до начала процедуры (например, через ранее настроенный TFTP/SCP-бэкап или доступ к устройству управления сетью).
    • После восстановления доступа рекомендуется сменить все локальные пароли и ключи (enable secret, локальные учётные записи, SNMP community, RADIUS/TACACS+ shared secret), поскольку не исключено, что старые значения могли быть скомпрометированы.

    3. Что подготовить перед началом

    ТребованиеКомментарий
    Консольный кабель (RJ-45-to-DB9 или USB-консоль)На C1111-8P консольный порт — RJ-45, часто с дублирующим mini-USB портом консоли
    Терминальная программаPuTTY, SecureCRT, Tera Term или встроенный терминал macOS/Linux (screen, minicom)
    Параметры сессии9600 бод, 8 бит данных, без чётности, 1 стоп-бит, без управления потоком (9600 8N1)
    Физический доступ к устройствуДля перезагрузки и отправки break-сигнала
    Учётная запись с правами локального администратора на ПКДля установки драйверов USB-консоли, если используется mini-USB

    4. Схема подключения к консольному порту

    Cisco C1111-8P CON RJ-45 USB-C Mini-USB console Порты консоли на передней панели Консольный кабель rommon 1 > confreg … ignore system config info: y rommon 2 > reset ПК с терминальной программой (PuTTY / SecureCRT / Tera Term, 9600 8N1)
    Рис. 1. Подключение ПК к консольному порту Cisco C1111-8P для выполнения процедуры восстановления пароля.

    5. Пошаговая процедура восстановления пароля

    1

    Подключитесь к консольному порту

    Соедините консольный порт маршрутизатора (RJ-45 или mini-USB) с ПК. Откройте терминальную программу с параметрами 9600 8N1, без управления потоком.

    2

    Перезагрузите устройство и прервите загрузку

    Выключите и снова включите питание маршрутизатора (либо выполните reload, если есть доступ с правами ниже привилегированного уровня). В течение первых ~5–15 секунд после старта загрузки нажмите комбинацию Ctrl+Break (или её аналог в вашем терминале — в некоторых клиентах это Ctrl+Delete, либо специальная кнопка Break) — это переведёт устройство в режим ROMMON (rommon 1>).

    System Bootstrap, Version 17.x...
    Initializing Hardware...
    
    monitor: command "boot" aborted due to user interrupt
    rommon 1 >

    Если Break не сработал с первого раза — попробуйте отправлять его сразу после сообщения о начале загрузки IOS, до появления баннера операционной системы.

    Уточнение по реальному ROMMON на C1111-8P (System Bootstrap 16.12(2r) и аналогичные версии). На практике на этой платформе прямой однострочный синтаксис confreg 0x2142 ROM-монитором не подтверждён как рабочий, а команды config-register, write memory и end — это команды режима IOS EXEC/config, а не ROMMON, и в приглашении rommon N > они выдают ошибку command "..." not found. Единственный надёжно работающий способ на этом ROM-мониторе — интерактивный мастер команды confreg без аргументов (см. ниже). Реальный вывод устройства при ошибочном вводе IOS-команд в ROMMON выглядит так:
    rommon 1 > config-register 0x2102
    monitor: command "config-register" not found
    rommon 2 > end
    monitor: command "end" not found
    rommon 3 > write memory
    monitor: command "write" not found
    3

    Запустите интерактивный мастер изменения регистра — команда confreg

    В приглашении ROMMON выполните команду confreg без аргументов — она запускает пошаговый диалог настройки конфигурационного регистра:

    rommon 1 > confreg
    
               Configuration Summary
       (Virtual Configuration Register: 0x2102)
    enabled are:
     [ 0 ] console baud: 9600
     boot:...... image specified by the boot system commands
    do you wish to change the configuration? y/n [n]: y
     enable "diagnostic mode"? y/n [n]: n
     enable "break/abort has effect"? y/n [n]: n
     enable "ignore system config info"? y/n [n]: y
     change console baud rate? y/n [n]: n
     change the boot characteristics? y/n [n]: n
    
               Configuration Summary
       (Virtual Configuration Register: 0x2142)
    ...
    You must reset or power cycle for new config to take effect

    Отвечайте y только на вопрос «enable “ignore system config info”?» — именно этот бит (0x0040) заставляет устройство при следующей загрузке проигнорировать startup-config. На остальные вопросы отвечайте n (значения по умолчанию), иначе итоговое значение регистра получится не 0x2142, а другим — например, если случайно включить «diagnostic mode», регистр станет 0x8142, как показано в примере лога ниже:

    rommon 6 > confreg
    ...
     enable "diagnostic mode"? y/n [n]: y
    ...
     enable "ignore system config info"? y/n [n]: 
    
               Configuration Summary
       (Virtual Configuration Register: 0x8102)

    Это не критично для самого восстановления пароля (бит «ignore system config info» всё равно можно включить отдельным повторным запуском confreg), но лучше сразу пройти мастер верно и получить именно 0x2142, чтобы не оставлять на устройстве побочно включённый диагностический режим.

    4

    Перезагрузите устройство из ROMMON

    rommon 2 > reset

    Маршрутизатор загрузит IOS-XE, но стартует с пустой (заводской) активной конфигурацией. При этом откроется диалог начальной настройки — на предложение «Would you like to enter the initial configuration dialog?» ответьте no.

    5

    Перейдите в привилегированный режим и скопируйте сохранённую конфигурацию

    Router> enable
    Router# copy startup-config running-config

    Эта команда загружает вашу прежнюю (сохранённую) конфигурацию в оперативную память — все интерфейсы, маршруты, ACL и остальные настройки восстанавливаются, включая старый (нужный вам для замены) пароль в зашифрованном виде.

    6

    Перейдите в режим конфигурирования и задайте новый пароль

    Router# configure terminal
    Router(config)# enable secret НовыйНадёжныйПароль
    Router(config)# line con 0
    Router(config-line)# password НовыйПарольКонсоли
    Router(config-line)# exit
    Router(config)# exit

    При необходимости также обновите пароли локальных пользователей: username admin secret НовыйПароль.

    7

    Верните конфигурационный регистр в исходное значение

    Router(config)# config-register 0x2102

    Значение 0x2102 — штатное значение регистра, при котором устройство при загрузке нормально читает startup-config из NVRAM. Это критически важный шаг: если его пропустить, маршрутизатор при каждой перезагрузке снова будет стартовать без сохранённой конфигурации.

    8

    Сохраните конфигурацию и перезагрузите устройство

    Router# copy running-config startup-config
    Router# reload

    После перезагрузки маршрутизатор должен запуститься с новой парой логин/пароль и полностью восстановленной рабочей конфигурацией.

    6. Общая схема процесса (ROMMON)

    Перезагрузка устройства Ctrl+Break → режим ROMMON confreg (мастер) ignore system config info: y → 0x2142 reset copy startup-config running-config enable secret … → config-register 0x2102 → write → reload
    Рис. 2. Последовательность действий при восстановлении пароля через ROMMON на Cisco IOS-XE.

    7. Проверка результата

    После финальной перезагрузки убедитесь, что:

    • Устройство запросило новый пароль и приняло его — show version отображает корректную модель C1111-8P и версию IOS-XE.
    • Команда show running-config | include enable secret показывает новый зашифрованный хэш пароля.
    • Значение регистра вернулось к штатному: show version в конце вывода должно показывать Configuration register is 0x2102 (а не 0x2142).
    • Вся ранее настроенная конфигурация (интерфейсы, маршрутизация, ACL, VPN) присутствует и активна.

    8. Частые вопросы и типичные ошибки

    Break-сигнал не прерывает загрузку

    Проверьте настройки терминальной программы — в некоторых эмуляторах (например, PuTTY) сочетание Ctrl+Break нужно назначить отдельно в настройках сессии, либо использовать Ctrl+] с последующей командой send break при подключении через telnet-эмулятор поверх серийного порта.

    После процедуры конфигурация «пустая»

    Скорее всего, пропущен шаг copy startup-config running-config, либо на устройстве изначально не было сохранённой конфигурации (startup-config отсутствовал в NVRAM).

    После перезагрузки снова стартует без пароля

    Забыт шаг возврата регистра в 0x2102 и/или не выполнена команда copy running-config startup-config перед финальной перезагрузкой.

    ROMMON выдаёт monitor: command "config-register" not found / "write" not found / "end" not found

    Это означает, что команда вводится не в том режиме. config-register, write memory и end — команды IOS (EXEC / config mode), они существуют только после того, как устройство загрузило операционную систему. Пока приглашение выглядит как rommon 1 >, доступны только команды самого ROM-монитора: confreg, reset, set, boot, dir и т.п. Используйте именно confreg (см. раздел 5, шаг 3).

    После reset — как понять, что startup-config действительно проигнорирован?

    В логе загрузки IOS-XE появится системное сообщение %SYS-6-STARTUP_CONFIG_IGNORED: System startup configuration is ignored based on the configuration register setting. Это подтверждает, что бит «ignore system config info» сработал и устройство подняло чистую (заводскую) активную конфигурацию — можно переходить к шагу с enable и copy startup-config running-config.

    Можно ли выполнить сброс пароля удалённо?

    Нет. Процедура требует локального консольного доступа и физического управления питанием/перезагрузкой устройства в критический момент загрузки — это встроенная особенность архитектуры Cisco IOS-XE, а не ограничение конкретной модели.

    Материал носит справочный характер и описывает штатную, документированную Cisco процедуру восстановления пароля. Перед выполнением на production-оборудовании рекомендуется согласовать техническое окно и уведомить заинтересованные стороны.