Погодин Евгений — ИТ Заметки
🌐Cisco Обновлено 13.10.2026

Cisco с нуля 12. Резервные копии, обновление IOS и диагностика

Note

Команды сверены с официальной документацией Cisco (руководства по настройке Cisco IOS XE 17.x для Catalyst 9000 и маршрутизаторов ISR; отличия классической IOS 15.x отмечены в тексте). Перед работой на боевом оборудовании проверьте их на тестовом стенде или сделайте резервную копию.

Это последняя статья серии. Настроить сеть мало, её нужно ещё и эксплуатировать: хранить копии конфигурации, уметь откатиться после неудачной правки, время от времени обновлять программное обеспечение и находить причину, когда «что-то не работает». Здесь собраны именно эти повседневные навыки на примере R1 и SW1 из предыдущих статей.

Tip

Для первого прочтения достаточно разделов «Резервные копии конфигурации», «Откат конфигурации» и «Диагностика». Обновление IOS, сброс пароля и лицензирование откройте тогда, когда они понадобятся.

После прочтения вы сможете:

  • сохранять конфигурацию на внешний сервер по SCP и восстанавливать её;
  • откатывать устройство к сохранённой конфигурации через archive и configure replace, а в крайнем случае страховаться командой reload in;
  • проверять версию и целостность образа и обновлять IOS XE в режиме install;
  • понимать, что происходит при сбросе пароля, и где искать инструкцию для своей модели;
  • идти по схеме диагностики от кабеля до сервисов и собирать данные для технической поддержки Cisco (Technical Assistance Center, TAC).

Что понадобится

  • Доступ к R1 или SW1 в привилегированном режиме (enable), настроенный SSH (см. статью 02) и корректное время.
  • Сервер 192.0.2.10, на который можно отправлять файлы: желательно с SSH (для SCP), как запасной вариант с TFTP.
  • Сервер журналов 192.0.2.20 (syslog).
  • Консольный доступ к устройству. Перед обновлением и любыми опасными правками он должен быть под рукой, потому что только консоль спасает, когда по сети уже не зайти.
  • Для обновления: файл образа с сайта Cisco (нужна учётная запись с правом на загрузку) и его контрольная сумма MD5 с той же страницы.

Note

Серверы 192.0.2.x находятся за маршрутизатором R1. Сам R1 обращается к ним с адреса WAN-интерфейса, и это работает. SW1 (сеть MGMT, 192.168.99.0/24) ходит наружу через R1: эта сеть включена в NAT в статье 07, поэтому NTP, syslog и SCP с SW1 должны работать. Если они не работают, проверьте show ip nat translations на R1 и шлюз по умолчанию (192.168.99.1) на SW1.

Резервные копии конфигурации

На устройстве есть две конфигурации: running-config (работающая, в оперативной памяти) и startup-config (стартовая, в энергонезависимой памяти, из неё устройство загружается). Резервная копия, которая лежит только на самом устройстве, бесполезна, если оно вышло из строя. Поэтому копию нужно отправлять на другой компьютер.

Общая форма команды: copy <откуда> <куда>. Источники и приёмники записываются как URL: tftp:, ftp:, scp:, flash: (во flash-памяти самого устройства), running-config, startup-config.

Почему SCP, а не TFTP

  • TFTP не имеет ни аутентификации, ни шифрования: любой, кто видит сеть, может прочитать файл. А в конфигурации есть хэши паролей, ключи, SNMP-строки и схема сети. Кроме того, на некоторых TFTP-серверах заранее нужно создать пустой файл с правами на запись, иначе копирование не пройдёт.
  • FTP передаёт имя и пароль открытым текстом, поэтому для конфигураций он ненамного лучше.
  • SCP работает поверх SSH: канал шифруется, пользователь проверяется. Передавайте конфигурации только по SCP (или по SFTP, если ваша платформа его поддерживает), а TFTP оставьте для изолированной лаборатории.

Копирование на сервер

enable
copy running-config scp://admin-lab@192.0.2.10/R1-confg-2026-10-13

Устройство спросит пароль пользователя admin-lab на сервере. Затем оно покажет размер переданных данных.

Note

Команды copy и reload в этой статье задают вопросы: подтвердить имя файла (Destination filename [...]? — достаточно нажать Enter), ввести пароль SCP, согласиться на перезагрузку [confirm]. Поэтому вводите такие команды по одной и дожидайтесь приглашения, а не вставляйте блок целиком: иначе следующие строки будут приняты за ответы на вопросы, например за пароль.

Если нужна копия во flash-памяти самого устройства (например, перед рискованными правками), используйте flash: вместо scp::

