Основы работы с Cisco IOS: Быстрый старт в командной строке (CLI)

Курс знакомит с архитектурой Cisco IOS и логикой управления сетевыми устройствами через интерфейс командной строки. Вы освоите базовую конфигурацию коммутаторов и маршрутизаторов, необходимую для дальнейшего изучения технологий CCNP.

1. Архитектура Cisco IOS и иерархическая структура режимов командной строки

Архитектура Cisco IOS и иерархическая структура режимов командной строки

Первое подключение к новому коммутатору или маршрутизатору Cisco через консольный кабель часто вызывает ступор. На черном экране терминала появляется единственная строка с мигающим курсором: Router>. Нет графического интерфейса, нет всплывающих окон с подсказками, нет мыши. Чтобы заставить это устройство маршрутизировать терабайты трафика или защищать корпоративную сеть, инженеру необходимо понимать логику операционной системы, скрывающейся за этим лаконичным приглашением.

Сетевое оборудование Cisco работает под управлением специализированной операционной системы — Cisco IOS (Internetwork Operating System). В отличие от привычных настольных систем вроде Windows или macOS, которые созданы для многозадачности и взаимодействия с пользователем, IOS спроектирована с одной главной целью: непрерывно и без сбоев передавать сетевые пакеты.

!Маршрутизатор Cisco в стойке

Cisco IOS является монолитной архитектурой (в классических версиях), где ядро системы, драйверы интерфейсов и процессы маршрутизации тесно связаны. Это обеспечивает высочайшую скорость обработки данных, но требует строгой дисциплины при внесении изменений. Ошибка в конфигурации может мгновенно изолировать устройство от сети, сделав его недоступным для удаленного управления. Именно поэтому интерфейс командной строки (CLI) в IOS построен не как единое пространство, где доступны все команды сразу, а как строгая иерархическая система режимов с разными уровнями доступа.

Иерархию режимов CLI можно сравнить с многоуровневой системой безопасности в здании банка. Вы не можете просто зайти с улицы и сразу начать менять код от главного сейфа. Сначала вы попадаете в холл, затем, предъявив пропуск, проходите в служебные помещения, оттуда — в кабинет управляющего, и только потом получаете доступ к конкретной ячейке. В Cisco IOS каждый такой «уровень» называется режимом (mode), и каждому режиму соответствует свое уникальное приглашение командной строки (prompt).

!Схема иерархии режимов Cisco IOS

Рассмотрим четыре основных уровня этой иерархии, двигаясь от самого ограниченного к самому глубокому.

Пользовательский режим (User EXEC Mode)

Когда вы впервые нажимаете Enter при подключении к устройству, вы попадаете в пользовательский режим. Его легко узнать по символу угловой скобки в конце приглашения:

Router>

Это аналог «холла банка». В этом режиме устройство позволяет вам только смотреть, но не трогать. Здесь доступен минимальный набор безопасных команд. Вы можете проверить базовую связность сети (команды ping и traceroute), подключиться к другому устройству по Telnet или SSH, а также выполнить несколько базовых команд show для просмотра состояния системы.

В User EXEC Mode невозможно просмотреть конфигурационный файл, узнать пароли, изменить настройки интерфейсов или перезагрузить устройство. Этот режим существует для того, чтобы технический специалист мог провести первичную диагностику (например, проверить, пингуется ли соседний сервер), не имея при этом прав сломать сеть.

Привилегированный режим (Privileged EXEC Mode)

Чтобы получить права администратора и увидеть всю картину целиком, необходимо перейти в привилегированный режим. Для этого используется команда enable. Если на устройстве настроен пароль администратора (enable secret), система запросит его именно на этом этапе. После успешного ввода пароля приглашение командной строки меняется, и вместо угловой скобки появляется символ решетки:

Router#

Этот режим — «кабинет управляющего». Здесь инженер получает полный доступ на чтение. Становятся доступны абсолютно все команды show. Можно просмотреть текущую конфигурацию (show running-config), таблицу маршрутизации (show ip route), состояние интерфейсов и логи устройства.

Кроме того, в Privileged EXEC Mode выполняются команды управления самой операционной системой: перезагрузка маршрутизатора (reload), сохранение конфигурации в энергонезависимую память (copy running-config startup-config), удаление файлов из flash-памяти, а также запуск глубокой отладки процессов (debug).

