Что такое VLAN и зачем он нужен: полное руководство для CCNA
Полное руководство по VLAN: типы, access и trunk порты, 802.1Q, inter-VLAN routing через Router-on-a-Stick и SVI, пошаговая настройка на Cisco.
Оглавление (Table of Contents)
- Введение: проблема одного широковещательного домена
- Что такое VLAN простыми словами
- Зачем нужен VLAN: 7 ключевых причин
- Типы VLAN: data, native, management, voice
- Access-порты и trunk-порты: в чём разница
- Протокол 802.1Q: как работает тегирование кадров
- Пошаговая настройка VLAN на коммутаторах Cisco
- Настройка trunk-портов
- Inter-VLAN routing: Router-on-a-Stick
- Inter-VLAN routing: SVI на L3-коммутаторе
- Практическая лабораторная в Packet Tracer
- Типичные ошибки при настройке VLAN
- FAQ — часто задаваемые вопросы
- Заключение
1. Введение: проблема одного широковещательного домена {#1-введение}
Представьте офис на 200 сотрудников. Бухгалтерия, отдел продаж, IT-отдел, руководство — все подключены к одним и тем же коммутаторам. Каждый раз, когда один компьютер отправляет широковещательный кадр (broadcast frame), этот кадр попадает на все 200 устройств в сети.
Что происходит без VLAN
Когда все устройства находятся в одном широковещательном домене (broadcast domain), возникает целый каскад проблем:
Проблема 1: Широковещательные штормы
Каждый ARP-запрос, DHCP-discover, NetBIOS-сообщение рассылается на все порты коммутатора. При 200 устройствах количество широковещательного трафика становится колоссальным. Процессоры коммутаторов и конечных устройств тратят ресурсы на обработку кадров, которые им не предназначены.
Проблема 2: Отсутствие безопасности
Стажёр из отдела продаж может запустить Wireshark и перехватить трафик бухгалтерии. Зарплатные ведомости, финансовые отчёты, пароли — всё доступно в пределах одного broadcast-домена. Без сегментации сети невозможно реализовать элементарные политики безопасности.
Проблема 3: Неуправляемость
Если нужно переместить сотрудника из одного отдела в другой, физически приходится переключать кабели. Масштабирование сети превращается в кошмар. Поиск неисправностей (troubleshooting) в плоской сети — это как искать иголку в стоге сена.
Проблема 4: Снижение производительности
Широковещательный трафик потребляет полосу пропускания. Чем больше устройств в одном домене, тем больше коллизий и задержек. Пользователи жалуются на «тормозящую» сеть.
Ключевой вывод: Плоская сеть (flat network) без сегментации — это архитектурный антипаттерн. Именно для решения всех перечисленных проблем была создана технология VLAN.
2. Что такое VLAN простыми словами {#2-что-такое-vlan}
VLAN (Virtual Local Area Network) — это виртуальная локальная сеть, которая позволяет логически разделить один физический коммутатор на несколько независимых сегментов сети. Устройства внутри одного VLAN могут общаться друг с другом так, как будто они подключены к отдельному коммутатору, даже если физически они находятся на разных коммутаторах в разных частях здания.
Аналогия для понимания
Представьте многоквартирный дом. Физически все квартиры находятся в одном здании, но каждая квартира — это отдельное изолированное пространство. Жильцы одной квартиры не могут просто так зайти в другую. VLAN работает по тому же принципу: один коммутатор, но несколько изолированных «квартир» для трафика.
Как VLAN работает на уровне коммутатора
Когда вы создаёте VLAN и назначаете порты коммутатора в этот VLAN, коммутатор начинает пересылать широковещательный, многоадресный (multicast) и неизвестный одноадресный (unknown unicast) трафик только внутри портов этого VLAN. Кадр, полученный на порту VLAN 10, никогда не будет переслан на порт VLAN 20 — это два разных широковещательных домена.
┌─────────────────────────────────────────────┐
│ Коммутатор SW1 │
│ │
│ VLAN 10 (Бухгалтерия) │ VLAN 20 (Продажи)│
│ ┌──────┐ ┌──────┐ │ ┌──────┐ ┌──────┐│
│ │ Fa0/1│ │ Fa0/2│ │ │ Fa0/3│ │ Fa0/4││
│ └──┬───┘ └──┬───┘ │ └──┬───┘ └──┬───┘│
└─────┼─────────┼─────────┼─────┼─────────┼────┘
│ │ │ │ │
PC1 PC2 │ PC3 PC4
│
Широковещательный трафик
НЕ проходит между VLAN
Каждый VLAN = отдельный широковещательный домен = отдельная логическая подсеть.
Это фундаментальное правило, которое нужно запомнить для экзамена CCNA.
3. Зачем нужен VLAN: 7 ключевых причин {#3-зачем-нужен-vlan}
| # | Причина | Описание |
|---|---|---|
| 1 | Сегментация сети | Разделение одной большой сети на логические сегменты уменьшает размер широковещательных доменов |
| 2 | Безопасность | Изоляция трафика между отделами. Бухгалтерия не видит трафик продаж |
| 3 | Производительность | Меньше широковещательного трафика — больше полезной полосы пропускания |
| 4 | Гибкость управления | Перемещение сотрудника в другой VLAN — дело одной команды, без переключения кабелей |
| 5 | Снижение затрат | Один физический коммутатор заменяет несколько отдельных устройств |
| 6 | Упрощение troubleshooting | Проблему легче локализовать в пределах одного VLAN |
| 7 | Соответствие стандартам | PCI DSS, HIPAA и другие стандарты требуют сегментации сети |
4. Типы VLAN: data, native, management, voice {#4-типы-vlan}
На экзамене CCNA 200-301 вы должны знать несколько типов VLAN. Разберём каждый из них подробно.
4.1. Default VLAN (VLAN 1)
Каждый коммутатор Cisco «из коробки» имеет VLAN 1. Все порты по умолчанию принадлежат этому VLAN. Его невозможно удалить, переименовать или деактивировать.
Рекомендация по безопасности: Никогда не используйте VLAN 1 для пользовательского трафика в production-среде. Это — хорошо известная лучшая практика Cisco (best practice).
4.2. Data VLAN (пользовательский VLAN)
Data VLAN — это VLAN, предназначенный для пользовательского трафика. Его также называют user VLAN. Это те самые VLAN, которые вы создаёте для разделения отделов: VLAN 10 для бухгалтерии, VLAN 20 для отдела продаж и так далее.
Диапазон номеров VLAN:
| Диапазон | Название | Описание |
|---|---|---|
| 1 | Default VLAN | Нельзя изменить или удалить |
| 2–1001 | Normal range | Хранятся в файле vlan.dat, используются чаще всего |
| 1002–1005 | Legacy VLANs | Зарезервированы для FDDI и Token Ring. Нельзя удалить |
| 1006–4094 | Extended range | Для крупных сетей. Требуют VTP transparent mode |
4.3. Native VLAN
Native VLAN — это VLAN, кадры которого передаются по trunk-линку без тега 802.1Q. По умолчанию native VLAN — это VLAN 1.
Зачем это нужно? Для обратной совместимости с устройствами, которые не понимают теги 802.1Q. Когда коммутатор получает нетегированный кадр на trunk-порту, он относит этот кадр к native VLAN.
┌──────────┐ Trunk (802.1Q) ┌──────────┐
│ SW1 ├──────────────────────┤ SW2 │
│ │ │ │
│ Native │ VLAN 10: тегирован │ Native │
│ VLAN = 1 │ VLAN 20: тегирован │ VLAN = 1 │
│ │ VLAN 1: БЕЗ тега │ │
└──────────┘ └──────────┘
Важно для безопасности: Native VLAN должен совпадать на обоих концах trunk-линка. Несовпадение приводит к ошибке «Native VLAN mismatch» и потенциальной атаке VLAN hopping. Рекомендуется изменить native VLAN с VLAN 1 на неиспользуемый VLAN (например, VLAN 999).
4.4. Management VLAN
Management VLAN — это VLAN, через который осуществляется управление коммутатором (SSH, Telnet, SNMP, HTTP). IP-адрес для удалённого доступа к коммутатору назначается на SVI (Switch Virtual Interface) management VLAN.
interface vlan 99
ip address 192.168.99.1 255.255.255.0
no shutdown
В данном примере VLAN 99 используется как management VLAN. Это позволяет отделить управляющий трафик от пользовательского, что повышает безопасность.
4.5. Voice VLAN
Voice VLAN — специальный VLAN для голосового трафика IP-телефонов. IP-телефоны Cisco подключаются к коммутатору и часто имеют встроенный мини-коммутатор, к которому подключается компьютер.
Порт коммутатора настраивается одновременно как:
- access-порт для компьютера (data VLAN)
- voice VLAN для телефона
interface FastEthernet0/1
switchport mode access
switchport access vlan 10
switchport voice vlan 150
mls qos trust cos
Голосовой трафик получает приоритет CoS 5 (Class of Service), что обеспечивает качество звука даже при загруженной сети.
┌──────────────┐
│ Коммутатор │
│ Fa0/1 │
└──────┬───────┘
│
Один кабель│(data VLAN 10 + voice VLAN 150)
│
┌──────┴───────┐
│ IP-телефон │ ← Voice VLAN 150
└──────┬───────┘
│
┌──────┴───────┐
│ Компьютер │ ← Data VLAN 10
└──────────────┘
Сводная таблица типов VLAN
| Тип VLAN | Назначение | Пример | Номер по умолчанию |
|---|---|---|---|
| Default VLAN | Все порты «из коробки» | VLAN 1 | 1 (нельзя удалить) |
| Data VLAN | Пользовательский трафик | VLAN 10, 20, 30 | Нет (создаётся админом) |
| Native VLAN | Нетегированный трафик на trunk | VLAN 1 (можно изменить) | 1 |
| Management VLAN | Управление коммутатором | VLAN 99 | Нет (создаётся админом) |
| Voice VLAN | Голосовой трафик VoIP | VLAN 150 | Нет (создаётся админом) |
5. Access-порты и trunk-порты: в чём разница {#5-access-и-trunk}
Это одна из ключевых тем CCNA. Каждый порт коммутатора может работать в одном из двух режимов: access или trunk.
5.1. Access-порт
Access-порт принадлежит одному VLAN и предназначен для подключения конечных устройств: компьютеров, принтеров, серверов.
Характеристики access-порта:
- Принадлежит только одному VLAN (плюс опционально voice VLAN)
- Кадры передаются без тега 802.1Q
- Конечное устройство «не знает» о существовании VLAN
- По умолчанию все порты находятся в VLAN 1
interface FastEthernet0/1
switchport mode access
switchport access vlan 10
5.2. Trunk-порт
Trunk-порт передаёт трафик нескольких VLAN одновременно и предназначен для соединения коммутаторов между собой, а также для подключения к маршрутизаторам и серверам.
Характеристики trunk-порта:
- Передаёт кадры нескольких VLAN
- Кадры тегируются протоколом 802.1Q (кроме native VLAN)
- Используется для связи коммутатор-коммутатор и коммутатор-маршрутизатор
- По умолчанию пропускает все VLAN (можно ограничить)
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk native vlan 999
switchport trunk allowed vlan 10,20,30,99
Сравнительная таблица access vs trunk
| Параметр | Access-порт | Trunk-порт |
|---|---|---|
| Количество VLAN | 1 (+ voice VLAN) | Несколько (по умолчанию — все) |
| Тегирование | Нет | Да (802.1Q) |
| Подключаемые устройства | ПК, принтеры, серверы | Коммутаторы, маршрутизаторы |
| Команда настройки | switchport mode access | switchport mode trunk |
| Native VLAN | Не применимо | Кадры native VLAN идут без тега |
5.3. Режим Dynamic (DTP)
Существуют также динамические режимы, управляемые протоколом DTP (Dynamic Trunking Protocol):
| Режим | Команда | Поведение |
|---|---|---|
| Dynamic auto | switchport mode dynamic auto | Пассивное ожидание. Станет trunk, только если другая сторона инициирует |
| Dynamic desirable | switchport mode dynamic desirable | Активная попытка установить trunk |
| Trunk | switchport mode trunk | Всегда trunk |
| Access | switchport mode access | Всегда access |
Рекомендация по безопасности: Всегда отключайте DTP командой
switchport nonegotiateна trunk-портах и явно задавайте режим порта. DTP — это потенциальный вектор атаки.
Матрица результатов согласования DTP:
| Dynamic Auto | Dynamic Desirable | Trunk | Access | |
|---|---|---|---|---|
| Dynamic Auto | Access | Trunk | Trunk | Access |
| Dynamic Desirable | Trunk | Trunk | Trunk | Access |
| Trunk | Trunk | Trunk | Trunk | ❌ Несовместимо |
| Access | Access | Access | ❌ Несовместимо | Access |
6. Протокол 802.1Q: как работает тегирование кадров {#6-протокол-8021q}
IEEE 802.1Q — это стандарт тегирования кадров Ethernet для идентификации VLAN при передаче по trunk-линку. Это единственный стандарт тегирования, который используется в современных сетях (устаревший проприетарный протокол Cisco ISL больше не поддерживается на новых устройствах).
Как работает 802.1Q
Когда кадр Ethernet попадает на trunk-порт, коммутатор вставляет 4-байтовый тег между полями Source MAC Address и Type/Length оригинального кадра.
Структура Ethernet-кадра без тега (обычный кадр)
┌──────────┬──────────┬──────────┬───────────┬─────┐
│ Dst MAC │ Src MAC │ Type/ │ Payload │ FCS │
│ (6 байт) │ (6 байт) │ Length │ (46-1500) │(4 б)│
│ │ │ (2 байта)│ │ │
└──────────┴──────────┴──────────┴───────────┴─────┘
Структура Ethernet-кадра с тегом 802.1Q
┌──────────┬──────────┬──────────────────────┬──────────┬───────────┬─────┐
│ Dst MAC │ Src MAC │ 802.1Q Tag │ Type/ │ Payload │ FCS │
│ (6 байт) │ (6 байт) │ (4 байта) │ Length │ (46-1500) │(4 б)│
│ │ │ │ (2 байта)│ │ │
└──────────┴──────────┴──────────────────────┴──────────┴───────────┴─────┘
│
▼
┌─────────────────────────────┐
│ 802.1Q Tag (4 байта) │
├──────────┬───┬───┬──────────┤
│ TPID │PCP│DEI│ VID │
│ (2 байта)│(3)│(1)│(12 бит) │
│ 0x8100 │ │ │ 0-4095 │
└──────────┴───┴───┴──────────┘
Поля тега 802.1Q
| Поле | Размер | Описание |
|---|---|---|
| TPID (Tag Protocol Identifier) | 16 бит | Всегда 0x8100. Указывает, что кадр тегирован |
| PCP (Priority Code Point) | 3 бита | Приоритет кадра (0–7). Используется для QoS (CoS) |
| DEI (Drop Eligible Indicator) | 1 бит | Указывает, может ли кадр быть отброшен при перегрузке |
| VID (VLAN Identifier) | 12 бит | Номер VLAN (0–4095). 0 и 4095 зарезервированы |
Важно: Так как VID имеет длину 12 бит, максимальное количество VLAN = 2^12 = 4096. С учётом зарезервированных значений, рабочий диапазон — от 1 до 4094.
Процесс тегирования и снятия тега
PC1 (VLAN 10) PC3 (VLAN 10)
│ │
│ Обычный кадр Обычный кадр │
│ (без тега) (без тега) │
▼ ▲
┌──────────┐ Тегированный кадр (VLAN 10) ┌──────────┐
│ SW1 ├───────────────────────────────►│ SW2 │
│ │◄───────────────────────────────┤ │
│ Fa0/1 │ Trunk (Gi0/1) │ Fa0/1 │
│ (access) │ │ (access) │
└──────────┘ └──────────┘
Шаг 1: PC1 отправляет обычный кадр на access-порт Fa0/1 (VLAN 10)
Шаг 2: SW1 получает кадр, определяет, что отправить нужно через trunk Gi0/1
Шаг 3: SW1 ВСТАВЛЯЕТ тег 802.1Q с VID=10 и отправляет кадр в trunk
Шаг 4: SW2 получает тегированный кадр на trunk-порту
Шаг 5: SW2 читает VID=10, определяет целевой access-порт в VLAN 10
Шаг 6: SW2 УДАЛЯЕТ тег 802.1Q и пересылает обычный кадр на Fa0/1
Шаг 7: PC3 получает обычный Ethernet-кадр (без тега)
7. Пошаговая настройка VLAN на коммутаторах Cisco {#7-настройка-vlan}
Теперь перейдём к практике. Ниже — пошаговая инструкция по настройке VLAN на коммутаторах Cisco Catalyst.
Сценарий
У нас есть коммутатор SW1 с подключёнными устройствами:
- Fa0/1–Fa0/5: Бухгалтерия (VLAN 10)
- Fa0/6–Fa0/10: Отдел продаж (VLAN 20)
- Fa0/11–Fa0/15: IT-отдел (VLAN 30)
- Gi0/1: Trunk к SW2
Шаг 1: Создание VLAN
SW1> enable
SW1# configure terminal
SW1(config)# vlan 10
SW1(config-vlan)# name Accounting
SW1(config-vlan)# exit
SW1(config)# vlan 20
SW1(config-vlan)# name Sales
SW1(config-vlan)# exit
SW1(config)# vlan 30
SW1(config-vlan)# name IT
SW1(config-vlan)# exit
SW1(config)# vlan 99
SW1(config-vlan)# name Management
SW1(config-vlan)# exit
SW1(config)# vlan 999
SW1(config-vlan)# name Native_Parking
SW1(config-vlan)# exit
Шаг 2: Назначение портов в VLAN (access-порты)
! Бухгалтерия — VLAN 10
SW1(config)# interface range FastEthernet0/1 - 5
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport access vlan 10
SW1(config-if-range)# no shutdown
SW1(config-if-range)# exit
! Отдел продаж — VLAN 20
SW1(config)# interface range FastEthernet0/6 - 10
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport access vlan 20
SW1(config-if-range)# no shutdown
SW1(config-if-range)# exit
! IT-отдел — VLAN 30
SW1(config)# interface range FastEthernet0/11 - 15
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport access vlan 30
SW1(config-if-range)# no shutdown
SW1(config-if-range)# exit
Шаг 3: Настройка неиспользуемых портов (best practice безопасности)
! Отключаем неиспользуемые порты и помещаем в «парковочный» VLAN
SW1(config)# interface range FastEthernet0/16 - 24
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport access vlan 999
SW1(config-if-range)# shutdown
SW1(config-if-range)# exit
Шаг 4: Настройка Management SVI
SW1(config)# interface vlan 99
SW1(config-if)# ip address 192.168.99.1 255.255.255.0
SW1(config-if)# no shutdown
SW1(config-if)# exit
SW1(config)# ip default-gateway 192.168.99.254
Шаг 5: Проверка конфигурации
SW1# show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------
1 default active
10 Accounting active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5
20 Sales active Fa0/6, Fa0/7, Fa0/8, Fa0/9
Fa0/10
30 IT active Fa0/11, Fa0/12, Fa0/13,
Fa0/14, Fa0/15
99 Management active
999 Native_Parking active Fa0/16, Fa0/17, Fa0/18,
Fa0/19, Fa0/20, Fa0/21,
Fa0/22, Fa0/23, Fa0/24
Другие полезные команды для проверки:
SW1# show vlan id 10 ! Подробная информация о конкретном VLAN
SW1# show interfaces Fa0/1 switchport ! Информация о порте
SW1# show interfaces trunk ! Информация о trunk-линках
SW1# show mac address-table ! Таблица MAC-адресов
8. Настройка trunk-портов {#8-настройка-trunk}
Базовая настройка trunk
SW1(config)# interface GigabitEthernet0/1
SW1(config-if)# switchport mode trunk
SW1(config-if)# switchport trunk native vlan 999
SW1(config-if)# switchport trunk allowed vlan 10,20,30,99
SW1(config-if)# switchport nonegotiate
SW1(config-if)# no shutdown
SW1(config-if)# exit
Разберём каждую команду:
| Команда | Назначение |
|---|---|
switchport mode trunk | Принудительно переводит порт в режим trunk |
switchport trunk native vlan 999 | Меняет native VLAN с 1 на 999 (безопасность) |
switchport trunk allowed vlan 10,20,30,99 | Ограничивает пропускаемые VLAN (только указанные) |
switchport nonegotiate | Отключает DTP — протокол динамического согласования |
Настройка на втором коммутаторе (SW2)
Конфигурация trunk должна быть симметричной на обоих концах:
SW2(config)# interface GigabitEthernet0/1
SW2(config-if)# switchport mode trunk
SW2(config-if)# switchport trunk native vlan 999
SW2(config-if)# switchport trunk allowed vlan 10,20,30,99
SW2(config-if)# switchport nonegotiate
SW2(config-if)# no shutdown
SW2(config-if)# exit
Проверка trunk
SW1# show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gi0/1 on 802.1q trunking 999
Port Vlans allowed on trunk
Gi0/1 10,20,30,99
Port Vlans allowed and active in management domain
Gi0/1 10,20,30,99
Port Vlans in spanning tree forwarding state and not pruned
Gi0/1 10,20,30,99
Добавление и удаление VLAN из trunk
! Добавить VLAN 40 к уже разрешённым
SW1(config-if)# switchport trunk allowed vlan add 40
! Удалить VLAN 30 из разрешённых
SW1(config-if)# switchport trunk allowed vlan remove 30
! Внимание! Эта команда ЗАМЕНИТ весь список (опасно!):
SW1(config-if)# switchport trunk allowed vlan 10,20
Типичная ошибка на экзамене CCNA: Использование команды
switchport trunk allowed vlan 40вместоswitchport trunk allowed vlan add 40. Первая команда заменит весь список разрешённых VLAN на единственный VLAN 40, что приведёт к потере связности.
9. Inter-VLAN Routing: Router-on-a-Stick {#9-router-on-a-stick}
Устройства в разных VLAN не могут общаться друг с другом напрямую — это фундаментальное свойство VLAN. Для маршрутизации трафика между VLAN необходимо устройство уровня L3: маршрутизатор или L3-коммутатор.
Router-on-a-Stick — это метод inter-VLAN routing, при котором используется один физический интерфейс маршрутизатора, разделённый на несколько логических подынтерфейсов (subinterfaces).
Схема сети Router-on-a-Stick
┌──────────────┐
│ Router R1 │
│ │
│ Gi0/0 │ ← Один физический интерфейс
│ ├─ Gi0/0.10│ ← Subinterface VLAN 10: 192.168.10.1/24
│ ├─ Gi0/0.20│ ← Subinterface VLAN 20: 192.168.20.1/24
│ └─ Gi0/0.30│ ← Subinterface VLAN 30: 192.168.30.1/24
└──────┬───────┘
│ Trunk (802.1Q)
│
┌──────┴───────┐
│ SW1 │
│ Gi0/1 │ ← Trunk to Router
│ │
┌─────┼──────┼──────┼─────┐
│ │ │ │ │
Fa0/1 Fa0/2 Fa0/6 Fa0/7 Fa0/11
VL10 VL10 VL20 VL20 VL30
│ │ │ │ │
PC1 PC2 PC3 PC4 PC5
192.168.10.10 .11 .10 .11 .10
Настройка маршрутизатора (Router-on-a-Stick)
R1> enable
R1# configure terminal
! Включаем физический интерфейс (без IP-адреса!)
R1(config)# interface GigabitEthernet0/0
R1(config-if)# no shutdown
R1(config-if)# exit
! Подынтерфейс для VLAN 10
R1(config)# interface GigabitEthernet0/0.10
R1(config-subif)# description Gateway for VLAN 10 - Accounting
R1(config-subif)# encapsulation dot1Q 10
R1(config-subif)# ip address 192.168.10.1 255.255.255.0
R1(config-subif)# exit
! Подынтерфейс для VLAN 20
R1(config)# interface GigabitEthernet0/0.20
R1(config-subif)# description Gateway for VLAN 20 - Sales
R1(config-subif)# encapsulation dot1Q 20
R1(config-subif)# ip address 192.168.20.1 255.255.255.0
R1(config-subif)# exit
! Подынтерфейс для VLAN 30
R1(config)# interface GigabitEthernet0/0.30
R1(config-subif)# description Gateway for VLAN 30 - IT
R1(config-subif)# encapsulation dot1Q 30
R1(config-subif)# ip address 192.168.30.1 255.255.255.0
R1(config-subif)# exit
! Подынтерфейс для native VLAN (если нужна маршрутизация)
R1(config)# interface GigabitEthernet0/0.999
R1(config-subif)# encapsulation dot1Q 999 native
R1(config-subif)# exit
Настройка коммутатора (trunk к маршрутизатору)
SW1(config)# interface GigabitEthernet0/1
SW1(config-if)# switchport mode trunk
SW1(config-if)# switchport trunk native vlan 999
SW1(config-if)# switchport trunk allowed vlan 10,20,30,99,999
SW1(config-if)# switchport nonegotiate
SW1(config-if)# no shutdown
SW1(config-if)# exit
Настройка конечных устройств
На каждом ПК нужно настроить IP-адрес и шлюз по умолчанию (default gateway):
| Устройство | IP-адрес | Маска | Default Gateway | VLAN |
|---|---|---|---|---|
| PC1 | 192.168.10.10 | 255.255.255.0 | 192.168.10.1 | 10 |
| PC2 | 192.168.10.11 | 255.255.255.0 | 192.168.10.1 | 10 |
| PC3 | 192.168.20.10 | 255.255.255.0 | 192.168.20.1 | 20 |
| PC4 | 192.168.20.11 | 255.255.255.0 | 192.168.20.1 | 20 |
| PC5 | 192.168.30.10 | 255.255.255.0 | 192.168.30.1 | 30 |
Как работает Router-on-a-Stick (пошагово)
Рассмотрим, что происходит, когда PC1 (VLAN 10, 192.168.10.10) отправляет ping на PC3 (VLAN 20, 192.168.20.10):
- PC1 видит, что 192.168.20.10 находится в другой подсети, и отправляет кадр на свой default gateway (192.168.10.1 — MAC маршрутизатора)
- Кадр поступает на access-порт SW1 (VLAN 10)
- SW1 пересылает кадр через trunk Gi0/1 с тегом VLAN 10
- R1 получает тегированный кадр на подынтерфейсе Gi0/0.10
- R1 выполняет маршрутизацию: ищет в таблице маршрутизации сеть 192.168.20.0/24 → интерфейс Gi0/0.20
- R1 отправляет кадр обратно через Gi0/0.20 с тегом VLAN 20
- SW1 получает тегированный кадр (VLAN 20) и пересылает на access-порт PC3
- PC3 получает ответ
Проверка работоспособности
! На маршрутизаторе
R1# show ip interface brief
R1# show ip route
R1# show interfaces GigabitEthernet0/0.10
! На коммутаторе
SW1# show interfaces trunk
SW1# show vlan brief
! С компьютера
PC1> ping 192.168.20.10
PC1> tracert 192.168.20.10
Плюсы и минусы Router-on-a-Stick
| Плюсы | Минусы |
|---|---|
| Экономия портов маршрутизатора (нужен 1 порт) | Единая точка отказа (один интерфейс) |
| Простая настройка | Ограниченная пропускная способность |
| Подходит для небольших сетей | Весь inter-VLAN трафик идёт через один линк |
| Хорошо подходит для обучения и лабораторных | Не масштабируется для enterprise-сетей |
10. Inter-VLAN Routing: SVI на L3-коммутаторе {#10-svi}
Для крупных и средних сетей предпочтительный метод inter-VLAN routing — использование L3-коммутатора (multilayer switch) с SVI (Switch Virtual Interface).
Что такое SVI
SVI (Switch Virtual Interface) — это виртуальный интерфейс на коммутаторе, представляющий VLAN. Когда на L3-коммутаторе создаётся SVI с IP-адресом, коммутатор может маршрутизировать трафик между VLAN аппаратно (hardware-based routing), что значительно быстрее, чем Router-on-a-Stick.
Схема сети с L3-коммутатором
┌───────────────────┐
│ L3 Switch (MLS) │
│ │
│ SVI VLAN 10: │
│ 192.168.10.1/24 │
│ │
│ SVI VLAN 20: │
│ 192.168.20.1/24 │
│ │
│ SVI VLAN 30: │
│ 192.168.30.1/24 │
│ │
┌─────┼─────┬─────┼──────┼──────┐
│ │ │ │ │ │
Fa0/1 Fa0/2 Fa0/6 Fa0/7 Fa0/11 Gi0/1
VL10 VL10 VL20 VL20 VL30 Trunk
│ │ │ │ │ │
PC1 PC2 PC3 PC4 PC5 SW2
Настройка L3-коммутатора
MLS> enable
MLS# configure terminal
! Включаем IP-маршрутизацию
MLS(config)# ip routing
! Создаём VLAN
MLS(config)# vlan 10
MLS(config-vlan)# name Accounting
MLS(config-vlan)# exit
MLS(config)# vlan 20
MLS(config-vlan)# name Sales
MLS(config-vlan)# exit
MLS(config)# vlan 30
MLS(config-vlan)# name IT
MLS(config-vlan)# exit
! Создаём SVI для каждого VLAN
MLS(config)# interface vlan 10
MLS(config-if)# ip address 192.168.10.1 255.255.255.0
MLS(config-if)# no shutdown
MLS(config-if)# exit
MLS(config)# interface vlan 20
MLS(config-if)# ip address 192.168.20.1 255.255.255.0
MLS(config-if)# no shutdown
MLS(config-if)# exit
MLS(config)# interface vlan 30
MLS(config-if)# ip address 192.168.30.1 255.255.255.0
MLS(config-if)# no shutdown
MLS(config-if)# exit
! Назначаем access-порты
MLS(config)# interface range Fa0/1 - 5
MLS(config-if-range)# switchport mode access
MLS(config-if-range)# switchport access vlan 10
MLS(config-if-range)# exit
MLS(config)# interface range Fa0/6 - 10
MLS(config-if-range)# switchport mode access
MLS(config-if-range)# switchport access vlan 20
MLS(config-if-range)# exit
MLS(config)# interface range Fa0/11 - 15
MLS(config-if-range)# switchport mode access
MLS(config-if-range)# switchport access vlan 30
MLS(config-if-range)# exit
! Настройка trunk к SW2
MLS(config)# interface GigabitEthernet0/1
MLS(config-if)# switchport mode trunk
MLS(config-if)# switchport trunk native vlan 999
MLS(config-if)# switchport trunk allowed vlan 10,20,30,99
MLS(config-if)# no shutdown
MLS(config-if)# exit
Ключевая команда:
ip routing— без неё L3-коммутатор не будет маршрутизировать трафик между VLAN, даже если SVI настроены корректно. Это одна из самых частых ошибок.
Проверка
MLS# show ip route
Codes: C - connected, S - static, ...
C 192.168.10.0/24 is directly connected, Vlan10
C 192.168.20.0/24 is directly connected, Vlan20
C 192.168.30.0/24 is directly connected, Vlan30
MLS# show interfaces vlan 10
Vlan10 is up, line protocol is up
Internet address is 192.168.10.1/24
...
MLS# show ip interface brief
Interface IP-Address OK? Method Status Protocol
Vlan10 192.168.10.1 YES manual up up
Vlan20 192.168.20.1 YES manual up up
Vlan30 192.168.30.1 YES manual up up
Сравнение Router-on-a-Stick vs SVI (L3 Switch)
| Параметр | Router-on-a-Stick | SVI (L3 Switch) |
|---|---|---|
| Устройство | Маршрутизатор + L2-коммутатор | L3-коммутатор |
| Производительность | Ограничена пропускной способностью линка | Аппаратная маршрутизация (wirespeed) |
| Масштабируемость | Низкая | Высокая |
| Стоимость | Ниже (более дешёвое оборудование) | Выше (L3-коммутатор дороже) |
| Отказоустойчивость | Одна точка отказа (один линк) | Можно добавить резервирование |
| Сложность настройки | Средняя (subinterfaces) | Простая (SVI) |
| Применение | Малые офисы, лабораторные | Enterprise-сети |
| Команда | encapsulation dot1Q | ip routing + interface vlan |
11. Практическая лабораторная в Packet Tracer {#11-лабораторная}
Соберите следующую топологию в Cisco Packet Tracer и проверьте связность.
Топология
┌─────────┐
│ R1 │
│ Gi0/0 │
│ │.10 │
│ │.20 │
│ │.30 │
└───┬─────┘
│ Trunk
│
┌──────────────────┼──────────────────┐
│ │ │
┌────┴────┐ ┌───┴─────┐ ┌────┴────┐
│ SW1 │ Trunk │ SW2 │ Trunk │ SW3 │
│ ├────────┤ ├───────┤ │
└────┬────┘ └───┬─────┘ └────┬────┘
│ │ │
┌────┴────┐ ┌───┴────┐ ┌───┴────┐
│ PC1 │ │ PC3 │ │ PC5 │
│ VL10 │ │ VL20 │ │ VL10 │
│.10.10 │ │.20.10 │ │.10.30 │
└─────────┘ └────────┘ └────────┘
┌─────────┐ ┌────────┐ ┌────────┐
│ PC2 │ │ PC4 │ │ PC6 │
│ VL20 │ │ VL30 │ │ VL30 │
│.20.20 │ │.30.10 │ │.30.30 │
└─────────┘ └────────┘ └────────┘
Таблица IP-адресов
| Устройство | Интерфейс | IP-адрес | Маска | VLAN | Gateway |
|---|---|---|---|---|---|
| R1 | Gi0/0.10 | 192.168.10.1 | /24 | 10 | — |
| R1 | Gi0/0.20 | 192.168.20.1 | /24 | 20 | — |
| R1 | Gi0/0.30 | 192.168.30.1 | /24 | 30 | — |
| SW1 | VLAN 99 | 192.168.99.11 | /24 | 99 | 192.168.99.1 |
| SW2 | VLAN 99 | 192.168.99.12 | /24 | 99 | 192.168.99.1 |
| SW3 | VLAN 99 | 192.168.99.13 | /24 | 99 | 192.168.99.1 |
| PC1 | NIC | 192.168.10.10 | /24 | 10 | 192.168.10.1 |
| PC2 | NIC | 192.168.20.20 | /24 | 20 | 192.168.20.1 |
| PC3 | NIC | 192.168.20.10 | /24 | 20 | 192.168.20.1 |
| PC4 | NIC | 192.168.30.10 | /24 | 30 | 192.168.30.1 |
| PC5 | NIC | 192.168.10.30 | /24 | 10 | 192.168.10.1 |
| PC6 | NIC | 192.168.30.30 | /24 | 30 | 192.168.30.1 |
Полная конфигурация SW1
enable
configure terminal
hostname SW1
! Создание VLAN
vlan 10
name Accounting
vlan 20
name Sales
vlan 30
name IT
vlan 99
name Management
vlan 999
name NativeParking
! Access-порты
interface FastEthernet0/1
switchport mode access
switchport access vlan 10
spanning-tree portfast
no shutdown
interface FastEthernet0/2
switchport mode access
switchport access vlan 20
spanning-tree portfast
no shutdown
! Trunk к SW2
interface GigabitEthernet0/1
switchport mode trunk
switchport trunk native vlan 999
switchport trunk allowed vlan 10,20,30,99
switchport nonegotiate
no shutdown
! Trunk к R1
interface GigabitEthernet0/2
switchport mode trunk
switchport trunk native vlan 999
switchport trunk allowed vlan 10,20,30,99
switchport nonegotiate
no shutdown
! Management SVI
interface vlan 99
ip address 192.168.99.11 255.255.255.0
no shutdown
ip default-gateway 192.168.99.1
! Безопасность: отключаем неиспользуемые порты
interface range FastEthernet0/3 - 24
switchport mode access
switchport access vlan 999
shutdown
end
write memory
Полная конфигурация R1
enable
configure terminal
hostname R1
interface GigabitEthernet0/0
no shutdown
interface GigabitEthernet0/0.10
description VLAN10-Accounting
encapsulation dot1Q 10
ip address 192.168.10.1 255.255.255.0
interface GigabitEthernet0/0.20
description VLAN20-Sales
encapsulation dot1Q 20
ip address 192.168.20.1 255.255.255.0
interface GigabitEthernet0/0.30
description VLAN30-IT
encapsulation dot1Q 30
ip address 192.168.30.1 255.255.255.0
interface GigabitEthernet0/0.99
description VLAN99-Management
encapsulation dot1Q 99
ip address 192.168.99.1 255.255.255.0
interface GigabitEthernet0/0.999
description NativeVLAN
encapsulation dot1Q 999 native
end
write memory
Тесты для проверки
После настройки выполните следующие тесты:
✅ Test 1: PC1 (VLAN 10) → ping PC5 (VLAN 10) — один VLAN, разные коммутаторы
✅ Test 2: PC1 (VLAN 10) → ping PC2 (VLAN 20) — разные VLAN, один коммутатор
✅ Test 3: PC1 (VLAN 10) → ping PC4 (VLAN 30) — разные VLAN, разные коммутаторы
✅ Test 4: PC1 → tracert PC4 — убедиться, что маршрут идёт через R1
✅ Test 5: SSH с PC (VLAN 30) на SW1 (VLAN 99) — управление через management VLAN
12. Типичные ошибки при настройке VLAN {#12-ошибки}
Ошибка 1: VLAN не создан на коммутаторе
Симптом: Порт назначен в VLAN 10, но трафик не ходит.
Причина: VLAN 10 не создан на коммутаторе. Хотя Cisco автоматически создаёт VLAN при назначении порта (на некоторых платформах), это не всегда работает корректно.
Решение: Всегда явно создавайте VLAN:
SW1(config)# vlan 10
SW1(config-vlan)# name Accounting
Ошибка 2: Native VLAN mismatch
Симптом: Сообщение %CDP-4-NATIVE_VLAN_MISMATCH в логах.
Причина: На разных концах trunk-линка настроены разные native VLAN.
Решение: Убедитесь, что native VLAN одинаков на обоих коммутаторах:
SW1(config-if)# switchport trunk native vlan 999
SW2(config-if)# switchport trunk native vlan 999
Ошибка 3: VLAN не пропущен через trunk
Симптом: Устройства в VLAN 30 на разных коммутаторах не видят друг друга.
Причина: VLAN 30 не указан в allowed vlan на trunk-порту.
Диагностика и решение:
SW1# show interfaces trunk
! Проверяем, есть ли VLAN 30 в списке allowed
SW1(config-if)# switchport trunk allowed vlan add 30
Ошибка 4: Забыли ip routing на L3-коммутаторе
Симптом: SVI настроены, IP-адреса назначены, но ping между VLAN не работает.
Решение:
MLS(config)# ip routing
Ошибка 5: Не включили физический интерфейс маршрутизатора
Симптом: Subinterfaces настроены, но все в состоянии down.
Причина: Основной интерфейс Gi0/0 выключен.
Решение:
R1(config)# interface GigabitEthernet0/0
R1(config-if)# no shutdown
Ошибка 6: Неправильный default gateway на ПК
Симптом: Ping внутри VLAN работает, между VLAN — нет.
Причина: На ПК указан неверный шлюз или шлюз не указан вовсе.
Чек-лист для troubleshooting VLAN
□ VLAN создан на всех коммутаторах в пути?
□ Порт назначен в правильный VLAN?
□ Порт в режиме access / trunk (как нужно)?
□ VLAN пропущен через все trunk-линки?
□ Native VLAN совпадает на обоих концах trunk?
□ На маршрутизаторе: encapsulation dot1Q настроен?
□ На маршрутизаторе: физический интерфейс включён (no shutdown)?
□ На L3-коммутаторе: ip routing включен?
□ SVI в состоянии up/up? (нужен хотя бы один активный порт в VLAN)
□ На ПК: правильный IP, маска, default gateway?
13. FAQ — часто задаваемые вопросы {#13-faq}
Сколько VLAN можно создать на коммутаторе Cisco?
Теоретический максимум — 4094 VLAN (VID от 1 до 4094). Практическое количество зависит от модели коммутатора. Коммутаторы серии Catalyst 2960 поддерживают до 255 VLAN, а серия Catalyst 9000 — до 4094. В normal range (1–1001) можно использовать все VLAN, для extended range (1006–4094) необходим VTP transparent mode.
Могут ли два устройства в разных VLAN общаться без маршрутизатора?
Нет. VLAN создаёт отдельный широковещательный домен на уровне L2. Для передачи трафика между VLAN необходимо устройство L3: маршрутизатор или L3-коммутатор с включённой функцией ip routing. Это — ключевой принцип работы VLAN.
В чём разница между VLAN и подсетью (subnet)?
VLAN работает на уровне L2 (канальном) модели OSI и создаёт отдельный широковещательный домен. Подсеть работает на уровне L3 (сетевом) и определяет логическую группу IP-адресов. На практике каждому VLAN обычно соответствует одна IP-подсеть: VLAN 10 = 192.168.10.0/24, VLAN 20 = 192.168.20.0/24. Но технически это разные концепции на разных уровнях модели OSI.
Что такое VLAN hopping и как от него защититься?
VLAN hopping — это атака, при которой злоумышленник получает доступ к трафику другого VLAN. Существует два типа:
- Switch spoofing — атакующий притворяется коммутатором и устанавливает trunk с помощью DTP.
- Double tagging — атакующий отправляет кадр с двумя тегами 802.1Q, используя native VLAN.
Защита:
! Отключить DTP на всех access-портах
switchport mode access
switchport nonegotiate
! Изменить native VLAN на неиспользуемый
switchport trunk native vlan 999
! Явно тегировать native VLAN
vlan dot1q tag native
Что лучше: Router-on-a-Stick или L3-коммутатор?
Для небольших сетей (до 50 устройств) Router-on-a-Stick — вполне достаточное решение. Для средних и крупных сетей следует использовать L3-коммутатор с SVI, так как он обеспечивает аппаратную маршрутизацию на скорости линии (wirespeed). На экзамене CCNA вы должны знать оба метода.
Нужно ли создавать VLAN на каждом коммутаторе?
Да. VLAN должен быть создан (или распространён через VTP) на каждом коммутаторе, через который проходит трафик этого VLAN. Если VLAN 10 существует на SW1, но не создан на SW2, то трафик VLAN 10 не пройдёт через SW2, даже если trunk настроен корректно.
Что такое VTP и стоит ли его использовать?
VTP (VLAN Trunking Protocol) — проприетарный протокол Cisco для автоматической синхронизации базы данных VLAN между коммутаторами. В режиме VTP Server изменения VLAN распространяются на все коммутаторы в домене.
Предупреждение: VTP может быть опасен. Коммутатор с более высоким revision number может затереть все VLAN на production-коммутаторах. Многие инженеры рекомендуют использовать VTP transparent mode или VTP off и создавать VLAN вручную на каждом коммутаторе.
Что происходит с SVI, если в VLAN нет ни одного активного порта?
SVI переходит в состояние down/down. Для того чтобы SVI был в состоянии up/up, необходимо, чтобы хотя бы один порт в этом VLAN был активен (link up) на данном коммутаторе — либо access-порт, либо trunk-порт, пропускающий этот VLAN.
Как узнать, в каком VLAN находится порт?
SW1# show interfaces FastEthernet0/1 switchport
Name: Fa0/1
Switchport: Enabled
Administrative Mode: static access
Operational Mode: static access
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 10 (Accounting) ← Текущий VLAN
Trunking Native Mode VLAN: 1 (default)
...
Или более кратко:
SW1# show vlan brief
14. Заключение {#14-заключение}
VLAN — это фундаментальная технология, без которой невозможно построить современную корпоративную сеть. Подведём итоги ключевых знаний для экзамена CCNA 200-301:
Что нужно запомнить
- VLAN = отдельный broadcast domain = отдельная подсеть
- Существует пять типов VLAN: default, data, native, management, voice
- Access-порт — для конечных устройств (один VLAN), trunk-порт — для связи между коммутаторами (несколько VLAN)
- 802.1Q вставляет 4-байтовый тег в Ethernet-кадр с полем VID (12 бит = 4094 VLAN)
- Native VLAN — кадры идут без тега по trunk; должен совпадать на обоих концах
- Router-on-a-Stick — inter-VLAN routing через subinterfaces одного физического интерфейса маршрутизатора
- SVI на L3-коммутаторе — предпочтительный метод inter-VLAN routing для enterprise-сетей (не забудьте
ip routing!) - Безопасность: меняйте native VLAN, отключайте DTP, деактивируйте неиспользуемые порты
Команды, которые нужно знать наизусть
| Задача | Команда |
|---|---|
| Создать VLAN | vlan 10 + name Accounting |
| Назначить access-порт | switchport mode access + switchport access vlan 10 |
| Настроить trunk | switchport mode trunk |
| Изменить native VLAN | switchport trunk native vlan 999 |
| Ограничить VLAN на trunk | switchport trunk allowed vlan 10,20,30 |
| Добавить VLAN в trunk | switchport trunk allowed vlan add 40 |
| Отключить DTP | switchport nonegotiate |
| Настроить subinterface | encapsulation dot1Q 10 |
| Создать SVI | interface vlan 10 + ip address ... |
| Включить маршрутизацию | ip routing |
| Посмотреть VLAN | show vlan brief |
| Посмотреть trunk | show interfaces trunk |
| Voice VLAN | switchport voice vlan 150 |
Практикуйтесь в Cisco Packet Tracer! Теоретические знания важны, но именно практика закрепляет навыки. Соберите лабораторную из раздела 11, поэкспериментируйте с настройками и намеренно создайте ошибки из раздела 12, чтобы научиться их находить и устранять.
Эта статья охватывает темы VLAN из учебного плана Cisco CCNA 200-301: разделы 2.1 (Configure and verify VLANs spanning multiple switches), 2.2 (Configure and verify interswitch connectivity — trunk ports, 802.1Q, native VLAN), и 2.4 (Configure and verify inter-VLAN routing — Router-on-a-Stick, SVI).