enable
copy running-config flash:R1-before-change

Как проверить: убедитесь, что файл появился на сервере и что его размер не нулевой. Во flash посмотрите командой dir flash:.

Для лаборатории вместо scp: можно указать tftp://192.0.2.10/R1-confg-2026-10-13: остальное устроено так же. Для FTP логин и пароль задаются в URL или командами ip ftp username и ip ftp password, но пароль при этом попадает в конфигурацию или историю команд, поэтому выбирайте SCP.

Если устройство должно отдавать файлы по SCP

Для обычной копии «с устройства на сервер» ничего включать не нужно: устройство выступает клиентом. А если вы хотите забирать файлы с устройства программой на компьютере (WinSCP, scp из терминала), на нём нужен сервер SCP. По руководству Cisco для этого необходим работающий SSH с RSA-ключом и AAA-авторизация exec, а копировать по SCP может только пользователь с уровнем привилегий 15.

Warning

Команда aaa new-model меняет способ проверки входа на всех линиях, включая VTY, и может отрезать вас от устройства. Работайте с консоли либо держите вторую открытую SSH-сессию, заранее выполните reload in 10 и не сохраняйте конфигурацию, пока не убедитесь, что новый вход работает (в блоке ниже локальный пользователь создаётся первым).

enable
configure terminal
username admin-lab privilege 15 secret <ПАРОЛЬ>
aaa new-model
aaa authentication login default local
aaa authorization exec default local
ip scp server enable
end

Строка username admin-lab ... нужна, только если такого пользователя ещё нет: иначе его пароль будет заменён. AAA здесь означает аутентификацию, авторизацию и учёт (Authentication, Authorization, Accounting).

Как проверить: не закрывая текущий сеанс, откройте второй SSH-сеанс с компьютера и войдите под admin-lab. Затем подключитесь программой WinSCP или scp (синтаксис пути к файлу зависит от платформы) и скачайте файл из flash. Если подключение закрывается сразу после ввода пароля, проверьте уровень привилегий пользователя и строку aaa authorization exec.

Только когда вход и копирование работают, отмените страховочную перезагрузку и сохраните конфигурацию:

enable
reload cancel
copy running-config startup-config

Включайте ip scp server enable лишь на время копирования, а потом отключайте командой no ip scp server enable; доступ к VTY ограничьте списком доступа через access-class (см. статью 08), потому что SCP-сервер даёт пользователю уровня 15 доступ к файлам устройства.

Восстановление конфигурации

Здесь есть главная ловушка. Команда copy <источник> running-config не стирает работающую конфигурацию: она применяет команды из файла так, как будто вы вводите их вручную. В итоге получается смесь старого и нового. Строки, которых нет в файле, но которые есть на устройстве, останутся.

Поэтому для полного восстановления есть два пути:

  1. Скопировать файл в startup-config и перезагрузить устройство.
  2. Использовать configure replace (следующий раздел), который вычисляет и применяет разницу между текущей и желаемой конфигурацией.

Сначала сохраните текущую стартовую конфигурацию: команда copy ... startup-config заменяет её без возможности отката. Блок ниже вводите построчно, дожидаясь приглашения после каждой команды (они задают вопросы, см. примечание выше), а не вставляйте целиком.

enable
copy startup-config flash:R1-startup-old
copy scp://admin-lab@192.0.2.10/R1-confg-2026-10-13 startup-config
show startup-config
reload

Перед reload просмотрите show startup-config: там должна быть восстановленная конфигурация. Если при перезагрузке устройство спросит, сохранить ли изменённую конфигурацию (запрос вида System configuration has been modified. Save?), ответьте no, иначе текущая running-config перезапишет только что восстановленную startup-config.

Warning

Перезагрузка прервёт работу всех, кто пользуется устройством. Выполняйте её в согласованное окно. Если вы работаете по SSH, соединение оборвётся, и устройство вернётся уже с восстановленной конфигурацией.

Автоматические копии по расписанию (archive + kron) описаны в статье сайта про автоматическое копирование конфигурации. Здесь мы их не повторяем.

Откат конфигурации: archive и configure replace

Допустим, вы собираетесь править ACL или trunk, и ошибка может отрезать вас от устройства. Есть два уровня страховки: откат к сохранённой конфигурации и аварийная перезагрузка.

archive и configure replace

Сначала настройте место для архива и сделайте снимок:

enable
configure terminal
archive
 path flash:R1-archive
 maximum 5
end
archive config

Параметр maximum задаёт, сколько копий хранить (по умолчанию 10, допустимо от 1 до 14), старые удаляются автоматически. Автоматическое сохранение снимков по таймеру включается только если задать time-period <минуты>.

