Хабрахабр

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 14. VTP, Pruning и Native VLAN

Сегодня мы продолжим рассмотрение VLAN и обсудим протокол VTP, а также понятия VTP Pruning и Native VLAN. В одном из предыдущих видео мы уже говорили о VTP, и первое, что должно прийти вам на ум, когда вы слышите о VTP, это то, что он не является протоколом транкинга, несмотря на то, что называется «протоколом транкинга VLAN».

Этот протокол также применяется в свитчах Cisco. Как вы знаете, существует два популярных протокола транкинга – не используемый сегодня проприетарный протокол Cisco ISL и протокол 802.q, который используется в сетевых устройствах различных производителей для инкапсуляции транкинг-трафика. Мы уже говорили, что VTP – это протокол синхронизации VLAN, то есть он предназначен для синхронизации базы данных VLAN во всех свитчах сети.

Если устройство использует режим сервера, это позволяет вносить изменения, добавлять или удалять VLAN. Мы упоминали о различных режимах VTP – server, client, transparent. Свитч в режиме transparent не вносит изменений в собственную базу данных VLAN, а просто пропускает через себя и передает изменения следующему устройству, находящемуся в режиме client. Режим клиента не позволяет вносить изменения в настройки свитча, вы можете настроить базу данных VLAN только через VTP-сервер, и она будет реплицирована на всех VTP-клиентах. Этот режим похож на отключение протокола VTP на конкретном устройстве, превращающее его в транспортировщика информации об изменениях VLAN.

Мы настроили сеть VLAN10 для отдела продаж и сеть VLAN20 отдела маркетинга, объединив их тремя свитчами. Вернемся к программе Packet Tracer и к топологии сети, рассмотренной на предыдущем уроке.

Если вы помните, по умолчанию все свитчи работают в режиме VTP-сервера. Между свитчами SW0 и SW1 осуществляется связь по сети VLAN20, а между SW0 и SW2 – связь по сети VLAN10 благодаря тому, что мы добавили VLAN10 в базу данных VLAN свитча SW1.
Для того, чтобы рассмотреть работу протокола VTP, давайте используем один из свитчей в качестве VTP-сервера, пусть это будет SW0. Вы видите текущую версию протокола VTP – 2 и номер ревизии конфигурации 4. Зайдем в терминал командной строки свитча и введем команду show vtp status. Если вы помните, каждый раз, когда в базу данных VTP вносятся изменения, номер ревизии увеличивается на единицу.

Это число зависит от марки конкретного свитча Cisco, так как разные свитчи могут поддерживать разное количество локальных виртуальных сетей. Максимальное число поддерживаемых сетей VLAN равно 255. Режим управления VTP – сервер, имя домена не задано, режим VTP Pruning отключен, мы вернемся к этому позже. Число существующих сетей VLAN равно 7, через минуту мы рассмотрим, что это за сети. Для сдачи экзамена 200-125 CCNA вам не нужно знать о двух последних режимах, так что можете о них не беспокоиться. Отключены также режимы VTP V2 и VTP Traps Generation.

Как мы уже видели в предыдущем видео, у нас имеется 4 неподдерживаемые сети: 1002, 1003, 1004 и 1005. Давайте взглянем на базу данных VLAN, для чего используем команду show vlan.

Теперь перейдем к другому свитчу и введем такую же команду, чтобы просмотреть статус VTP. Здесь также перечислены 2 созданные нами сети VLAN10 и 20 и сеть по умолчанию VLAN1. Когда я введу команду show VLAN, то увижу, что мы произвели 2 изменения в настройках, на одно меньше, чем у свитча SW0, вот почему номер ревизии SW1 равен 3. Вы видите, что номер ревизии у этого свитча равен 3, он находится в режиме VTP-сервера и вся остальная информация аналогична первому свитчу. Мы произвели 3 изменения в настройках по умолчанию первого свитча, поэтому его номер ревизии увеличился до 4.

Номер ревизии здесь равен 1, и это странно. Теперь посмотрим на статус SW2. Посмотрим на базу данных VLAN. У нас должна быть вторая ревизия, потому что было произведено 1 изменение настроек.

Возможно, это произошло из-за того, что у нас не настоящая сеть, а программный симулятор сети, в котором могут быть ошибки. Мы сделали одно изменение, создав сеть VLAN10, и я не знаю, почему это информация не обновилась. Еще одной полезной вещью при отсутствии реальных устройств будет GNC3, или графический симулятор сети Cisco. Когда у вас появится возможность работать с настоящими устройствами во время практики в подразделении компании Cisco, это поможет вам больше, чем симулятор Packet Tracer. Между симулятором и эмулятором существует разница – первый представляет собой программу, которая выглядит как настоящий роутер, но не является им. Это эмулятор, который использует настоящую операционную систему устройства, например, роутера. Но если у вас нет возможности работать с реальным ПО Cisco IOS, лучшим вариантом будет Packet Tracer. Эмулятор программно создает только само устройство, но для его работы использует реальное программное обеспечение.

