Сброс пароля и reset конфигурации Cisco Catalyst (3750X / 3850 / 3650)

В этой инструкции — два рабочих сценария для Cisco Catalyst:

  1. Сброс пароля/восстановление доступа без потери конфигурации (рекомендуется).
  2. Полный сброс коммутатора к заводским настройкам (с удалением конфигурации).

Рассматриваются модели Catalyst 3750X и Catalyst 3850/3650. Команды и последовательности рассчитаны на большинство устройств этих серий, но на разных версиях IOS/IOS-XE названия переменных и поведение могут немного отличаться — всегда внимательно читайте сообщения в консоли.


Важно перед началом

  • Нужен физический доступ и консольный кабель.
  • Если коммутатор в проде — заранее согласуйте окно работ.
  • Если цель — просто вернуть доступ, не делайте write erase, иначе потеряете конфигурацию.

Подключение к консоли

Подключитесь консольным кабелем и откройте терминал (PuTTY/TeraTerm).

Стандартные параметры обычно: 9600 8N1 (если у вас не менялись ранее).


Сценарий A: сброс пароля без потери конфигурации (рекомендуется)

Идея: загрузить коммутатор без применения startup-config, зайти в privileged mode без пароля, затем загрузить конфиг в running-config и изменить пароли.

Шаг 1. Войти в Boot Loader (Switch:)

  1. Перезагрузите коммутатор (питанием или reload).
  2. Во время старта нажмите и удерживайте кнопку MODE на лицевой панели, пока устройство не перейдёт в boot loader.
  3. В консоли должно появиться приглашение вида:
switch:

На некоторых моделях ориентир по LED: удерживать MODE ~15–30 секунд до изменения состояния индикаторов, затем отпустить. Главное — получить приглашение switch:.

Шаг 2. Инициализация flash и загрузка IOS без startup-config

В boot loader выполните:

switch: flash_init
switch: SWITCH_IGNORE_STARTUP_CFG=1
switch: boot

Команда SWITCH_IGNORE_STARTUP_CFG=1 заставляет систему загрузиться, игнорируя startup-config.

Дождитесь загрузки IOS/IOS-XE.

Шаг 3. Отказаться от Initial Configuration Dialog

После загрузки обычно появится вопрос про initial configuration dialog. Отвечайте no и дождитесь приглашения.

Шаг 4. Загрузить конфигурацию в running-config

Когда появится Switch#, выполните:

Switch# copy startup-config running-config

Теперь у вас загружены все настройки (VLAN, IP, SSH, SNMP и т.п.) в running-config, но вы уже внутри в привилегированном режиме.

Шаг 5. Вернуть обычный режим загрузки (убрать ignore)

Для Catalyst 3850/3650 (особенно в stack) отключите игнорирование startup-config:

Switch# configure terminal
Switch(config)# no system ignore startupconfig switch all
Switch(config)# end

Шаг 6. Задать новый пароль/секрет и сохранить

Далее задайте новый пароль/enable secret (пример — используйте вашу корпоративную политику):

Switch# configure terminal
Switch(config)# enable secret <NEW_SECRET>
Switch(config)# username admin privilege 15 secret <NEW_PASSWORD>
Switch(config)# end
Switch# write memory

После этого перезагрузите коммутатор:

Switch# reload

Сценарий B: полный сброс к заводским (удаление конфигурации)

Используйте только если конфигурация не нужна, либо у вас есть бэкап и вы точно понимаете последствия.

Вариант B1 (через CLI): стереть startup-config и перезагрузить

Если вы уже в Switch# (есть доступ):

Switch# write erase
Switch# reload

На некоторых версиях вместо write erase используется erase startup-config — по смыслу одно и то же (удаление startup-config).

Вариант B2 (через Boot Loader): загрузка без конфигурации, затем erase

Если доступа нет, сначала выполните Сценарий A до момента загрузки без startup-config, затем уже в IOS выполните:

Switch# write erase
Switch# reload

Особенности для Catalyst 3750X

На Catalyst 3750X/3560X часто встречается “классический” подход: в boot loader инициализировать flash, затем временно переименовать config.text (startup-config) и загрузиться без него, после чего вернуть файл обратно.

Если ваш 3750X не принимает SWITCH_IGNORE_STARTUP_CFG=1 или поведение отличается — используйте именно метод с config.text:

  1. Войти в switch:
  2. flash_init
  3. Переименовать конфиг (пример):
switch: rename flash:config.text flash:config.text.old
switch: boot
  1. После загрузки IOS вернуть имя обратно, загрузить конфиг в running-config, поменять пароли и сохранить.

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

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

  • Коммутатор загружается с обычным startup-config (ignore отключён).
  • Доступ по SSH/консоли работает.
  • В стеке все члены поднялись корректно (если stack).

Частые ошибки

  • Сделали write erase, когда хотели только сбросить пароль → потеряли конфиг.
  • Забыли отключить ignore startup-config → коммутатор продолжает грузиться “пустым”.
  • В стеке выполнили действия только на одном члене → конфигурация/режим загрузки ведёт себя неожиданно.

Мини-шпаргалка команд

Boot loader (часто)

flash_init
SWITCH_IGNORE_STARTUP_CFG=1
boot

IOS (часто)

copy startup-config running-config
no system ignore startupconfig switch all
write memory
reload

Read more

Git: работа с ветками, конфликтами и Pull Request

Git: работа с ветками, конфликтами и Pull Request

Введение Git позволяет работать с ветками, безопасно вносить изменения и объединять их через Pull Request. В этой инструкции — базовые сценарии для повседневной работы. Работа с ветками Создание ветки git checkout -b feature/task-name Создаёт новую ветку и сразу переключает на неё. Переключение между ветками git checkout main git checkout feature/

By Evgeny Shmelev
Инструкция по работе с Git (базовая памятка)

Инструкция по работе с Git (базовая памятка)

Введение Git — система контроля версий для отслеживания изменений в файлах и совместной работы. Ниже — краткая практическая инструкция для повседневного использования. Основные команды Проверка состояния git status Показывает: * есть ли изменения * синхронизацию с сервером * новые файлы Получение изменений git pull Забирает изменения и объединяет их с текущей веткой. Обновление через rebase

By Evgeny Shmelev
Git показывает странные символы (\320\277...), файл удалён и появился заново — как исправить

Git показывает странные символы (\320\277...), файл удалён и появился заново — как исправить

Проблема При выполнении: git status можно увидеть: deleted: "\320\277\320\276..." untracked: "\320\277\320\276....txt" modified: .DS_Store При этом: * имя файла отображается непонятными символами * Git показывает удаление одного файла и появление другого * появляется файл .DS_Store Причина 1. Файл был переименован или

By Evgeny Shmelev