Как проверить:

enable
show archive

Пример вывода (оформление зависит от версии):

There are currently 1 archive configurations saved.
The next archive file will be named flash:R1-archive-2
   Archive #  Name
      0
      1       flash:R1-archive-1 <- Most Recent

Теперь можно рискнуть и править конфигурацию. Если что-то пошло не так, вернитесь к снимку:

enable
configure replace flash:R1-archive-1 list

Ключевое слово list покажет, какие строки будут добавлены и удалены. Устройство задаст вопрос «Enter Y if you are sure you want to proceed» и после согласия применит все нужные добавления и удаления. В конце вы увидите Total number of passes и Rollback Done.

Самый осторожный вариант: откат с подтверждением по таймеру.

enable
configure replace flash:R1-archive-1 time 5

Если за указанное время вы не введёте configure confirm, устройство само вернёт конфигурацию, которая была до configure replace. По синтаксису команды time задаётся в минутах. Если вы остались на связи и всё в порядке, подтвердите:

enable
configure confirm

У configure replace есть ограничения, о которых стоит знать заранее:

  • файл должен быть полной конфигурацией в формате show running-config (с отступами), а не фрагментом;
  • во flash должно хватать места как минимум для двух копий конфигурации;
  • нельзя «создать» физически отсутствующий интерфейс, а некоторые команды нельзя убрать без перезагрузки;
  • на время операции running-config блокируется (параметр nolock это отключает; используйте его только осознанно).

reload in как последняя страховка

Этот приём подробно описан в статье 01, здесь только напоминание. Вы просите устройство перезагрузиться через N минут; при загрузке оно возьмёт startup-config, поэтому все несохранённые правки исчезнут. Учтите: страховка возвращает именно к startup-config, так что перед ней убедитесь, что стартовая конфигурация актуальна.

enable
reload in 10

Вносите опасные правки и не выполняйте copy running-config startup-config. На вопрос о сохранении изменённой конфигурации при reload in отвечайте no. Если всё получилось и доступ не потерян, отмените перезагрузку и только после этого сохраните конфигурацию:

enable
reload cancel
copy running-config startup-config

Проверьте командой show reload: запланированной перезагрузки быть не должно. Максимальный срок для reload in ограничен примерно 24 днями.

Tip

Перед работой по SSH с ACL, trunk и IP-адресами используйте оба приёма вместе: снимок через archive config и reload in 10. Это занимает полминуты, а лишний выезд на объект стоит куда дороже.

Версии и образы

Что сейчас установлено

enable
show version
show boot
dir flash:
show file systems

show boot приведена по руководствам для Catalyst; на маршрутизаторах классической IOS (ISR G2) загрузочную переменную обычно смотрят командой show bootvar, проверьте по руководству своей модели.

show version показывает версию ПО, имя загруженного образа (System image file), время работы (uptime), причину последней перезагрузки и регистр конфигурации. На Catalyst 9000 в таблице коммутаторов есть столбец Mode (рядом со столбцом SW Image). Он содержит INSTALL или BUNDLE, то есть режим загрузки.

Пример вывода (сокращён по документации Cisco, модель и версия у вас будут свои):

Switch Ports Model        SW Version  SW Image    Mode
------ ----- -----        ----------  ----------  ----
*    1 65    C9300-48UXM  17.15.03    CAT9K_IOSXE INSTALL

Что здесь важно:

  • В режиме install образом считается flash:packages.conf, а в режиме bundle это файл с расширением .bin.
  • show boot показывает, откуда устройство загрузится в следующий раз (BOOT variable). В режиме install там всегда должен быть flash:packages.conf.
  • dir flash: показывает файлы и их размер, show file systems показывает размер и свободное место каждой файловой системы. На Catalyst 9000 bootflash: и flash: обозначают один и тот же накопитель; на маршрутизаторах ISR 4000 основной накопитель называется bootflash:, проверьте по show file systems.

О том, как расшифровать имя образа и номер версии, читайте в статье сайта про расшифровку версий IOS.

Проверка целостности образа

Повреждённый при копировании образ — одна из самых частых причин неудачного обновления. Cisco рекомендует сверять контрольную сумму до установки:

enable
verify /md5 flash:cat9k_iosxe.17.15.03.SPA.bin

Команда считает MD5 локального файла. Полученное значение нужно сравнить с тем, которое указано на странице загрузки на сайте Cisco. Можно сразу передать ожидаемую сумму вторым аргументом, и устройство само сообщит, совпала она или нет:

enable
verify /md5 flash:cat9k_iosxe.17.15.03.SPA.bin <MD5_ИЗ_СТРАНИЦЫ_ЗАГРУЗКИ>