Как я говорил, мы можем установить ту версию протокола, которая нам нужна – 1 или 2, в данном случае нам нужна вторая версия. Итак, нам нужно настроить SW0 как VTP-сервер, для этого я захожу в режим глобальной конфигурации настроек и ввожу команду vtp version 2. В данном случае нам нужен режим сервера, и после ввода команды vtp mode server система выдает сообщение, что устройство уже находится в режиме сервера. Далее командой vtp mode мы задаем VTP режим свитча – сервер, клиент или transparent. Зачем это нужно? Далее мы должны настроить VTP-домен, для чего используем команду vtp domain nwking.org. Однако это происходит только в том случае, когда устройства имеют одинаковое доменное имя. Если в сети имеется другое устройство с большим номером ревизии, все остальные устройства с меньшим номером начинают реплицировать базу данных VLAN с этого устройства. Доменное имя устройств вашей компании позволяет отличить их от устройств другой компании или любых других внешних устройств сети. Например, если вы работаете в nwking.org, вы указываете этот домен, если в Cisco, то домен сisco.com и так далее. Если вы присваиваете устройству доменное имя компании, то делаете его частью сети этой компании.

Он нужен для того, чтобы хакер, обладая устройством с большим номером ревизии, не смог скопировать свои настройки VTP на ваш свитч. Следующее, что нужно сделать – это установить пароль VTP. После этого репликация данных VTP между свитчами будет возможна только при совпадении паролей. Я ввожу пароль cisco с помощью команды vtp password cisco. Для этого я использую команду config t, командой vlan 200 создаю сеть под номером 200, присваиваю ей имя TEST и сохраняю изменения командой exit. Если будет использован неправильный пароль, обновления базы данных VLAN не произойдёт.
Давайте попробуем создать еще несколько VLAN. Если сейчас ввести команду show vlan, то в таблице виртуальных сетей свитча можно увидеть эти две новые сети, к которым не приписано ни одного порта. Затем я создаю ещё одну сеть vlan 500 и называю её TEST1.

Мы видим, что здесь ничего не изменилось, кроме имени домена, число сетей VLAN осталось равным 7. Давайте перейдём с SW1 и посмотрим его VTP-статус. Давайте установим пароль VTP на этом свитче, последовательно введя команды conf t, vtp pass и vtp password сisco. Мы не видим появления созданных нами сетей, потому что пароль VTP не совпадает. Еще раз взглянем на статус VTP, чтобы проверить, прошла ли репликация информации. Система выдала сообщение, что база данных VLAN устройства теперь использует пароль сisco. Как видите, число существующих VLAN автоматически увеличилось до 9.

Если посмотреть на базу данных VLAN этого свитча, то видно, что в ней автоматически появились созданные нами сети VLAN200 и VLAN500.

Введем команду show vlan – вы видите, что в ней не произошло никаких изменений. То же самое нужно проделать с последним свитчем SW2. Для того, чтобы данный свитч обновил информацию, нужно также настроить пароль, то есть ввести те же команды, что и для SW1. Аналогично нет никаких изменений в статусе VTP. После этого число сетей VLAN в статусе SW2 увеличится до 9.

Это отличная штука, обеспечивающая автоматическое обновление информации во всех клиентских сетевых устройствах после внесения изменений в устройство-сервер. Вот для чего нужен протокол VTP. Если у вас имеется 200 сетевых устройств, внесенные изменения одновременно сохранятся на всех двухстах устройствах. Вам не нужно вручную вносить изменения в базу данных VLAN всех свитчей – репликация происходит автоматически. На всякий случай нам нужно убедиться, что SW2 также является VTP-клиентом, поэтому зайдем в настройки командой config t и введем команду vtp mode client.

Если я сейчас я войду в настройки SW2 и введу команду vlan 1000, то получу сообщение: «настройка VTP VLAN не разрешена, когда устройство находится в режиме client». Таким образом, в нашей сети только первый свитч находится в режиме VTP Server, два остальных работают в режиме VTP Client. Если я хочу внести какие-то изменения, мне нужно перейти на свитч-сервер. Таким образом, я не могу вносить никаких изменений в базу данных VLAN, если свитч находится в режиме VTP-клиента.