Однако, несмотря на огромные полномочия, в этом режиме всё ещё нельзя изменять параметры работы сети. Вы можете перезагрузить устройство, но не можете поменять его IP-адрес. Для изменения настроек нужно спуститься на уровень глубже.

Режим глобальной конфигурации (Global Configuration Mode)

Переход к настройкам осуществляется из привилегированного режима командой configure terminal. Исторически слово «terminal» в этой команде означает, что конфигурация будет вводиться прямо с терминала (клавиатуры), а не загружаться из сети по протоколу TFTP. После ввода команды приглашение принимает вид:

Router(config)#

Это «пульт управления зданием». Любая команда, введенная в этом режиме, влияет на работу устройства в целом, глобально. Именно поэтому режим называется глобальным. Здесь задается имя устройства (hostname), настраиваются баннеры, создаются локальные учетные записи пользователей, включаются глобальные протоколы маршрутизации и задаются пароли на доступ к консоли.

Например, если ввести команду hostname Core-Switch, приглашение мгновенно изменится на Core-Switch(config)#. Это изменение применяется ко всей системе сразу. Но если требуется настроить скорость конкретного порта или задать IP-адрес, глобального режима недостаточно. Нужно указать системе, какой именно компонент мы собираемся конфигурировать.

Специфические режимы конфигурации (Specific Configuration Modes)

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

Самый частый пример — режим настройки интерфейса (Interface Configuration Mode). Если в глобальном режиме ввести команду interface GigabitEthernet 0/0, приглашение изменится на:

Router(config-if)#

Суффикс if означает interface. Теперь все вводимые команды (например, ip address 192.168.1.1 255.255.255.0 или shutdown) будут применяться исключительно к порту GigabitEthernet 0/0. Остальные интерфейсы маршрутизатора этих изменений не заметят.

Другой пример — режим настройки протокола маршрутизации. Команда router ospf 1 переведет вас в режим:

Router(config-router)#

Здесь настраиваются параметры, специфичные только для процесса OSPF. Таких подрежимов множество: режим настройки виртуальных линий (config-line)#, режим настройки списков контроля доступа (config-ext-nacl)#, режим настройки VLAN (config-vlan)# и так далее. Важно понимать принцип: конфигурация всегда контекстно-зависима. Вы не можете назначить IP-адрес, находясь в глобальном режиме, потому что операционная система не поймет, какому именно интерфейсу этот адрес предназначается.

Логика навигации между режимами

Понимание того, как спускаться по иерархии — это только половина дела. Инженеру необходимо уметь быстро перемещаться обратно. Для выхода из режимов используются три основные команды, механика которых строго определена архитектурой IOS.

Команда exit всегда возвращает вас ровно на один уровень вверх по иерархии. Если вы находитесь в Router(config-if)# и вводите exit, вы попадете в Router(config)#. Если вы находитесь в Router(config)# и вводите exit, вы попадете в Router#. Если вы находитесь в Router# и вводите exit, сессия завершится, и устройство попросит нажать Enter, чтобы снова показать Router>.

Команда end работает иначе. Независимо от того, насколько глубоко в специфических режимах конфигурации вы находитесь — будь то (config-if)# или вложенный режим настройки политик — ввод команды end мгновенно выбрасывает вас из режима конфигурации обратно в привилегированный режим Router#. Это своего рода кнопка экстренного выхода, когда настройка компонента завершена и нужно быстро вернуться к просмотру состояния (например, чтобы выполнить show running-config). Точно такое же действие выполняет сочетание клавиш Ctrl+Z.

Команда disable используется только в привилегированном режиме Router# для того, чтобы понизить свои права и вернуться в пользовательский режим Router>. Это полезно, если вы отходите от рабочего места и хотите заблокировать административный доступ, не разрывая саму консольную сессию.

Архитектура командной строки Cisco IOS на первый взгляд кажется избыточной. Новичкам часто хочется иметь возможность ввести любую команду из любого места. Однако со временем эта строгость становится главным союзником сетевого инженера. Приглашение командной строки работает как навигатор: один взгляд на символ > или (config-if)# дает полное понимание текущего контекста и радиуса поражения потенциальной ошибки. Система защищает инженера от случайного изменения глобальных параметров, когда он намеревался настроить лишь один порт, и требует явного подтверждения полномочий перед выполнением деструктивных действий.