При несовпадении образ повреждён либо введена неверная сумма: скопируйте файл заново. Расчёт суммы для большого файла занимает несколько минут. Имя файла в примерах взято из документации и показывает формат; ваше имя зависит от модели и версии.

Обновление IOS XE

Important

Перед обновлением выполните чек-лист:

  1. Сделайте резервную копию конфигурации (раздел выше) и сохраните вывод show version.
  2. Убедитесь, что версия поддерживает ваше оборудование и что путь с текущей версии на новую разрешён. Читайте release notes выбранной версии.
  3. Проверьте свободное место во flash. Для Catalyst 9300 руководство называет ориентир от 1 до 1,5 ГБ свободного места; для вашей модели смотрите release notes.
  4. Обеспечьте бесперебойное питание: потеря питания во время записи образа может «убить» накопитель.
  5. Подготовьте консольный доступ.
  6. Назначьте окно работ: перезагрузка отключит всех, на всю процедуру заложите около двух часов.

Cisco различает два режима загрузки ПО на IOS XE:

  • Bundle mode — устройство загружается напрямую из одного файла .bin. Образ распаковывается в оперативную память, поэтому режим расходует больше памяти. Для обновления нужно положить новый .bin, указать его в boot system и перезагрузиться.
  • Install mode — новый и рекомендованный режим. Образ распаковывается на отдельные пакеты .pkg, а точкой входа служит текстовый файл packages.conf. В этом режиме работают команды install .... Эти файлы не нужно править вручную.

Примеры ниже даны для Catalyst 9000. На ISR 4000 вместо flash: используйте bootflash: (проверьте по show file systems). Дальше описан install mode; в режиме bundle на Catalyst 9000 всё сводится к no boot system, boot system flash:<новый образ>.bin, сохранению и reload. Если вы сейчас в bundle-режиме, переход на install выполняется шагом 2 ниже.

Шаг 1. Проверьте режим, освободите место и скопируйте образ

Сначала определите режим загрузки: в show version смотрите столбец Mode (INSTALL или BUNDLE), а show boot покажет загрузочную переменную.

Команда install remove inactive нужна только в режиме INSTALL. Она сверяется с загруженными пакетами .pkg и удаляет всё остальное, в том числе все файлы .bin. В режиме BUNDLE пакетов нет, поэтому команда может удалить .bin, с которого устройство загружено, а откатиться будет не к чему. Если у вас BUNDLE, пропустите эту команду и переходите к копированию образа. В режиме INSTALL выполняйте её до копирования нового файла, а не после; если нужен запасной образ, сначала сохраните текущий .bin на внешний сервер. Команда покажет список файлов и спросит подтверждение ([y/n]), поэтому блок ниже вводите построчно, дожидаясь приглашения.

enable
show version
show boot
install remove inactive

Затем скопируйте образ с сервера и проверьте его сумму. Блок вводите построчно, дожидаясь приглашения: copy спросит пароль и имя файла.

enable
copy scp://admin-lab@192.0.2.10/cat9k_iosxe.17.15.03.SPA.bin flash:
verify /md5 flash:cat9k_iosxe.17.15.03.SPA.bin
dir flash:

Как проверить: сумма совпадает со страницей Cisco, а в выводе dir flash: виден файл ожидаемого размера.

Шаг 2. Загрузочная переменная

Если устройство уже в install mode, show boot показывает flash:packages.conf, и этот шаг можно пропустить. Если оно ещё в bundle-режиме (или переменная указывает на .bin), настройте загрузку из packages.conf:

enable
configure terminal
no boot system
boot system flash:packages.conf
no boot manual
end
copy running-config startup-config
show boot

Строка no boot manual есть в руководстве Cisco по обновлению Catalyst 9300, а в документе о переходе между bundle и install mode её нет: источники расходятся, поэтому оставлена строка из руководства по обновлению. На ISR 4000 сверьтесь с руководством по установке ПО своей модели.

В выводе show boot у BOOT variable должно быть значение flash:packages.conf. Без сохранения конфигурации изменение загрузочной переменной после перезагрузки не сохранится.

Шаг 3. Установка

Одна команда копирует пакеты, активирует их (с перезагрузкой) и фиксирует (commit):

enable
install add file flash:cat9k_iosxe.17.15.03.SPA.bin activate commit

Устройство задаст вопрос «This operation may require a reload of the system. Do you want to proceed? [y/n]». Ответ y приведёт к автоматической перезагрузке.

Warning