Эта новая сеть появилась в базе данных VLAN данного свитча, и если я теперь перейду в базу данных свитча-клиента SW2, то увижу, что здесь появилась та же самая информация, то есть произошла репликация. Я захожу в настройки терминала SW0 и ввожу команды vlan 999, name IMRAN и exit.

Поэтому вам нужно очень осторожно обращаться с сетью компании, если имя домена и пароль VTP не заданы. Как я сказал, VTP является отличной частью программного обеспечения, но при неправильном использовании этот протокол способен нарушить работу целой сети. Так хакер сможет удалить все важные сети VLAN, пользуясь тем, что номер ревизии его устройства выше номера ревизии остальных свитчей. В этом случае все, что нужно хакеру – это вставить кабель своего свитча в сетевую розетку на стене, подсоединиться к любому офисному свитчу по протоколу DTP и затем, используя созданный транк, обновить всю информацию по протоколу VTP. При этом свитчи компании автоматически заменят всю информацию базы данных VLAN информацией, реплицированной с вредоносного свитча, и вся ваша сеть рухнет.

Если эти сети будут удалены из базы данных LAN свитча, то он автоматически отключит порт, принадлежащий несуществующей сети. Это связано с тем, что компьютеры с помощью сетевого кабеля подсоединены к конкретному порту свитча, к которому привязана сеть VLAN 10 или сеть VLAN20. Обычно сеть компании может рухнуть именно потому, что свитчи просто отключат порты, связанные с VLAN, которые были удалены при очередном обновлении.

Например, если кто-то посторонний попробует изменить MAC-адрес, порт немедленно отключится. Для того, чтобы предотвратить возникновение такой проблемы, нужно установить доменное имя и пароль VTP или же использовать функцию Cisco Port Security, которая позволяет управлять MAC-адресами портов свитчей, вводя различные ограничения по их использованию. Очень скоро мы вплотную познакомимся с этой функцией коммутаторов Cisco, а сейчас вам достаточно знать, что Port Security позволяет убедиться в том, что VTP защищен от злоумышленника.

Это выбор версии протокола – 1 или 2, назначение режима VTP – сервер, клиент или transparent. Подсуммируем, что представляет собой настройка VTP. Далее приведены команды для назначения доменного имени и пароля: vtp domain <имя домена> и vtp password <пароль>. Как я уже сказал, последний режим не обновляет базу данных VLAN самого устройства, а просто передаёт все изменения соседним устройствам.

Если посмотреть на топологию сети, можно увидеть, что все три свитча имеют одинаковую базу данных VLAN, это означает, что сети VLAN10 и VLAN20 являются частью всех 3-х свитчей. Теперь поговорим о настройках VTP Pruning. Однако независимо от этого весь трафик, направленный из компьютера Laptop0 по сети VLAN20 попадает на свитч SW1 и от него по транку поступает на порты SW2. Технически свитчу SW2 не нужна сеть VLAN20, потому что у него нет портов, относящихся к этой сети. Вы должны обеспечить передачу необходимых данных, но как ограничить передачу информации, которая не нужна данному устройству?
Вы должны убедиться в том, что трафик, предназначенный для устройств сети VLAN20, не будет поступать на порты SW2 через транк, когда этого не требуется. Ваша основная задача как сетевого специалиста – сделать так, чтобы по сети передавалось как можно меньше лишних данных. Это можно обеспечить с помощью VTP Pruning. То есть трафик Laptop0 должен доходить до SW1 и далее к компьютерам сети VLAN20, но не должен выходить за пределы правого транк-порта SW1.

Поскольку Packet Tracer это всего лишь программа-симулятор, в её подсказках для командной строки такой команды нет. Для этого нам нужно зайти в настройки VTP-сервера SW0, потому что как я уже говорил, настройки VTP можно производить только через сервер, зайти в глобальные настройки конфигурации и набрать команду vtp pruning. Однако когда я наберу vtp pruning и нажму «Ввод», система сообщит, что режим vtp pruning недоступен.

Сделав это, мы активируем режим VTP Pruning на всех трех свитчах нашей сети в пределах сетевого домена.
Позвольте мне напомнить, что такое VTP Pruning. Использовав команду show vtp status, мы увидим, что режим VTP Pruning находится в состоянии disabled, поэтому нам нужно сделать его доступным, переведя в положение enable. После этого свитч SW2 сообщает свитчу SW1, что ему не нужен никакой трафик кроме трафика, предназначенного для сети VLAN10. Когда мы включаем этот режим, свитч-сервер SW0 сообщает свитчу SW2, что на его портах настроена только сеть VLAN10. Теперь благодаря VTP Pruning свитч SW1 обладает информацией, что ему не нужно посылать трафик VLAN20 по транку SW1-SW2.

