Vtp cisco что это
Vtp cisco что это
Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.
VLAN Trunking Protocol (VTP) — проприетарный протокол компании Cisco Systems, предназначенный для создания, удаления и переименования VLANов на сетевых устройствах. Передавать информацию о том, какой порт находится в каком VLANе, он не может.
Аналогичный свободный протокол: GVRP
Содержание
[править] Описание протокола
[править] Версии протокола
Версия 3 VTP доступна:
[править] Сообщения VTP
[править] Режимы работы протокола
На коммутаторе VTP может работать в трёх режимах:
В версии 3 VTP добавился новый режим работы и изменились некоторые режимы работы, по сравнению с предыдущими версиями:
[править] Диапазоны VLAN
[править] VLAN database
Сервера VTP должны иметь возможность сохранять информацию, полученную в обновлениях VTP от других серверов, без участия администратора. Для этого в коммутаторах Cisco под управлением IOS используется VLAN database. Это отдельный файл, который хранится во флеш и называется vlan.dat.
При обнулении конфигурации коммутатора, VLAN database не затрагивается, поэтому зачастую получается, что информация о VLAN и настройках VTP сохраняется после обнуления и перезагрузки коммутатора. Для того чтобы удалить VLAN database необходимо удалить файл vlan.dat.
Можно изменить название файла в котором хранится VLAN database:
[править] Настройка VTP на коммутаторах Cisco
[править] Настройка VTP версии 2
Имя VTP-домена (от 1 до 32 символов):
Настройка пароля, который будет использоваться для аутентификации в VTP-домене (от 1 до 32 символов):
Настройка второй версии протокола VTP:
Настройка режима VTP:
[править] Настройка VTP версии 3
Версия 3 VTP доступна:
Имя VTP-домена (от 1 до 32 символов):
Настройка пароля, который будет использоваться для аутентификации в VTP-домене (от 1 до 32 символов):
Настройка версии протокола VTP:
Если настроены VLAN расширенного (extended) диапазона, переводить VTP обратно в версию 2 или 1 из третьей запрещается.
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Протокол VTP
Передача информации о VLAN
Полный курс по Сетевым Технологиям
В курсе тебя ждет концентрат ТОП 15 навыков, которые обязан знать ведущий инженер или senior Network Operation Engineer
Для начала вспомним что же такое VLAN. VLAN – это Virtual Local Area Network, что дословно переводится как “виртуальная локальная сеть”. При создании VLAN’а хосты физической сети, объединенные общей функцией, выделяются в логическую виртуальную сеть, при этом их физическое местонахождение не имеет значения. Обычно VLAN настраивается на сетевом коммутаторе, по средствам добавления портов, за которыми находятся хосты подлежащие объединению, в группу. Выглядит это примерно так:
На слайде приведен случай, когда на коммутаторе настроено два VLAN’a. Порты с 1 по 3 принадлежат VLAN’у 10, а порты с 6 по 8 находятся во VLAN’е 20.
Команды, которые вводил администратор для такой конфигурации, примерно такие:
Как видите набор команд довольно простой, но администратор вводил их на единственном коммутаторе. Хосты реальных VLAN’ов могут быть рассредоточены по сети и находиться за разными устройствами, как показано на рисунке:
Как видно из рисунка хосты принадлежащие VLAN 10 рассредоточены по сети, они находятся как за коммутатором 1 так и за коммутатором 3. Для того, чтобы они могли корректно взаимодействовать, администратору вручную придется создавать VLAN на каждом устройстве и добавлять в них порты. Реальные сети могут содержать ещё больше VLAN сетей и каждую необходимо прописать вручную, в следствие чего растет вероятность допущения ошибок в конфигурации, которая может привести перекрестному соединению и многочисленным несогласованностям.
Для того чтобы исключить вероятность таких ошибок и был разработан протокол VTP, который позволяет устройствам автоматически делиться информацией о настроенных на них VLAN’ах и самостоятельно вносить изменения в конфигурацию.
Режимы работы VTP
VTP коммутатор имеет два режима работы:
В этом режиме можно создавать новые и вносить изменения в существующие VLAN’ы.
Коммутатор будет обновлять свою базу VLAN’ов и сохранять информацию о настройках во Flashпамяти в файле vlan.dat.
Генерирует и передает сообщения как от других коммутаторов, работающих в режиме сервера, так и от клиентов
Коммутатор в этом режиме будет передавать информацию о VLAN’ах полученную от других коммутаторов и синхронизировать свою базу VLANпри получении VTPобновлений. Настройки нельзя будет поменять через командную строку такого устройства. 3) Transparent
В данном режиме коммутатор будет передавать VTPинформацию другим участникам, не синхронизируя свою базу и не генерируя собственные обновления. Настройки VLAN можно поменять лишь для локального коммутатора.
Типы сообщений VTP
В VTPсуществует три типа сообщений:
Представляет из себя запрос от клиента к серверу на оповещение SummaryAdvertisement
Данное сообщение по умолчанию сервер отправляет каждые 5 минут или сразу же после изменения конфигурации.
Отправляется сразу же после изменения конфигурации VLAN, а также после запроса на оповещение.
Стоит отметить, что VTPкоммутатор, который получает информацию о новых VLAN’ах, внесет ее в свою конфигурацию только в том случае, если сообщение пришло от коммутатора с большим номером ревизии.
Номер ревизии это некий идентификатор “свежести” базы VLAN. Коммутатор воспринимает базу с наивысшим номером ревизии как самую “свежую” и вносит изменения в свою конфигурацию.
Протокол VTPявляется проприетарным, т.е закрытым. Он сильно облегчает жизнь администраторам, работающим с оборудованием Cisco.
Онлайн курс по Кибербезопасности
Изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии
Протокол VTP v1/2 – реализация и настройка
История протокола VTP достаточно продолжительна – первый раз он появляется в CatOS 2.1 (это Cisco Catalyst 2900 и 5000), после чего слегка модернизируется до второй версии и живёт очень долго. Третья версия, в которой реально много полезных изменений, вышла несколько лет назад, но до сих пор не поддерживается на многих устройствах начального уровня. Однако это не обозначает, что её не нужно изучать.
Изучение данного протокола то добавляется фирмой Cisco в треки CCNA Routing and Switching и CCNP Routing and Switching, то убирается – поэтому у нас он дополнительно изучается как на курсах Cisco ICND2 3.0 и Cisco SWITCH 2.0, так и в составе трека Advanced CCNA и в части углублённых вопросов – в отдельном занятии трека Advanced CCNP.
Поэтому имеет смысл разово изучить VTP, чтобы разобраться что и как.
Оглавление
Зачем нужен VTP
Ключевое назначение протокола VTP – это решать вопрос синхронизации базы данных с информацией о VLAN’ах между коммутаторами в кампусной сети предприятия. В данном процессе, кстати, могут участвовать и маршрутизаторы – в случае, если у них установлена специальная карта, являющаяся по сути мини-коммутатором (т.н. switchboard – например, достопочтимая NM-16ESW, благодаря которой и dynamips иногда за коммутатор сойдёт).
Протокол VTP помогает упрощать операции с VLAN’ами в организации – добавление, удаление, изменение параметров, а также оптимизирует сетевой трафик, благодаря наличию функции vtp pruning. VTP современной версии – третьей – ещё и помогает жить протоколу MST (который 802.1s), плюс исправляет древние проблемы с безопасностью у VTP первой и второй версий.
Логическая модель работы VTP
Cisco VTP объединяет физически напрямую подключённые друг к другу коммутаторы (т.е. не через роутер или другой свич, не поддерживающий VTP) в именованные области, называемые доменами VTP. В одной организации таких доменов может быть несколько, главное – чтобы они непосредственно не контачили друг с другом, т.к. процедура междоменного взаимодействия не проработана. Предполагается, что VTP используется в “классической” кампусной сети, где много коммутаторов и есть задача “чтобы можно было подключить абонента в нужный VLAN на любом коммутаторе”. У современных сетей такая конструкция встречается всё реже и реже, она вытесняется L3-связями у distribution-коммутаторов и другими моделями взаимодействия, которые обеспечивают большую гибкость и скорость передачи данных по внутренней сети благодаря уходу от L2-доменов со Spanning Tree на топологии с L3-связями и ECMP.
Как технически реализован протокол VTP
Технологически протокол VTP реализован как SNAP-вложение в кадры ISL или 802.1Q. Работать может на 802.3 (Ethernet) и 802.5 (Token Ring). А также поверх LANE, но, надеюсь, эта некрофилия вас не коснётся.
Замечу, что про 802.1Q можно почитать в статье про 802.1Q и 802.1ad или посмотреть на нашем YouTube вебинар из серии Advanced CCNA про типы транкинга.
Роли устройств в домене VTP
Понятное дело, что в сети надо иметь хотя бы 1 устройство с ролью VTP сервера – а если коммутатор в сети всего один, то имеет смысл включить его сразу в режим VTP transparent. Вообще, “прозрачный режим” удобен тем, что коммутатор, если принимает кадр протокола VTP на любом порту, сразу передаёт этот кадр на все остальные транковые порты – просто ретранслирует этот кадр, не обрабатывая его. Этим (переключением в vtp transparent mode) заранее ликвидируется потенциальная возможность, что какой-то другой коммутатор злонамеренно повлияет на конфигурацию. Как понятно, это всё – только на портах в режиме транка.
Хранение информации о VLAN’ах и их настройках
Домены VTP
Домены VTP, как уже указано выше – это подмножества непосредственно подключенных друг к другу коммутаторов.
Для идентификации принадлежности устройства к домену VTP используется сравнение названия домена и хэша пароля (безусловно, не друг с другом, а между устройствами – т.е. оба этих параметра должны совпадать, чтобы VTP-устройства могли корректно общаться). Название домена VTP – это текстовая строка длиной до 32 байт (в случае, если название короче, оно добивается нулями – zero-padding), пароль – тоже текстовая строка, в чистом виде в сети не передающаяся, хранящаяся в случае работы устройства в роли VTP Server в файле vlan.dat, а в случае работы в режиме VTP Transparent – в NVRAM.
Обратите внимание на следующие два важных момента. Первый – то, что название домена является case-sensitive, потому что строки сравниваются побайтово. Поэтому коммутаторы из домена Domain и из домена DOMAIN работать друг с другом не будут. Второй – работа с паролем. В кадрах передаётся хэш пароля, а не хэш кадра. Поэтому этот пароль нужен только для идентификации принадлежности к домену и никак не подтверждает целостность сообщения VTP. Его можно просто разово заснифить и добавлять в VTP-сообщения для придания им “легитимности”.
Примечание: Также для успешной связи двух коммутаторов необходимо, чтобы у них были одинаковые версии протокола VTP. Что, в общем-то, логично.
Примечание: Даже если Вы не используете протокол VTP как таковой по его основной задаче – синхронизации базы VLAN’ов, то Вам желательно, чтобы коммутаторы обладали одинаковыми настройками VTP в части имени домена. Причина – протокол динамического согласования транков – DTP – отправляет в ходе процедуры анонса имя VTP-домена, и в случае, если имя не совпадает, согласование не происходит. Т.е. два коммутатора, “смотрящие” друг на друга портами в режиме dynamic auto, в случае разных VTP-доменов просто не смогут согласовать транк. Решений будет несколько – отключить автосогласование ( switchport mode trunk ), отключить DTP ( switchport nonegotiate ), или всё ж выставить одинаковые имена доменов.
Что же передают друг другу коммутаторы, обладающие ролями VTP Client и VTP Server?
Как работает протокол VTP
Протокол VTP в основном занимается полезной вещью – он передаёт базу данных VLAN между устройствами. Делает он это в следующих случаях:
Примечание: В случае, если у Вас коммутатор, записи в VLAN database идут сразу же – т.е. создали Вы VLAN, допустим – сразу разошлось уведомление. Если маршрутизатор со свичкартой – то Вы вначале вносите изменения “пачкой”, а после выполняете команду APPLY, и только когда она успешно применится, будет разослан анонс.
Заметьте, что хоть стартовым инициатором рассылки VTP может быть только устройство с ролью VTP Server, но пересылать обновление могут любые коммутаторы – т.е. устройству с ролью VTP Client совсем необязательно быть непосредственно подключённому к VTP Server. Клиент, получив от сервера рассылку с новой версией базы данных VLAN’ов, передаст её на все другие транковые порты, за которыми опять же могут быть другие VTP Client’ы и VTP Transparent, и так – до упора. Ограничения стандарта 802.1D на максимальный диаметр “поля” коммутаторов здесь не действуют.
Итак, обновление базы данных – штука достаточно несложная. Вы – VTP Server, на Вас обновлена БД vlan’ов, Вы разослали во все транковые порты анонс, все коммутаторы, поддерживающие VTP, его прочитали, и, если они VTP Client или VTP Server, то применили к себе и отправили дальше, а если VTP Transparent – то не применили к себе, но отправили дальше. Как же определяется, какая база данных актуальнее? При помощи системы версий.
У каждой базы vlan’ов будет своя версия. В случае, если устройством получено обновление, которое старше по номеру, чем имеющаяся БД, то имеющаяся БД заменяется новой. Целиком, без всяких join/merge.
Также весьма полезной функцией VTP будет являться т.н. pruning:
VTP Pruning
Базовая настройка протокола VTP
Первым делом – нарисуйте топологию сети, в которой собираетесь применять протокол VTP. Посмотрите, какие версии протокола поддерживаются устройствами (обычно везде есть VTPv2). Выберите устройство, которое будет сервером (ему не надо быть каким-то особо быстрым, это не STP, специфической нагрузки на VTP Server нет, ему лишь желательно обладать максимальным uptime). Если не хотите использовать VTP (например, из соображений безопасности) – тогда просто переведите все устройства в режим VTP Transparent (либо off, если поддерживается оборудованием и ОС).
Настройка имени домена VTP
Примечание: Ну, конечно, не “всё” совсем. Перезагрузите устройство, зайдите в rommon, сотрите файл vlan.dat, и всё ОК – настройки VTP у держателя роли VTP Server хранятся там, поэтому он всё сразу “забудет”.
Настройка пароля VTP
Настройка версии VTP
Настройка VTP pruning
Настройка режима VTP
Расширенная настройка протокола VTP
Настройка дополнительных полезных опций VTP
Устранение неисправностей (troubleshooting) протокола VTP
Проверяем каналы между коммутаторами
Проверяем настройки VTP
Теперь чуть подробнее об известном артефакте поведения протокола VTP
Проблема добавления нового коммутатора
Как Вам уже известно, новый коммутатор при добавлении делает следующее – он слушает трафик VTP и при получении первого же advertisement берёт из него настройки (имя домена и пароль). Также известно, что дефолтная настройка коммутатора – это режим VTP Server (т.е. когда Вы достаёте коммутатор из коробки, Вы сразу можете на нём создавать VLAN’ы, в случае VTP Client это было бы невозможно).
Соответственно, возможна неприятная ситуация. Состоит она в том, что можно взять коммутатор, заранее его сконфигурировать, внеся больше изменений, чем есть сейчас в инфраструктурном VTP, задать правильные параметры домена и подключить к сети. Тогда коммутатор своей базой затрёт существующую. Почему так произойдёт и как это может быть? Рассмотрим подробнее.
Вы покупаете новый коммутатор и вводите его в эксплуатацию. Отдельно от других, которые работают в VTP. Ну, вот так сложилось – допустим, в филиале организации его ставите, где он не является непосредственно подключенным к другим коммутаторам. ОК, начинаете с ним работать. Работаете интенсивно – добавляете на него vlan’ы, удаляете их, переименовываете. Каждое действие плюсует единицу к revision number. Вдруг через некоторое время возникает ситуация – филиал закрывается. Коммутатор перевозят в основной офис и Вы подключаете его к другим. И тут выясняется следующее. У данного коммутатора ревизия числовО выше, чем у местного VTP Server. Имя домена и пароль совпадают. Как только транк поднимается, новый коммутатор выстреливает advertisement, который начинают слушать все остальные коммутаторы и ретранслировать дальше. Это штатный функционал – Вы не можете ограничить получение VTP-данных только от одного, “правильного” сервера. Соответственно, эта волна накрывает все коммутаторы в режиме Client и тот, который в Server. Это тоже штатное поведение – VTP Server, получив VTP-данные с бОльшим номером ревизии, чем у себя, перезаписывает свою базу. И всё, Вы имеете большие проблемы – вместо Вашей базы VLAN’ов у Вас на всех коммутаторах та, которая была в филиале.
Чтобы избежать этого, можно поступить по-разному. Например, не делать у этого коммутатора имя домена и пароль, как в основной VTP-сети. Но можно и проще – ведь чтобы этого всего не произошло, надо просто сбросить номер ревизии. Для этого достаточно переименовать домен у коммутатора в какое-нибудь временное название и после вернуть назад. Ревизия сбросится. После не забудьте включить режим VTP Client.
Как понятно, именно из-за этой ситуации использование VTP в production-сети с высоким уровнем безопасности является нежелательным. Злоумышленник может провести достаточно простую атаку – ему хватит доступа к транковому порту и возможности отправить, допустим, vtp-уведомление о том, что пришла база с версией 10000 и одним vlan’ом, и всё – вся VTP-инфраструктура примет это как нормальное положение вещей и остальные vlan’ы пропадут. Поэтому в безопасных сетях все коммутаторы работают в VTP transparent, где такая ситуация невозможна в принципе.
Протокол VTPv3
Третья версия протокола принесла множество изменений и нововведений. Например:
Поддержка полного диапазона VID в 802.1Q
Протоколы VTP первой и второй версии поддерживали только первую тысячу VLAN’ов. VTPv3 работает со всем диапазоном, от 1 до 4094го.
Поддержка Private VLAN
Если Вы использовали private vlan (т.е. назначали порты как promiscuous / isolated / community и определяли их в отдельные группы), то Вы знаете, что VTP не работал с этим механизмом. Третья версия работает.
Поддержка 802.1s (MST)
Теперь через VTP можно обмениваться данными не только БД vlan’ов, но и базу маппингов MST, что значительно упрощает конфигурирование 802.1s
Настраиваем VTPv3
VTP Version capable : 1 to 3 VTP version running : 3
Ну, а подробно разобрать VTPv3 придётся в отдельной статье – иначе эта превратится в мини-книжку.
Вот, кстати, ссылка на неё: Протокол VTPv3.
Тренинг Cisco 200-125 CCNA v3.0. День 14. VTP, Pruning и Native VLAN
Сегодня мы продолжим рассмотрение VLAN и обсудим протокол VTP, а также понятия VTP Pruning и Native VLAN. В одном из предыдущих видео мы уже говорили о VTP, и первое, что должно прийти вам на ум, когда вы слышите о VTP, это то, что он не является протоколом транкинга, несмотря на то, что называется «протоколом транкинга VLAN».
Как вы знаете, существует два популярных протокола транкинга – не используемый сегодня проприетарный протокол Cisco ISL и протокол 802.q, который используется в сетевых устройствах различных производителей для инкапсуляции транкинг-трафика. Этот протокол также применяется в свитчах Cisco. Мы уже говорили, что VTP – это протокол синхронизации VLAN, то есть он предназначен для синхронизации базы данных VLAN во всех свитчах сети.
Мы упоминали о различных режимах VTP – server, client, transparent. Если устройство использует режим сервера, это позволяет вносить изменения, добавлять или удалять VLAN. Режим клиента не позволяет вносить изменения в настройки свитча, вы можете настроить базу данных VLAN только через VTP-сервер, и она будет реплицирована на всех VTP-клиентах. Свитч в режиме transparent не вносит изменений в собственную базу данных VLAN, а просто пропускает через себя и передает изменения следующему устройству, находящемуся в режиме client. Этот режим похож на отключение протокола VTP на конкретном устройстве, превращающее его в транспортировщика информации об изменениях VLAN.
Вернемся к программе Packet Tracer и к топологии сети, рассмотренной на предыдущем уроке. Мы настроили сеть VLAN10 для отдела продаж и сеть VLAN20 отдела маркетинга, объединив их тремя свитчами.
Между свитчами SW0 и SW1 осуществляется связь по сети VLAN20, а между SW0 и SW2 – связь по сети VLAN10 благодаря тому, что мы добавили VLAN10 в базу данных VLAN свитча SW1.
Для того, чтобы рассмотреть работу протокола VTP, давайте используем один из свитчей в качестве VTP-сервера, пусть это будет SW0. Если вы помните, по умолчанию все свитчи работают в режиме VTP-сервера. Зайдем в терминал командной строки свитча и введем команду show vtp status. Вы видите текущую версию протокола VTP – 2 и номер ревизии конфигурации 4. Если вы помните, каждый раз, когда в базу данных VTP вносятся изменения, номер ревизии увеличивается на единицу.
Максимальное число поддерживаемых сетей VLAN равно 255. Это число зависит от марки конкретного свитча Cisco, так как разные свитчи могут поддерживать разное количество локальных виртуальных сетей. Число существующих сетей VLAN равно 7, через минуту мы рассмотрим, что это за сети. Режим управления VTP – сервер, имя домена не задано, режим VTP Pruning отключен, мы вернемся к этому позже. Отключены также режимы VTP V2 и VTP Traps Generation. Для сдачи экзамена 200-125 CCNA вам не нужно знать о двух последних режимах, так что можете о них не беспокоиться.
Давайте взглянем на базу данных VLAN, для чего используем команду show vlan. Как мы уже видели в предыдущем видео, у нас имеется 4 неподдерживаемые сети: 1002, 1003, 1004 и 1005.
Здесь также перечислены 2 созданные нами сети VLAN10 и 20 и сеть по умолчанию VLAN1. Теперь перейдем к другому свитчу и введем такую же команду, чтобы просмотреть статус VTP. Вы видите, что номер ревизии у этого свитча равен 3, он находится в режиме VTP-сервера и вся остальная информация аналогична первому свитчу. Когда я введу команду show VLAN, то увижу, что мы произвели 2 изменения в настройках, на одно меньше, чем у свитча SW0, вот почему номер ревизии SW1 равен 3. Мы произвели 3 изменения в настройках по умолчанию первого свитча, поэтому его номер ревизии увеличился до 4.
Теперь посмотрим на статус SW2. Номер ревизии здесь равен 1, и это странно. У нас должна быть вторая ревизия, потому что было произведено 1 изменение настроек. Посмотрим на базу данных VLAN.
Мы сделали одно изменение, создав сеть VLAN10, и я не знаю, почему это информация не обновилась. Возможно, это произошло из-за того, что у нас не настоящая сеть, а программный симулятор сети, в котором могут быть ошибки. Когда у вас появится возможность работать с настоящими устройствами во время практики в подразделении компании Cisco, это поможет вам больше, чем симулятор Packet Tracer. Еще одной полезной вещью при отсутствии реальных устройств будет GNC3, или графический симулятор сети Cisco. Это эмулятор, который использует настоящую операционную систему устройства, например, роутера. Между симулятором и эмулятором существует разница – первый представляет собой программу, которая выглядит как настоящий роутер, но не является им. Эмулятор программно создает только само устройство, но для его работы использует реальное программное обеспечение. Но если у вас нет возможности работать с реальным ПО Cisco IOS, лучшим вариантом будет Packet Tracer.
Итак, нам нужно настроить SW0 как VTP-сервер, для этого я захожу в режим глобальной конфигурации настроек и ввожу команду vtp version 2. Как я говорил, мы можем установить ту версию протокола, которая нам нужна – 1 или 2, в данном случае нам нужна вторая версия. Далее командой vtp mode мы задаем VTP режим свитча – сервер, клиент или transparent. В данном случае нам нужен режим сервера, и после ввода команды vtp mode server система выдает сообщение, что устройство уже находится в режиме сервера. Далее мы должны настроить VTP-домен, для чего используем команду vtp domain nwking.org. Зачем это нужно? Если в сети имеется другое устройство с большим номером ревизии, все остальные устройства с меньшим номером начинают реплицировать базу данных VLAN с этого устройства. Однако это происходит только в том случае, когда устройства имеют одинаковое доменное имя. Например, если вы работаете в nwking.org, вы указываете этот домен, если в Cisco, то домен сisco.com и так далее. Доменное имя устройств вашей компании позволяет отличить их от устройств другой компании или любых других внешних устройств сети. Если вы присваиваете устройству доменное имя компании, то делаете его частью сети этой компании.
Следующее, что нужно сделать – это установить пароль VTP. Он нужен для того, чтобы хакер, обладая устройством с большим номером ревизии, не смог скопировать свои настройки VTP на ваш свитч. Я ввожу пароль cisco с помощью команды vtp password cisco. После этого репликация данных VTP между свитчами будет возможна только при совпадении паролей. Если будет использован неправильный пароль, обновления базы данных VLAN не произойдёт.
Давайте попробуем создать еще несколько VLAN. Для этого я использую команду config t, командой vlan 200 создаю сеть под номером 200, присваиваю ей имя TEST и сохраняю изменения командой exit. Затем я создаю ещё одну сеть vlan 500 и называю её TEST1. Если сейчас ввести команду show vlan, то в таблице виртуальных сетей свитча можно увидеть эти две новые сети, к которым не приписано ни одного порта.
Давайте перейдём с SW1 и посмотрим его VTP-статус. Мы видим, что здесь ничего не изменилось, кроме имени домена, число сетей VLAN осталось равным 7. Мы не видим появления созданных нами сетей, потому что пароль VTP не совпадает. Давайте установим пароль VTP на этом свитче, последовательно введя команды conf t, vtp pass и vtp password сisco. Система выдала сообщение, что база данных VLAN устройства теперь использует пароль сisco. Еще раз взглянем на статус VTP, чтобы проверить, прошла ли репликация информации. Как видите, число существующих VLAN автоматически увеличилось до 9.
Если посмотреть на базу данных VLAN этого свитча, то видно, что в ней автоматически появились созданные нами сети VLAN200 и VLAN500.
То же самое нужно проделать с последним свитчем SW2. Введем команду show vlan – вы видите, что в ней не произошло никаких изменений. Аналогично нет никаких изменений в статусе VTP. Для того, чтобы данный свитч обновил информацию, нужно также настроить пароль, то есть ввести те же команды, что и для SW1. После этого число сетей VLAN в статусе SW2 увеличится до 9.
Вот для чего нужен протокол VTP. Это отличная штука, обеспечивающая автоматическое обновление информации во всех клиентских сетевых устройствах после внесения изменений в устройство-сервер. Вам не нужно вручную вносить изменения в базу данных VLAN всех свитчей – репликация происходит автоматически. Если у вас имеется 200 сетевых устройств, внесенные изменения одновременно сохранятся на всех двухстах устройствах. На всякий случай нам нужно убедиться, что SW2 также является VTP-клиентом, поэтому зайдем в настройки командой config t и введем команду vtp mode client.
Таким образом, в нашей сети только первый свитч находится в режиме VTP Server, два остальных работают в режиме VTP Client. Если я сейчас я войду в настройки SW2 и введу команду vlan 1000, то получу сообщение: «настройка VTP VLAN не разрешена, когда устройство находится в режиме client». Таким образом, я не могу вносить никаких изменений в базу данных VLAN, если свитч находится в режиме VTP-клиента. Если я хочу внести какие-то изменения, мне нужно перейти на свитч-сервер.
Я захожу в настройки терминала SW0 и ввожу команды vlan 999, name IMRAN и exit. Эта новая сеть появилась в базе данных VLAN данного свитча, и если я теперь перейду в базу данных свитча-клиента SW2, то увижу, что здесь появилась та же самая информация, то есть произошла репликация.
Как я сказал, VTP является отличной частью программного обеспечения, но при неправильном использовании этот протокол способен нарушить работу целой сети. Поэтому вам нужно очень осторожно обращаться с сетью компании, если имя домена и пароль VTP не заданы. В этом случае все, что нужно хакеру – это вставить кабель своего свитча в сетевую розетку на стене, подсоединиться к любому офисному свитчу по протоколу DTP и затем, используя созданный транк, обновить всю информацию по протоколу VTP. Так хакер сможет удалить все важные сети VLAN, пользуясь тем, что номер ревизии его устройства выше номера ревизии остальных свитчей. При этом свитчи компании автоматически заменят всю информацию базы данных VLAN информацией, реплицированной с вредоносного свитча, и вся ваша сеть рухнет.
Это связано с тем, что компьютеры с помощью сетевого кабеля подсоединены к конкретному порту свитча, к которому привязана сеть VLAN 10 или сеть VLAN20. Если эти сети будут удалены из базы данных LAN свитча, то он автоматически отключит порт, принадлежащий несуществующей сети. Обычно сеть компании может рухнуть именно потому, что свитчи просто отключат порты, связанные с VLAN, которые были удалены при очередном обновлении.
Для того, чтобы предотвратить возникновение такой проблемы, нужно установить доменное имя и пароль VTP или же использовать функцию Cisco Port Security, которая позволяет управлять MAC-адресами портов свитчей, вводя различные ограничения по их использованию. Например, если кто-то посторонний попробует изменить MAC-адрес, порт немедленно отключится. Очень скоро мы вплотную познакомимся с этой функцией коммутаторов Cisco, а сейчас вам достаточно знать, что Port Security позволяет убедиться в том, что VTP защищен от злоумышленника.
Теперь поговорим о настройках VTP Pruning. Если посмотреть на топологию сети, можно увидеть, что все три свитча имеют одинаковую базу данных VLAN, это означает, что сети VLAN10 и VLAN20 являются частью всех 3-х свитчей. Технически свитчу SW2 не нужна сеть VLAN20, потому что у него нет портов, относящихся к этой сети. Однако независимо от этого весь трафик, направленный из компьютера Laptop0 по сети VLAN20 попадает на свитч SW1 и от него по транку поступает на порты SW2. Ваша основная задача как сетевого специалиста – сделать так, чтобы по сети передавалось как можно меньше лишних данных. Вы должны обеспечить передачу необходимых данных, но как ограничить передачу информации, которая не нужна данному устройству?
Вы должны убедиться в том, что трафик, предназначенный для устройств сети VLAN20, не будет поступать на порты SW2 через транк, когда этого не требуется. То есть трафик Laptop0 должен доходить до SW1 и далее к компьютерам сети VLAN20, но не должен выходить за пределы правого транк-порта SW1. Это можно обеспечить с помощью VTP Pruning.
Для этого нам нужно зайти в настройки VTP-сервера SW0, потому что как я уже говорил, настройки VTP можно производить только через сервер, зайти в глобальные настройки конфигурации и набрать команду vtp pruning. Поскольку Packet Tracer это всего лишь программа-симулятор, в её подсказках для командной строки такой команды нет. Однако когда я наберу vtp pruning и нажму «Ввод», система сообщит, что режим vtp pruning недоступен.
Использовав команду show vtp status, мы увидим, что режим VTP Pruning находится в состоянии disabled, поэтому нам нужно сделать его доступным, переведя в положение enable. Сделав это, мы активируем режим VTP Pruning на всех трех свитчах нашей сети в пределах сетевого домена.
Позвольте мне напомнить, что такое VTP Pruning. Когда мы включаем этот режим, свитч-сервер SW0 сообщает свитчу SW2, что на его портах настроена только сеть VLAN10. После этого свитч SW2 сообщает свитчу SW1, что ему не нужен никакой трафик кроме трафика, предназначенного для сети VLAN10. Теперь благодаря VTP Pruning свитч SW1 обладает информацией, что ему не нужно посылать трафик VLAN20 по транку SW1-SW2.
Для вас как администратора сети это очень удобно. Вам не нужно вручную вводить команды, так как свитч достаточно умен, чтобы посылать именно то, что требуется конкретному сетевому устройству. Если завтра вы разместите в соседнем здании еще одно подразделение сотрудников отдела маркетинга и подсоедините его сеть VLAN20 к свитчу SW2, этот свитч немедленно сообщит свитчу SW1, что теперь у него имеются сети VLAN10 и VLAN20, и попросит передавать ему трафик для обеих сетей. Эта информация постоянно обновляется на всех устройствах, что делает связь более эффективной.
Есть ещё один способ конкретизировать передачу трафика – это использовать команду, которая разрешает передачу данных только для указанной VLAN. Я захожу в настройки свитча SW1, где меня интересует порт Fa0/4, и ввожу команды int fa0/4 и switchport trunk allowed vlan. Поскольку я уже знаю, что SW2 имеет только VLAN10, я могу указать свитчу SW1, чтобы его транк-порт пропускал только трафик для этой сети, применив команду allowed vlan. Таким образом, я запрограммировал транк-порт Fa0/4 на передачу трафика только для VLAN10. Это означает, что данный порт не пропустит дальше трафик VLAN1, VLAN20 или какой-либо другой сети, кроме указанной.
Вы можете спросить, что лучше использовать — VTP Pruning или команду allowed vlan. Ответ носит субъективный характер, потому что в некоторых случаях имеет смысл использовать первый способ, а в некоторых – второй. Как администратор сети, вы сами должны выбрать оптимальное решение. В каких-то случаях решение запрограммировать порт на пропуск трафика определенной VLAN может быть хорошим, а в каких-то – плохим. В случае нашей сети использование команды allowed vlan может быть оправданным, если мы не собираемся менять топологию сети. Но если кто-либо в дальнейшем захочет добавить к SW 2 группу устройств, использующих VLAN20, более целесообразно применить режим VTP Pruning.
В последней команде можно использовать 5 параметров. All означает, что разрешена передача трафика всех сетей VLAN, none – передача трафика для всех VLAN запрещена. Если использовать параметр add, можно добавить пропуск трафика для еще одной сети. Например, у нас разрешен трафик VLAN10, а командой add можно разрешить также пропуск трафика сети VLAN20. Команда remove позволяет удалить одну из сетей, например, если использовать параметр remove 20, останется только передача трафика VLAN10.
Теперь рассмотрим native VLAN. Мы уже говорили, что native VLAN представляет собой виртуальную сеть для пропуска нетегированного трафика через конкретный транк-порт.
Вернемся к логической топологии сети в окне Packet Tracer. Если я использую команду switchport trunk native vlan 20 для порта свитча Fa0/4, то весь трафик сети VLAN20 будет проходить по транку Fa0/4 – SW2 нетегированным. Когда свитч SW2 получит этот трафик, то подумает: «это нетегированный трафик, значит, я должен направить его в сеть native VLAN». Для этого свитча native VLAN – это сеть VLAN1. Сети 1 и 20 никак не связаны, но поскольку используется режим native VLAN, у нас появляется возможность направить трафик VLAN20 в совершенно другую сеть. Однако этот трафик будет некапсулированным, а сами сети все равно должны совпадать.
Давайте рассмотрим это на примере. Я войду в настройки SW1 и использую команду switchport trunk native vlan 10. Теперь любой трафик VLAN10 будет исходить из транк-порта нетегированным. Когда он достигнет транк-порта SW2, свитч поймет, что должен направить его в VLAN1. Вследствие такого решения трафик не сможет достичь компьютеров PC2, 3 и 4, так как они подключены к access-портам свитча, предназначенным для VLAN10.
Технически это вызовет появление сообщения системы о том, что native VLAN порта Fa0/4, который является частью VLAN10, не совпадает с портом Fa0/1, который выступает частью VLAN1. Это означает, что указанные порты не смогут работать в режиме транка из-за несовпадения native VLAN.