Если вы подключены по SSH, сессия оборвётся, а устройство будет недоступно, пока не загрузится. Не выключайте питание и не прерывайте процесс. Если после перезагрузки устройство не появилось в сети, подключитесь через консоль.

Пример вывода (сокращён):

install_add_activate_commit: START
install_add: Adding IMG
--- Starting Add ---
Add: Passed on [1]
Finished Add
install_activate: Activating IMG
This operation may require a reload of the system. Do you want to proceed? [y/n]y
--- Starting Activate ---
--- Starting Commit ---
Commit: Passed on [1]
SUCCESS: install_add_activate_commit

Эту же операцию можно сделать отдельными командами, чтобы иметь возможность отката. Сначала добавьте образ и активируйте его (блок вводите построчно). На вопрос Do you want to proceed? [y/n] ответьте y: устройство перезагрузится, поэтому дождитесь загрузки и войдите снова.

enable
install add file flash:cat9k_iosxe.17.15.03.SPA.bin
install activate

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

enable
install commit
show install summary

После install activate устройство перезагрузится и запустит таймер автоматического отката. Если за это время вы не введёте install commit, оно вернётся к прежней версии. Время таймера можно задать (install activate auto-abort-timer <минуты>, от 30 до 1200; по умолчанию 120). До фиксации вернуться на старую версию можно командой install abort.

На ISR 4000 с IOS XE 17 те же команды install add file ... [activate commit], install activate, install commit, install abort и install remove описаны в руководстве по установке ПО. Ограничения те же: install mode требует перезагрузки, а обновление без остановки (ISSU) не поддерживается. Имя образа для ISR другое и зависит от модели; не загружайте образ для другой серии маршрутизаторов.

Шаг 4. Проверка

enable
show version
show install summary

В show version должна быть новая версия и режим INSTALL. В show install summary у образа (IMG) должен стоять статус C (Activated & Committed). Расшифровка статусов: I — Inactive, U — Activated & Uncommitted, C — Activated & Committed, D — Deactivated & Uncommitted.

Пример вывода (версия условная):

