Начальная настройка коммутатора Cisco (IOS)
Новый коммутатор Cisco из коробки — это чистый лист. Заводские настройки не годятся для рабочей сети: нет пароля, нет имени, нет удалённого доступа. Прежде чем коммутатор попадёт в стойку и начнёт гонять трафик, его нужно привести в порядок. В этой статье разберём базовую настройку на примере коммутатора sw-access01, который будет работать в сети 192.168.10.0/24 домена itpages.lab.local. Пройдём путь от первого подключения по консоли до рабочего SSH-доступа с паролями и включённым management-интерфейсом.
Задача статьи — не разобрать все возможности IOS, а дать минимальный, но правильный набор настроек, с которого стоит начинать любой новый коммутатор в сети. Дальше в серии мы разберём VLAN, trunk, маршрутизацию между VLAN и другие темы, которые опираются именно на эту базу.
Подключение и первый вход
Подключаемся к коммутатору консольным кабелем через терминальную программу (PuTTY, SecureCRT, minicom — не важно, параметры порта стандартные: 9600-8-N-1). После включения устройство спросит про диалог начальной настройки — от него нужно отказаться и настроить всё вручную, это надёжнее и понятнее.
Would you like to enter the initial configuration dialog? [yes/no]: no
Switch> enable
Switch#
Мы попали в привилегированный режим (EXEC). Дальше всё делаем через режим глобальной конфигурации.
Имя устройства и домен
Switch# configure terminal
Switch(config)# hostname sw-access01
sw-access01(config)# ip domain-name itpages.lab.local
Имя хоста — это не формальность. Когда в сети десяток коммутаторов, а в логах и в show-командах мелькает просто Switch, разобраться, что где происходит, невозможно. Называй устройства по единой схеме: роль плюс номер — sw-core01, sw-access01, sw-access02 и так далее.
Пароли доступа
Первое, что нужно закрыть — доступ к консоли, к привилегированному режиму и к удалённым сессиям. Начнём с шифрования паролей в конфигурации и пароля enable.
sw-access01(config)# service password-encryption
sw-access01(config)# enable secret StrongEnableP@ss1
sw-access01(config)# security passwords min-length 8
enable secret хранит пароль в виде хэша (в отличие от устаревшего enable password), и после service password-encryption остальные пароли в конфиге тоже не будут видны открытым текстом при просмотре show running-config.
Теперь настроим локального пользователя — он пригодится и для консоли, и для SSH:
sw-access01(config)# username admin privilege 15 secret AdminP@ssw0rd1
Консоль и виртуальные линии (vty)
sw-access01(config)# line console 0
sw-access01(config-line)# login local
sw-access01(config-line)# exec-timeout 5 0
sw-access01(config-line)# exit
sw-access01(config)# line vty 0 15
sw-access01(config-line)# login local
sw-access01(config-line)# transport input ssh
sw-access01(config-line)# exec-timeout 5 0
sw-access01(config-line)# exit
transport input ssh отключает Telnet на виртуальных линиях — это важно, Telnet передаёт пароли открытым текстом и в 2026 году в рабочей сети ему не место. exec-timeout 5 0 разрывает забытую сессию через 5 минут простоя.
Генерация ключей и включение SSH
sw-access01(config)# crypto key generate rsa modulus 2048
sw-access01(config)# ip ssh version 2
Команда crypto key generate rsa запускается только после того, как задан ip domain-name — без домена IOS не даст сгенерировать ключи. Именно поэтому домен настраивался в самом начале.
Management-интерфейс (VLAN 1 или выделенный SVI)
Для управления коммутатором по сети нужен IP-адрес на management-интерфейсе. Использовать VLAN 1 для этого — плохая практика (об этом ниже), поэтому создадим отдельный management VLAN и назначим адрес интерфейсу VLAN.
sw-access01(config)# vlan 99
sw-access01(config-vlan)# name MGMT
sw-access01(config-vlan)# exit
sw-access01(config)# interface vlan 99
sw-access01(config-if)# ip address 192.168.10.11 255.255.255.0
sw-access01(config-if)# no shutdown
sw-access01(config-if)# exit
sw-access01(config)# ip default-gateway 192.168.10.1
Адрес 192.168.10.11 берём из диапазона сети 192.168.10.0/24, шлюзом выступает маршрутизатор rtr-edge01 с адресом 192.168.10.1. Для чистого L2-коммутатора (без функций маршрутизации) команда именно ip default-gateway, а не ip route.
Базовые сервисные настройки
sw-access01(config)# no ip http server
sw-access01(config)# no ip http secure-server
sw-access01(config)# ntp server 192.168.10.1
sw-access01(config)# logging host 192.168.10.20
sw-access01(config)# service timestamps log datetime msec localtime
Web-интерфейс управления в продакшене обычно не нужен и представляет собой лишнюю поверхность атаки — отключаем. NTP синхронизирует часы устройства с сервером времени, а это критично для корректных временных меток в логах, особенно когда потом придётся разбирать инцидент по нескольким устройствам.
Настройка портов доступа
Пока коммутатор доступен только по консоли и SSH, но его основная работа — коммутация трафика на портах. Прежде чем передавать порты в VLAN (об этом подробно в следующей статье серии), стоит навести порядок на самих интерфейсах. Хорошая практика — сразу задавать описание порта, чтобы через полгода не гадать, что к нему подключено.
sw-access01(config)# interface range gigabitEthernet 1/0/1 - 24
sw-access01(config-if-range)# switchport mode access
sw-access01(config-if-range)# spanning-tree portfast
sw-access01(config-if-range)# spanning-tree bpduguard enable
sw-access01(config-if-range)# exit
sw-access01(config)# interface gigabitEthernet 1/0/1
sw-access01(config-if)# description Workstation - Room 101
sw-access01(config-if)# exit
spanning-tree portfast нужен на портах доступа, к которым подключены конечные устройства (компьютеры, принтеры), а не другие коммутаторы. Он позволяет порту сразу перейти в forwarding-состояние после подключения кабеля, минуя долгие фазы listening и learning протокола STP — иначе рабочая станция каждый раз будет ждать до 30 секунд, прежде чем получить доступ в сеть после включения. bpduguard — защитная мера: если на такой порт вдруг придёт BPDU-пакет (например, кто-то случайно подключил свой домашний коммутатор или маршрутизатор), порт автоматически уйдёт в error-disabled, а не начнёт участвовать в топологии STP.
Базовая защита неиспользуемых портов
Свободные порты, которые физически никуда не подключены, лучше сразу перевести в отдельный, изолированный VLAN и выключить. Это снижает риск, что кто-то подключит к ним ноутбук и получит доступ в производственную сеть в обход контроля.
sw-access01(config)# vlan 999
sw-access01(config-vlan)# name UNUSED
sw-access01(config-vlan)# exit
sw-access01(config)# interface range gigabitEthernet 1/0/20 - 24
sw-access01(config-if-range)# switchport mode access
sw-access01(config-if-range)# switchport access vlan 999
sw-access01(config-if-range)# shutdown
sw-access01(config-if-range)# exit
Ограничение доступа к управлению
SSH сам по себе шифрует трафик, но не ограничивает, кто может к нему подключиться. Если management-интерфейс доступен из всей сети 192.168.10.0/24, то теоретически подключиться сможет любая рабочая станция в этом сегменте. Добавим простой список доступа, который разрешит SSH только с адреса рабочей станции администратора и из подсети управления.
sw-access01(config)# access-list 10 permit host 192.168.10.5
sw-access01(config)# access-list 10 permit 192.168.10.0 0.0.0.255
sw-access01(config)# access-list 10 deny any log
sw-access01(config)# line vty 0 15
sw-access01(config-line)# access-class 10 in
sw-access01(config-line)# exit
Это базовый список доступа — подробно тему ACL, синтаксис wildcard-масок и разницу между стандартными и расширенными списками разберём отдельно в статье про ограничение доступа по IP и портам. Здесь достаточно знать, что access-class применяет ACL именно к линиям управления, а не к трафику через интерфейсы коммутации.
Резервное копирование конфигурации
Локальный startup-config защищает от перезагрузки, но не от выхода из строя самого коммутатора. Полезно сразу настроить выгрузку конфигурации на внешний сервер — TFTP, SCP или просто копированием текста при каждом значимом изменении.
sw-access01# copy running-config tftp:
Address or name of remote host []? 192.168.10.20
Destination filename [sw-access01-confg]?
!!
1823 bytes copied in 0.412 secs
В реальной сети эту операцию обычно автоматизируют — либо скриптом, который снимает конфигурацию со всех устройств по расписанию, либо системой управления конфигурацией. Но даже ручной бэкап перед крупными изменениями — это дешёвая страховка, которая экономит часы при восстановлении после сбоя.
Проверка результата
После настройки полезно убедиться, что всё применилось так, как задумано, до того как переходить к следующему устройству.
sw-access01# show ip interface brief
sw-access01# show vlan brief
sw-access01# show ip ssh
sw-access01# show running-config | include hostname
show ip interface brief покажет, что интерфейс VLAN 99 в состоянии up/up и имеет нужный адрес. show ip ssh подтвердит, что SSH включён и работает вторая версия протокола. Если что-то не сходится — например, интерфейс management в состоянии administratively down — почти всегда забыта команда no shutdown, это самая частая причина, почему свежесозданный интерфейс не поднимается.
Баннер предупреждения
sw-access01(config)# banner motd #
Authorized access only. All activity is logged.
Unauthorized access will be prosecuted.
#
Баннер — это не украшение, а формальное юридическое предупреждение о том, что доступ контролируется. В некоторых организациях его наличие — обязательное требование политики безопасности.
Сохранение конфигурации
sw-access01# copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
Это последний и самый важный шаг. Всё, что настроено в running-config, живёт только в оперативной памяти. Если коммутатор перезагрузится или временно пропадёт питание, а конфигурация не сохранена в startup-config, все изменения исчезнут — и придётся начинать заново, возможно, уже без удалённого доступа.
Частые ошибки и как их избежать
- Забыли сохранить конфигурацию. После каждого блока настроек, особенно перед тестированием SSH-доступа, выполняй
copy running-config startup-config. Если что-то пойдёт не так и коммутатор перезагрузится, ты не потеряешь уже сделанную работу. - Настроили SSH, но забыли про
login localна vty. Без этой команды линии vty либо вообще не пустят по SSH, либо потребуют пароль, который не задан — в обоих случаях удалённый доступ не заработает. Проверяй паруtransport input sshиlogin localвместе. - Использование VLAN 1 как management VLAN. VLAN 1 — это VLAN по умолчанию для всех портов и для служебного трафика (CDP, VTP, STP BPDU). Если управлять коммутатором через него, то любой некорректно настроенный access-порт в VLAN 1 окажется в одном broadcast-домене с management-трафиком. Отдельный VLAN для management — это базовая гигиена сети.
- Portfast на портах, где подключены другие коммутаторы. Если случайно включить
spanning-tree portfastна межкоммутаторной линии, можно получить временный loop при сбое или неправильной коммутации кабеля — порт начнёт пересылать трафик до того, как STP успеет пересчитать топологию. Portfast — только для портов с конечными устройствами, никогда для аплинков между коммутаторами.
Что дальше
Продолжить тему сетевого оборудования Cisco можно так: