VTP
Введение
VTP (VLAN Trunking Protocol) — проприетарный протокол Cisco, который используется для распространения информации о VLAN между коммутаторами внутри одной административной области (VTP domain). Это позволяет централизованно управлять VLAN'ами и упрощает настройку больших сетей.
Назначение VTP
Без VTP необходимо вручную создавать и настраивать VLAN на каждом коммутаторе. С VTP изменения, внесённые на одном коммутаторе, автоматически распространяются на другие коммутаторы в той же VTP-домене.
Преимущества VTP:
- Централизованное управление VLAN
- Упрощение конфигурации
- Снижение количества ошибок
Недостатки:
- Возможность непреднамеренной потери конфигурации VLAN
- Уязвимость к ошибкам конфигурации и атакам (если не защищен)
Режимы работы VTP
VTP поддерживает три режима:
Server (Сервер)
- Коммутатор может создавать, изменять и удалять VLAN
- Распространяет информацию по VTP-домену
- Сохраняет конфигурацию VLAN в NVRAM
Client (Клиент)
- Не может создавать или удалять VLAN
- Получает информацию от серверов и применяет её
- Не сохраняет информацию в NVRAM
Transparent (Прозрачный)
- Не участвует в VTP-домене
- Пересылает VTP-объявления другим коммутаторам
- Локально созданные VLAN сохраняются и действуют только на этом коммутаторе
Структура VTP Frame (VTP Packet)
- VTP Version (1, 2, 3)
- VTP Domain Name
- VTP Password (если настроен)
- Configuration Revision Number (номер конфигурации)
- VLAN Information
VTP Domain и Configuration Revision Number
VTP Domain
VTP-домен — это логическая область управления VLAN, определяемая уникальным именем. Все коммутаторы, участвующие в распространении VLAN через VTP, должны иметь одинаковое имя VTP-домена. Коммутаторы с другим доменом будут игнорировать VTP-фреймы.
- Имя домена задаётся вручную или автоматически (при первом получении VTP-фрейма)
- Домен может быть защищён паролем — VTP-фреймы без соответствующего пароля игнорируются
- Все коммутаторы в одном VTP-домене могут быть связаны через транковое соединение
Configuration Revision Number
Это целое число, которое увеличивается при каждом изменении конфигурации VLAN на сервере VTP. Коммутаторы в режиме клиента или сервера обновляют свои данные о VLAN только в том случае, если полученное VTP-сообщение содержит более высокий номер ревизии, чем текущий.
Важно!
- Если вы случайно подключите к сети старый коммутатор с более высокой ревизией, но пустой конфигурацией, он может "затереть" всю VLAN-информацию.
- Перед добавлением нового коммутатора необходимо сбросить номер ревизии: удалить файл
vlan.datи перезагрузить устройство.
Типы VTP
VTP Version 1
- Первая и базовая версия протокола
- Поддерживает VLAN с идентификаторами от 1 до 1005
- Не поддерживает расширенные VLAN (1006–4094)
- Не пересылает VTP-объявления из одной базы данных в другую (например, MST и Private VLAN)
- Работает по умолчанию на большинстве устройств Cisco
VTP Version 2
- Расширяет возможности VTP v1
- Обеспечивает совместимость с сетями Token Ring (в настоящее время редко используется)
- Поддерживает VLAN-транзакции типа „резервные VLAN“
- Автоматически включается при обнаружении VTP v2-сообщений от соседних коммутаторов
- Всё ещё не поддерживает расширенные VLAN (1006–4094)
VTP Version 3
- Наиболее продвинутая и безопасная версия
- Поддержка всех диапазонов VLAN (включая расширенные: 1006–4094)
- Поддержка Private VLAN и MST (Multiple Spanning Tree)
- Улучшенное управление и разграничение ролей (Primary Server, Secondary Server)
- Поддержка Authentication Digest (усиленная проверка подлинности)
- Возможность включать или выключать распространение VLAN на определённых интерфейсах
- Не принимает VTP-объявления из старых версий (только если настроено на совместимость)
Управление VLAN через VTP
Знание о том, как создавать, изменять и удалять VLAN с помощью VTP, а также о том, как управлять их свойствами (например, именами и типами), является важным аспектом работы с VTP.
Создание VLAN
Создание новой VLAN осуществляется на VTP-сервере. После этого информация автоматически распространяется на все устройства в том же VTP-домене.
Switch(config)# vlan 10
Switch(config-vlan)# name HR
vlan 10— создаёт VLAN с ID 10name HR— задаёт имя VLAN
Изменение VLAN
Switch(config)# vlan 10
Switch(config-vlan)# name Human_Resources
- Позволяет изменить имя уже существующей VLAN
Удаление VLAN
Switch(config)# no vlan 10
- Удаляет VLAN 10 на сервере, после чего эта VLAN удаляется и на всех клиентах VTP
Проверка VLAN
Switch# show vlan brief
- Показывает все текущие VLAN и их назначение на порты
Особенности управления
- Управлять VLAN можно только на коммутаторах в режиме VTP Server или Transparent
- В режиме Client VLAN нельзя создавать или изменять вручную — они приходят от сервера
- После создания или удаления VLAN автоматически увеличивается Configuration Revision Number, что сигнализирует остальным коммутаторам о необходимости обновления
Управление типами VLAN
Хотя в большинстве случаев администратор работает с Ethernet VLAN, стоит понимать, что существуют и другие типы (FDDI, Token Ring и т.д.), однако они редко используются в современных сетях
Switch(config-vlan)# state active
- Устанавливает VLAN в активное состояние (по умолчанию)
Switch(config-vlan)# mtu 1500
- Настраивает максимальный размер MTU для VLAN (используется редко)
В большинстве случаев для управления достаточно настроить ID и имя VLAN, но знание дополнительных параметров может пригодиться в специфических сценариях.
Синхронизация и обновления
Синхронизация VLAN через VTP осуществляется посредством VTP-объявлений (VTP advertisements), которые передаются между коммутаторами по trunk-соединениям.
Типы VTP-объявлений
- Summary Advertisements — отправляются сервером каждые 5 минут или при изменении конфигурации VLAN. Содержат:
- Номер конфигурации (Revision Number)
- Имя VTP-домена
- Версию VTP
- Подпись аутентификации (если настроена)
- Subset Advertisements — передаются после Summary, содержат подробную информацию о VLAN (номер, имя, состояние и т.д.).
- Advertisement Requests — отправляются клиентами или серверами, если они обнаруживают более новую версию конфигурации у соседа (по номеру ревизии).
Механизм обновления
- Коммутаторы получают VTP-объявления только от устройств в том же VTP-домене.
- Если полученное объявление содержит более высокий Revision Number, коммутатор:
- Заменяет локальную таблицу VLAN полученными данными
- Обновляет номер ревизии
- Если номер ревизии равен или ниже, объявление игнорируется
Опасность рассинхронизации
Если в сеть подключается коммутатор с:
- Тем же доменом,
- Более высокой ревизией,
- Но пустой или устаревшей таблицей VLAN —
то он может "затереть" всю актуальную конфигурацию на остальных коммутаторах. Поэтому перед добавлением новых устройств нужно:
- Очистить
vlan.dat - Сбросить конфигурацию VTP (например, командой
delete vlan.datи перезагрузкой)
Роль Trunk-портов
- VTP-объявления передаются только по trunk-портам.
- Access-порты не участвуют в синхронизации VLAN.
- Поэтому важно, чтобы между коммутаторами были правильно настроены trunk-соединения.
Проверка синхронизации
Switch# show vtp status
- Покажет текущий номер ревизии
- Покажет, был ли принят последний пакет VTP
- Индикация: "Last Updater ID" — IP-адрес устройства, от которого получено последнее обновление
Безопасность
VTP может быть уязвим для атак, таких как:
- Случайное или злонамеренное внесение изменений в VLAN
- Подключение неавторизованных коммутаторов с более высокой версией конфигурации
- Распространение ложной информации по всей сети
Использование пароля VTP
Для предотвращения таких атак необходимо использовать VTP-аутентификацию:
Switch(config)# vtp password securepass
- Все коммутаторы в одном VTP-домене должны использовать одинаковый пароль
- Если пароли не совпадают, VTP-объявления будут игнорироваться
Ограничение роли VTP Server
- Разрешать только одному или ограниченному числу коммутаторов работать в режиме Server
- Все остальные — в режиме Client или Transparent
- Это уменьшит риск непреднамеренного распространения неправильной информации
Очистка конфигурации новых коммутаторов
- Перед добавлением нового устройства необходимо удалить файл
vlan.dat, чтобы избежать распространения старой или пустой конфигурации с более высоким Revision Number:
Switch# delete flash:vlan.dat
Switch# reload
Использование Transparent режима
- Для изоляции критически важных участков сети можно использовать VTP Transparent
- Такие коммутаторы не участвуют в распространении VLAN, но могут передавать объявления другим узлам
Мониторинг VTP
- Постоянно отслеживать статус VTP:
Switch# show vtp status
- Контролировать ревизии, домен и источник последнего обновления
Настройка VTP в Cisco
Подготовка оборудования
Для начала вам потребуется минимум два коммутатора, чтобы продемонстрировать работу VTP. В Cisco Packet Tracer выберите два коммутатора (например, 2960), а также несколько ПК, которые будут подключены к этим коммутаторам.
Создание топологии
- Разместите два коммутатора на рабочем пространстве.
- Подключите их друг к другу через Trunkпорт с использованием кабеля Ethernet.
- Подключите несколько ПК к каждому из коммутаторов для дальнейшей демонстрации.
Настройка VTP
Теперь перейдем к настройке VTP на каждом из коммутаторов.
Коммутатор 1 (VTP Server)
-
Настройте VTP домен: Включите консоль на первом коммутаторе и выполните команду для задания VTP-домена. Мы будем использовать домен с именем "MyVTPDomain".
bash Switch1> enable Switch1# configure terminal Switch1(config)# vtp domain MyVTPDomain -
Установите режим VTP Server: В VTP-домене один коммутатор должен быть в режиме Server, чтобы изменения конфигурации VLAN могли быть распространены. Этот режим активируется по умолчанию.
bash Switch1(config)# vtp mode server -
(Опционально) Установите пароль для VTP: Если вы хотите повысить безопасность, установите пароль для VTP, чтобы коммутаторы обменивались VTP-объявлениями только при совпадении пароля.
bash Switch1(config)# vtp password securepass -
Создание VLAN: На VTP-сервере вы можете создать VLAN. Эти VLAN автоматически будут распространены на другие коммутаторы в том же домене VTP.
bash Switch1(config)# vlan 10 Switch1(config-vlan)# name HRЗдесь создается VLAN с ID 10 и именем "HR". После этого этот VLAN будет доступен на всех коммутаторах в том же VTP-домене.
-
Проверьте настройки VTP: Используйте команду show vtp status, чтобы проверить состояние VTP на коммутаторе:
bash Switch1# show vtp statusУбедитесь, что параметры, такие как домен, режим и номер конфигурации (Revision Number), отображаются корректно.
Коммутатор 2 (VTP Client)
Теперь настроим второй коммутатор как VTP Client. Он будет получать информацию о VLAN от коммутатора VTP Server.
-
Настройка VTP домена на коммутаторе 2:
bash Switch2> enable Switch2# configure terminal Switch2(config)# vtp domain MyVTPDomain -
Установите режим VTP Client: Этот коммутатор будет получать обновления VLAN от сервера. Чтобы установить режим Client, используйте команду:
bash Switch2(config)# vtp mode client -
Проверьте настройки VTP: После настройки проверьте параметры VTP на втором коммутаторе, чтобы убедиться, что он настроен правильно:
bash Switch2# show vtp statusВы должны увидеть, что режим установлен в Client, а домен совпадает с доменом на сервере.
Проверка и тестирование
-
Проверка наличия VLAN: Теперь, когда все настроено, можно проверить, распространились ли VLAN на оба коммутатора. На каждом из коммутаторов выполните команду:
bash Switch1# show vlan briefЭта команда должна показать список всех VLAN, в том числе VLAN 10, который мы создали на VTP-сервере.
-
Подключите ПК и проверите соединение: Подключите ПК к порту каждого из коммутаторов, который принадлежит VLAN 10, и проверьте, могут ли они общаться друг с другом.
Подключение дополнительных коммутаторов
Для добавления дополнительных коммутаторов, повторите шаги для настройки VTP Client на каждом новом коммутаторе и убедитесь, что они используют тот же домен и пароль.
Дополнительные команды и диагностика
-
Проверка статуса VTP:
Для диагностики используйте команду show vtp status, чтобы убедиться, что параметры, такие как домен, режим и номер ревизии, установлены правильно на всех коммутаторах.
bash Switch1# show vtp status -
Отладка VTP:
Если нужно отследить события VTP, можно включить отладку:
bash Switch1# debug sw-vlan vtp events
Мониторинг и диагностика
Умение отслеживать состояние VTP и диагностировать проблемы — ключевая задача сетевого администратора. Несоответствие информации о VLAN между коммутаторами может привести к нарушению работы всей сети.
14.1 Команды мониторинга
Switch# show vtp status
- Показывает текущий VTP-домен, режим, номер ревизии, последнего обновлявшего коммутатора и другие параметры
Switch# show vlan brief
- Отображает список VLAN, их ID и назначение портов
Switch# show vtp password
- Показывает установленный пароль (если задан)
Switch# debug sw-vlan vtp events
- Включает отладку событий VTP, отображает отправку и получение VTP-объявлений в реальном времени
14.2 Частые проблемы и их диагностика
Проблема: VLAN не распространяются
- Проверьте trunk-порты (должны быть активны)
- Убедитесь, что коммутаторы находятся в одном VTP-домене
- Проверьте пароль VTP (если используется)
- Убедитесь, что один из коммутаторов — в режиме Server
Проблема: VLAN исчезли после подключения нового коммутатора
- Вероятно, новый коммутатор имел более высокий номер ревизии, но пустую таблицу VLAN
- Решение: удалить
vlan.datи сбросить номер ревизии перед подключением к сети
14.3 Лучшие практики диагностики
- Постоянно контролируйте
Revision Number - При любых изменениях логируйте действия на сервере VTP
- Используйте отладку (
debug) для анализа сложных случаев - Перед внедрением изменений — создавайте резервную копию конфигурации VLAN
Лучшие практики и безопасность
- Используйте VTP Version 3 — улучшенная безопасность
- Устанавливайте пароль VTP
- Избегайте автоматического присоединения коммутаторов к сети
- Используйте Transparent Mode для пограничных устройств
- Резервное копирование VLAN базы данных (
vlan.dat)
Заключение
VTP — мощный инструмент централизованного управления VLAN, но требует осторожности и понимания принципов работы. Его неправильная настройка может привести к серьёзным сбоям в работе сети.