[ R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
            C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type  St   Filename/Version
--------------------------------------------------------------------------------
IMG   C    17.15.03.0.5635
--------------------------------------------------------------------------------
Auto abort timer: inactive
--------------------------------------------------------------------------------

Если состояние U, вы забыли install commit: зафиксируйте обновление, пока не сработал таймер отката. Когда всё работает, уберите ненужные файлы командой install remove inactive. Если у вас стек и вы позже будете возвращаться из install в bundle mode, учтите: по документу Cisco «Change Between Bundle/Install Mode on Catalyst 9000 Switches» .bin должен лежать во flash каждого участника стека.

Обновление классической IOS 15.x

Классическая IOS (Catalyst 2960/3750, маршрутизаторы ISR G2) обновляется проще, но с тем же набором предупреждений: резервная копия, питание, место, совместимость образа. Catalyst 3850 работает на IOS XE (в ранних версиях со своим набором команд установки), поэтому смотрите руководство по обновлению именно вашей версии.

Warning

Команда no boot system стирает ссылку на рабочий образ, а ошибка в имени файла или непригодный образ приводят к загрузке в ROMMON (аварийную загрузочную среду устройства с приглашением вида rommon 1 >). Не удаляйте старый образ из flash, держите консольный доступ и назначьте окно работ. Ниже после нового образа добавлена вторая строка boot system со старым: строки выполняются по порядку, и если новый образ не загрузится, устройство попробует старый. Перед reload проверьте show boot.

Общая схема (замените <СТАРЫЙ_ОБРАЗ> на имя текущего образа из show version; команды copy и reload задают вопросы, поэтому вводите блок построчно, дожидаясь приглашения). Для проверки загрузочной переменной на ISR G2 используйте show bootvar вместо show boot, а точный синтаксис boot system для своей модели возьмите из её руководства.

enable
dir flash:
copy scp://admin-lab@192.0.2.10/<ИМЯ_ОБРАЗА>.bin flash:
verify /md5 flash:<ИМЯ_ОБРАЗА>.bin
configure terminal
no boot system
boot system flash:<ИМЯ_ОБРАЗА>.bin
boot system flash:<СТАРЫЙ_ОБРАЗ>.bin
end
copy running-config startup-config
show boot
reload

Для коммутаторов Catalyst 2960-X у Cisco есть свой способ: archive download-sw /overwrite /reload <URL_СЕРВЕРА>/<ИМЯ_АРХИВА>.tar. Он распаковывает архив .tar и сам обновляет загрузочную переменную. Какие транспорты (tftp:, scp: и другие) поддерживает команда на вашей модели и версии, смотрите в справочнике команд; в руководстве для 2960-X пример приведён с tftp:, и его уместно использовать только в изолированной лаборатории. Защищённый транспорт предпочтительнее, если он поддерживается. После перезагрузки проверьте show version. Если устройство оказалось в ROMMON, загрузите старый образ вручную через консоль командой вида boot flash:<СТАРЫЙ_ОБРАЗ>.bin (точный синтаксис ROMMON зависит от платформы), затем исправьте boot system.

Сброс забытого пароля

Если пароль утерян, а доступа нет, существует штатная процедура восстановления пароля (password recovery). Она работает через консоль и режим ROMMON (резервную загрузочную среду): на маршрутизаторах это изменение регистра конфигурации (значение 0x2142 заставляет игнорировать сохранённую конфигурацию при загрузке, после чего регистр возвращают к обычному 0x2102), на Catalyst 9000 используется отдельная переменная ROMMON.

Мы не приводим шаги, потому что они зависят от модели. Найдите на сайте Cisco документ «Password Recovery» именно для вашего устройства и следуйте ему. Важно помнить три вещи:

  • нужен физический доступ и консольное подключение;
  • если на устройстве включена команда no service password-recovery, процедура изменяется или невозможна без потери конфигурации;
  • после сброса сразу задайте новые пароли и сохраните конфигурацию.

Диагностика: как искать причину

Не бросайтесь сразу в конфигурацию маршрутизатора. Идите снизу вверх по уровням, каждый раз отвечая на вопрос «работает ли предыдущий уровень?»:

Шаг Что проверяем Чем
1. Физика кабель, питание, температура, счётчики ошибок show interfaces, show interfaces status (на коммутаторе), show environment
2. L2 (канальный уровень) VLAN, trunk, MAC-адреса, STP show vlan brief, show interfaces trunk, show mac address-table
3. L3 (сетевой уровень) IP-адреса, шлюз, ARP show ip interface brief, show arp, ping
4. Маршруты есть ли маршрут туда и обратно show ip route, traceroute
5. ACL и NAT не режет ли фильтр или трансляция show access-lists, show ip nat translations
6. Сервисы DHCP, DNS, NTP, SSH show ip dhcp binding, show ntp status, журналы

Команды из шагов 2–6 вы уже использовали в предыдущих статьях серии. Теперь разберём остальные инструменты.

ping

enable
ping 192.0.2.53

Результат отображается символами: ! — ответ получен, . — таймаут, U — получено сообщение «destination unreachable», & — истекло время жизни пакета. Любые потери стоит разобрать, кроме первых пакетов, потерянных из-за построения ARP-записи.

Расширенный ping запускается командой ping без аргументов и позволяет задать источник. Это важно: пакет, отправленный с самого маршрутизатора, по умолчанию берёт адрес исходящего интерфейса, а клиенты в VLAN 10 ходят иначе. Чтобы проверить путь «как клиент», укажите адрес шлюза этой сети.

Пример вывода (диалог):

R1#ping
Protocol [ip]:
Target IP address: 192.0.2.53
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 192.168.10.1
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.0.2.53, timeout is 2 seconds:
Packet sent with a source address of 192.168.10.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms

Набор вопросов зависит от версии, значения по умолчанию показаны в квадратных скобках. Расширенный ping с битом DF (запрет фрагментации) и разными размерами (Sweep range of sizes) помогает найти проблему с MTU.

traceroute

enable
traceroute 192.0.2.53

Команда выводит узлы на пути с временем отклика каждого. Звёздочка * означает, что за отведённое время ответ не пришёл. Это не всегда авария: узел может просто не отвечать на служебные сообщения ICMP. Если путь обрывается на определённом узле и дальше только звёздочки, проблема, как правило, на этом или следующем участке. У traceroute, как и у ping, есть расширенный диалог (источник, число проб, максимальный TTL).

Журнал сообщений и syslog

Устройство пишет события (смена состояния портов, вход в режим настройки, ошибки) в журнал. Чтобы события не пропадали при перезагрузке и их можно было сопоставлять по времени, включите метки с датой и миллисекундами и отправку на syslog-сервер 192.0.2.20:

enable
configure terminal
service timestamps log datetime msec
logging host 192.0.2.20
logging trap informational
end

service timestamps log datetime msec добавляет в сообщения дату и время с точностью до миллисекунд, logging host задаёт адрес syslog-сервера, а logging trap informational отправляет на него сообщения уровня 6 (informational) и важнее. Буфер в памяти и остальные подробности даны в разделах «Метки времени в журнале» и «Журнал событий» статьи 02. Не забудьте сохранить конфигурацию (copy running-config startup-config). Просмотр:

enable
show logging

Сообщение выглядит так: метка времени: %КОМПОНЕНТ-УРОВЕНЬ-МНЕМОНИКА: описание.

Пример вывода (формат сообщения):

*Mar  1 18:48:50.483 UTC: %SYS-5-CONFIG_I: Configured from console by vty2

Число после компонента — уровень важности от 0 (emergencies) до 7 (debugging); чем оно меньше, тем серьёзнее событие. Звёздочка в начале метки означает, что время ещё не синхронизировано с источником (например, NTP). Если даты в журнале нет или там только время работы (uptime), проверьте show running-config | include service timestamps и вернитесь к статье 02. Метки времени имеют смысл, только если время синхронизируется по NTP. На самом syslog-сервере после любого события (например, shutdown и no shutdown неиспользуемого порта в лаборатории) должны появиться записи.

Нагрузка и память

enable
show processes cpu sorted
show processes memory
show memory statistics

Пример вывода (первая строка показывает загрузку процессора за 5 секунд, 1 и 5 минут):

CPU utilization for five seconds: 1%/0%; one minute: 0%; five minutes: 0%

Первое число в паре за пять секунд — общая загрузка, второе — доля, занятая на уровне прерываний (обычно это пересылка пакетов). Следите за значениями за минуту и пять минут: кратковременный всплеск не проблема, а вот устойчиво высокая загрузка заслуживает разбора. Вариант с sorted выводит процессы по убыванию загрузки: сверху то, что нагружает процессор. show processes memory показывает общий, занятый и свободный объём памяти и расход по процессам, а show memory statistics даёт сводку по пулам. Сравнивайте свободную память с типичным значением на этом же устройстве: резкое падение при неизменной конфигурации указывает на утечку или аномальную нагрузку. show memory statistics есть на классической IOS, а на IOS XE формат зависит от платформы. show platform resources доступна не на всех платформах: проверьте её наличие командой show platform ?.

Ошибки на интерфейсах

enable
show interfaces GigabitEthernet1/0/1
show interfaces status
show interfaces GigabitEthernet1/0/1 counters errors

Команды show interfaces status и counters errors относятся к коммутатору (SW1); на маршрутизаторе R1 используйте show interfaces <интерфейс> и show ip interface brief.

Что означают счётчики в show interfaces:

Счётчик Типичная причина
CRC помехи, плохой кабель, несовпадение дуплекса
frame дефект кабеля, порта или сетевой карты
runts (кадры короче 64 байт) несовпадение дуплекса, физика
giants (длиннее стандартного кадра) неисправная сетевая карта, нестандартный MTU
collisions / late collision в современной дуплексной сети — признак несовпадения дуплекса
output errors сумма ошибок передачи; смотрите сопутствующие счётчики (collisions, underruns) и состояние линка

В show interfaces status значения со знаком a- (например, a-full, a-100) получены автосогласованием. Если один конец порта настроен вручную, а другой работает на автосогласовании, это классическая причина роста CRC. Оба конца должны использовать один режим. Чтобы отследить динамику, сбросьте счётчики командой clear counters GigabitEthernet1/0/1 и посмотрите, растут ли ошибки.

Температура, вентиляторы, питание

На Catalyst 9300:

enable
show environment all

Команда показывает вентиляторы, температуру и состояние блоков питания (у стека информация на активном коммутаторе); можно ограничить вывод (fan, power, temperature). На маршрутизаторах ISR аналогичная команда show environment; её формат зависит от модели. Перегрев и отказ вентилятора часто объясняют «необъяснимые» перезагрузки.

debug: осторожно

debug включает подробный вывод о работе протоколов. Это мощный инструмент, но им легко навредить: отладка создаёт нагрузку на процессор, а на загруженном устройстве способна его «повесить». Особенно опасен вывод на консоль, потому что у него высокий приоритет.

Caution

Не включайте debug на боевом оборудовании «на всякий случай» и тем более debug all. Используйте только узкие отладки, смотрите загрузку процессора до включения и сразу выключайте. Для debug ip packet обязательно ограничивайте трафик списком доступа. На современных платформах с аппаратной коммутацией многие debug просто ничего не покажут.

Безопасный порядок:

enable
show processes cpu
terminal monitor
debug ip icmp

terminal monitor включает вывод сообщений в текущую SSH-сессию. Выполните проверку (например, пингуйте с другого узла), затем сразу отключите отладку:

enable
undebug all
terminal no monitor
show debug

undebug all и no debug all равнозначны и отключают всю отладку; show debug должна показать, что активных отладок нет. Обратите внимание: команды terminal no monitor и no logging console только скрывают вывод, но не останавливают саму отладку, и она продолжает тратить ресурсы. Если нужно сохранить результат, направьте сообщения в буфер (logging buffered) и смотрите show logging.

show tech-support и обращение в TAC

show tech-support собирает одной командой вывод десятков других (версия, конфигурация, интерфейсы, процессы, буферы и так далее). Это то, что запросит техническая поддержка Cisco (TAC), и то, что бессмысленно читать глазами: вывод огромный. Сохраняйте его в файл, предварительно проверив свободное место во flash:

enable
dir flash:
show tech-support | redirect flash:R1-tech-2026-10-13.txt
copy flash:R1-tech-2026-10-13.txt scp://admin-lab@192.0.2.10/R1-tech-2026-10-13.txt

Сбор может длиться несколько минут; последнюю команду copy вводите отдельно, после завершения сбора, так как она задаёт вопросы. На классической IOS пароли в выводе по умолчанию заменяются меткой <removed>, а параметр password эту замену отключает, поэтому не используйте его. На IOS XE набор параметров команды зависит от платформы и версии, поэтому всегда просматривайте файл перед отправкой: в нём остаются схема сети, адреса и имена. Собирайте данные, пока проблема активна: история процессов не сохраняется. К обращению в TAC приложите также show clock, show version, show running-config, show logging, описание проблемы и недавних изменений и схему сети.

Лицензирование

Cisco лицензирует функции и пропускную способность. В IOS XE 17.x, начиная с 17.3.2, используется Smart Licensing Using Policy: купленные лицензии работают без обязательной регистрации, а устройство лишь периодически отчитывается об использовании (в более ранних 17.x был классический Smart Licensing с регистрацией). Уровни на Catalyst 9000 называются Network Essentials и Network Advantage, платные подписки — DNA Essentials и DNA Advantage; у ISR наборы лицензий другие. Состояние смотрите так:

enable
show license summary
show license status

show license summary показывает используемые лицензии и их статус (например, IN USE). Подробности зависят от вашего контракта и портала Cisco, а для отчётности важно правильное время (NTP).

Контрольный список рабочей сети

Когда вся серия пройдена, быстро убедитесь, что сеть работает так, как задумано:

Проверка Ожидаемый результат Где разбиралось
show ip interface brief на R1 и интерфейс VLAN 99 на SW1 нужные интерфейсы в состоянии up/up 03, 05
ping с офисного ПК (VLAN 10) на внешний адрес 192.0.2.53 ответ получен (работает DHCP и NAT) 07
ping с гостевого ПК (VLAN 20) на офисный адрес из 192.168.10.0/24 недоступно (сработал GUEST-IN) 08
SSH на R1 и SW1 из сети MGMT и из офиса из MGMT вход есть, из других сетей запрещён 02, 08
show ntp status время синхронизировано 02
show ip dhcp snooping binding на SW1 привязки клиентов есть 10
show spanning-tree и show etherchannel summary корень STP там, где задумано; канал в состоянии P 09
show archive и копия на 192.0.2.10 свежий снимок и внешняя копия конфигурации эта статья

Типичные ошибки

  • Восстановление командой copy <файл> running-config вместо замены. Получается смесь старой и новой конфигурации. Для точного отката используйте configure replace или копию в startup-config с перезагрузкой.
  • Резервная копия лежит только на самом устройстве. При выходе из строя flash или всего устройства копия пропадёт. Отправляйте копии по SCP на отдельный сервер.
  • Сохранили конфигурацию (copy running-config startup-config) во время reload in. Тогда неудачные правки попадут в startup-config, и страховка не сработает. Сначала проверьте, что доступ остался, и отмените перезагрузку, а затем сохраняйте.
  • Обновление без проверки MD5 и места во flash. Повреждённый или не поместившийся образ приводит к ошибкам установки. Проверяйте verify /md5 и show file systems заранее.
  • Забыли install commit или не сохранили boot system flash:packages.conf. Через заданное время сработает автоматический откат, либо после перезагрузки загрузится не тот образ. Проверяйте результат через show install summary и show boot.
  • Оставили включённым debug. Отладка продолжает нагружать процессор, даже если вывод на экране скрыт. Всегда завершайте работу командой undebug all и проверяйте show debug.

Что дальше

Серия «Cisco с нуля» на этом заканчивается. Что можно изучить дальше:

За рамками серии остались темы, которые стоит изучить следующими: межсетевой экран с отслеживанием состояния соединений (Zone-Based Firewall), централизованный доступ AAA с TACACS+, SNMPv3 для мониторинга, 802.1X для проверки подключаемых устройств и IPv6.

Ещё по теме «Cisco»