Вам не нужно вручную вводить команды, так как свитч достаточно умен, чтобы посылать именно то, что требуется конкретному сетевому устройству. Для вас как администратора сети это очень удобно. Эта информация постоянно обновляется на всех устройствах, что делает связь более эффективной. Если завтра вы разместите в соседнем здании еще одно подразделение сотрудников отдела маркетинга и подсоедините его сеть VLAN20 к свитчу SW2, этот свитч немедленно сообщит свитчу SW1, что теперь у него имеются сети VLAN10 и VLAN20, и попросит передавать ему трафик для обеих сетей.

Я захожу в настройки свитча SW1, где меня интересует порт Fa0/4, и ввожу команды int fa0/4 и switchport trunk allowed vlan. Есть ещё один способ конкретизировать передачу трафика – это использовать команду, которая разрешает передачу данных только для указанной VLAN. Таким образом, я запрограммировал транк-порт Fa0/4 на передачу трафика только для VLAN10. Поскольку я уже знаю, что SW2 имеет только VLAN10, я могу указать свитчу SW1, чтобы его транк-порт пропускал только трафик для этой сети, применив команду allowed vlan. Это означает, что данный порт не пропустит дальше трафик VLAN1, VLAN20 или какой-либо другой сети, кроме указанной.

Ответ носит субъективный характер, потому что в некоторых случаях имеет смысл использовать первый способ, а в некоторых – второй. Вы можете спросить, что лучше использовать — VTP Pruning или команду allowed vlan. В каких-то случаях решение запрограммировать порт на пропуск трафика определенной VLAN может быть хорошим, а в каких-то – плохим. Как администратор сети, вы сами должны выбрать оптимальное решение. Но если кто-либо в дальнейшем захочет добавить к SW 2 группу устройств, использующих VLAN20, более целесообразно применить режим VTP Pruning. В случае нашей сети использование команды allowed vlan может быть оправданным, если мы не собираемся менять топологию сети.

Команда vtp pruning обеспечивает автоматическое использование этого режима. Итак, настройка VTP Pruning заключается в использовании следующих команд. Если же вы хотите настроить VTP Pruning транк-порта на пропуск трафика определенной VLAN вручную, то используете команду выбора номера транк-порта interface <#>, включения режима транка switchport mode trunk и разрешаете передачу трафика конкретной сети с помощью команды switchport trunk allowed vlan <all/none/add/remove/#>.

All означает, что разрешена передача трафика всех сетей VLAN, none – передача трафика для всех VLAN запрещена. В последней команде можно использовать 5 параметров. Например, у нас разрешен трафик VLAN10, а командой add можно разрешить также пропуск трафика сети VLAN20. Если использовать параметр add, можно добавить пропуск трафика для еще одной сети. Команда remove позволяет удалить одну из сетей, например, если использовать параметр remove 20, останется только передача трафика VLAN10.

Мы уже говорили, что native VLAN представляет собой виртуальную сеть для пропуска нетегированного трафика через конкретный транк-порт. Теперь рассмотрим native VLAN.

Теперь весь трафик сети VLAN10 будет проходить через транк без тегов. Я захожу в настройки конкретного порта, на что указывает заголовок командной строки SW(config-if)#, и использую команду switchport trunk native vlan <номер сети>, например, VLAN10.

Если я использую команду switchport trunk native vlan 20 для порта свитча Fa0/4, то весь трафик сети VLAN20 будет проходить по транку Fa0/4 – SW2 нетегированным. Вернемся к логической топологии сети в окне Packet Tracer. Для этого свитча native VLAN – это сеть VLAN1. Когда свитч SW2 получит этот трафик, то подумает: «это нетегированный трафик, значит, я должен направить его в сеть native VLAN». Однако этот трафик будет некапсулированным, а сами сети все равно должны совпадать. Сети 1 и 20 никак не связаны, но поскольку используется режим native VLAN, у нас появляется возможность направить трафик VLAN20 в совершенно другую сеть.

Я войду в настройки SW1 и использую команду switchport trunk native vlan 10. Давайте рассмотрим это на примере. Когда он достигнет транк-порта SW2, свитч поймет, что должен направить его в VLAN1. Теперь любой трафик VLAN10 будет исходить из транк-порта нетегированным. Вследствие такого решения трафик не сможет достичь компьютеров PC2, 3 и 4, так как они подключены к access-портам свитча, предназначенным для VLAN10.

Это означает, что указанные порты не смогут работать в режиме транка из-за несовпадения native VLAN. Технически это вызовет появление сообщения системы о том, что native VLAN порта Fa0/4, который является частью VLAN10, не совпадает с портом Fa0/1, который выступает частью VLAN1.

Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2. 2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. Dell R420 — 2x E5-2430 2. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть