Как сделать чтобы разные vlan не пинговались

Добавил пользователь Евгений Кузнецов
Обновлено: 18.09.2024

Виртуализацией сегодня уже никого не удивить. Эта технология прочно вошла в нашу жизнь и помогает более эффективно использовать имеющиеся ресурсы, а также обеспечивает достаточную гибкость в изменении существующей конфигурации, позволяя перераспределять ресурсы буквально налету. Не обошла виртуализация и локальные сети. Технология VLAN (Virtual Local Area Network) позволяет создавать и гибко конфигурировать виртуальные сети поверх физической. Это позволяет реализовывать достаточно сложные сетевые конфигурации без покупки дополнительного оборудования и прокладки дополнительных кабелей.

Прежде чем продолжить сделаем краткое отступление о работе локальных сетей. В данном контексте мы будем говорить об Ethernet-сетях описанных стандартом IEEE 802.3, куда входят всем привычные проводные сети на основе витой пары. Основой такой сети является коммутатор (свич, switch), который работает на втором уровне сетевой модели OSI (L2).

Второй уровень, он же канальный, работает в пределах одного сегмента сети и использует для адресации уникальные физические адреса оборудования - MAC-адреса. Передаваемая между узлами информация разделяется на специальные фрагменты - Ethernet-кадры (фреймы, frame), которые не следует путать с IP-пакетами, которые находятся на более высоком уровне модели OSI и передаются внутри Ethernet-кадров. Таким образом коммутатор ничего не знает об IP-адресах и никак эту информацию в работе не учитывает.

Коммутатор анализирует заголовки каждого входящего кадра и заносит соответствие MAC-адреса источника в специальную MAC-таблицу, после чего кадр, адресованный этому узлу, будет направляться сразу на определенный порт, если МАС-адрес получателя неизвестен, то кадр отправляется на все порты устройства. После получения ответа коммутатор привяжет MAC-адрес к порту и будет отправлять кадры только через него.

Этим достигается возможность одновременной передачи данных по нескольким портам одновременно и увеличивается безопасность сети, так как данные будут передаваться только на требуемый порт. Одновременно передавать данные через порт коммутатора может только один узел сети. Попытка одновременно передавать несколько кадров в одном сегменте сети называется коллизией, а такой сегмент - доменом коллизий. Чем больше устройств в домене коллизий, тем медленнее работает сеть.

Коммутатор позволяет разделять домен коллизий на отдельные домены по числу портов, таким образом каждый порт коммутатора - это отдельный домен коллизий и в каждом из них данные могут передаваться одновременно, не мешая друг другу.

Совокупность доменов коллизии, соединенных на втором уровне, является широковещательным доменом, если говорить проще, то широковещательный домен - это совокупность всех портов коммутаторов соединенных в один сегмент.

Как мы уже говорили выше, к широковещанию прибегает сам коммутатор, когда получает кадр MAC-адрес которого отсутствует в MAC-таблице, а также узлы сети, отправляя кадры на адрес FF:FF:FF:FF:FF:FF, такие кадры будут доставлены всем узлам сети в широковещательном сегменте.

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

Чем больше в сети узлов, тем острее стоит проблема широковещания, поэтому широковещательные домены крупных сетей принято разделять. Это уменьшает количество паразитного трафика и увеличивает производительность, а также повышает безопасность, так как ограничивает передачу кадров только своим широковещательным доменом.

Как это можно сделать наиболее простым образом? Установить вместо одно коммутатора два и подключить каждый сегмент к своему коммутатору. Но это требует покупки нового оборудования и, возможно, прокладки новых кабельных сетей, поэтому нам на помощь приходит технология VLAN.

Данная технология описана стандартом 802.1Q и предусматривает добавление к заголовкам кадра дополнительного поля, которое содержит в том числе определенную метку (тег) с номером виртуальной сети - VLAN ID, всего можно создать 4094 сети, для большинства применений этого достаточно.

vlan-beginners-001.jpg

Каждый VLAN обозначается собственным номером, который является идентификатором виртуально сети. Порты, которые не настроены ни для какого VLAN считаются принадлежащими Native VLAN, по умолчанию он обычно имеет номер 1 (может отличаться у разных производителей), поэтому не следует использовать этот номер для собственных сетей. Порты, настроенные нами для работы с VLAN, образуют как-бы два отдельных виртуальных коммутатора, передавая кадры только между собой. Каким образом это достигается?

Как мы уже говорили выше, каждый кадр 802.1Q содержит дополнительное поле, в котором содержится тег - номер виртуальной сети. При входе Ethernet-кадра в коммутатор с поддержкой VLAN (такой трафик называется входящим - ingres) в его состав добавляется поле с тегом. При выходе из коммутатора (исходящий трафик - egress), данное поле из кадра удаляется, т.е. тег снимается. Все кадры внутри маршрутизатора являются тегированными. Если трафик пришел на порт, не принадлежащий ни одному VLAN, он получает тег с номером Native VLAN.

vlan-beginners-002.jpg

В порт, принадлежащий определенному VLAN, могут быть отправлены только пакеты с тегом, принадлежащим этому VLAN, остальные будут отброшены. Фактически мы только что разделили единый широковещательный домен на несколько меньших и трафик из одного VLAN никогда не попадет в другой, даже если эти подсети будут использовать один диапазон IP. Для конечных узлов сети такой коммутатор нечем ни отличается от обычного. Вся обработка виртуальных сетей происходит внутри.

Такие порты коммутатора называются портами доступа или нетегированными портами (access port, untagged). Обычно они используются для подключения конечных узлов сети, которые не должны ничего знать об иных VLAN и работать в собственном сегменте.

А теперь рассмотрим другую картину, у нас есть два коммутатора, каждый из которых должен работать с обоими VLAN, при этом соединены они единственным кабелем и проложить дополнительный кабель невозможно. В этом случае мы можем настроить один или несколько портов на передачу тегированного трафика, при этом можно передавать как трафик любых VLAN, так и только определенных. Такой порт называется магистральным (тегированным) или транком (trunk port, tagged).

vlan-beginners-003.jpg

Магистральные порты используются для соединения сетевого оборудования между собой, к конечным узлам сети тегированный трафик обычно не доставляется. Но это не является догмой, в ряде случаев тегированный трафик удобнее доставить именно конечному узлу, скажем, гипервизору, если он содержит виртуальные машины, принадлежащие разным узлам сети.

Так как кадр 802.1Q отличается от обычного Ehternet-кадра, то работать с ним могут только устройства с поддержкой данного протокола. Если на пути тегированного трафика попадется обычный коммутатор, то такие кадры будут им отброшены. В случае доставки 802.1Q кадров конечному узлу сети такая поддержка потребуется от сетевой карты устройства. Если на магистральный порт приходит нетегированный трафик, то ему обычно назначается Native VLAN.

Кроме указанных двух портов доступа существует еще одна разновидность - гибридный порт (hybrid port), его реализация и наименование у разных производителей сетевого оборудования может быть разным, но суть от этого не меняется. Такой порт передает как тегированный, так и нетегированный трафик. Для этого в его настройках указывается Default VLAN ID и для всех кадров этого VLAN данный порт работает как порт доступа, т.е для исходящего трафика указанного VLAN тег снимается, а входящему кадру без тега, наоборот, присваивается. Трафик остальных VLAN передается с тегами.

Для чего это нужно? Наиболее частое применение - это IP-телефоны со встроенным коммутатором, которые умеют работать с тегированным трафиком, но не умеют передавать его дальше. В этом случае в качестве VLAN ID по умолчанию устанавливается номер VLAN в котором расположены пользовательские ПК, а для телефона на этот же порт добавляется тегированный трафик VLAN для телефонии.

vlan-beginners-004.jpg

Все это время мы говорили только о VLAN, не поднимая вопроса: как попасть из одного VLAN в другой. Если продолжать рассматривать канальный уровень - то никак. Каждый VLAN мы можем рассматривать как отдельный физический коммутатор, а магистральный канал - как жгут кабелей между ними. Только все это сделано виртуально, на более высоком уровне абстракции, чем L1 - физический уровень, который как раз представлен кабелями и физическим оборудованием.

Если мы соединим два физических коммутатора кабелем - то получим расширение широковещательного домена на все порты этих устройств, а это совсем не то, что нам нужно. В тоже время сетевые устройства работают на более высоких уровнях модели ОSI, начиная с сетевого - L3. Здесь уже появляется понятие IP-адреса и IP-сетей. Если смотреть на VLAN с этого уровня, то они ничем не отличаются от физических сегментов сетей. А что мы делаем, когда нам нужно попасть из одной сети в другую? Ставим маршрутизатор.

Маршрутизатор или роутер - устройство, работающее на третьем уровне модели OSI и умеющее выполнять маршрутизацию трафика, т.е. поиск оптимального пути для доставки его получателю. И здесь мы говорим уже не о Ethernet-кадрах, а об IP-пакетах. Маршрутизация между VLAN называется межвлановой (межвланной) маршрутизацией (InterVLAN Routing), но, по сути, она ничем не отличается от обычной маршрутизации между IP-подсетями.

Для обеспечения связи между сетями в нашей схеме появляется новая сущность - маршрутизатор, как правило к нему от одного из коммутаторов идет магистральный канал (транк), содержащий все необходимые VLAN, эта схема называется роутер на палочке (леденец, Router-on-a-Stick).

Все кадры, попадающие с порта доступа в коммутатор, получают тег с VLAN ID 40 и могут покинуть коммутатор только через порты, принадлежащие этому VLAN или транк. Таким образом любые широковещательные запросы не уйдут дальше своего VLAN. Получив ответ узел сети формирует кадр и отправляет его адресату. Далее в дело снова вступают коммутаторы, сверившись с MAC-таблицей они отправляют кадр в один из портов, который будет либо принадлежать своему VLAN, либо будет являться магистральным. В любом случае кадр будет доставлен по назначению без использования маршрутизатора, только через коммутаторы.

Совсем иное дело, если узел одного из VLAN хочет получить доступ к узлу другого VLAN. В нашем случае узел из красной сети (VLAN ID 30) хочет получить доступ к узлу синей сети (VLAN ID 40). Узел источник знает IP-адрес адресата и также знает, что этот адрес не принадлежит его сети. Поэтому он формирует IP-пакет на адрес основного шлюза сети (роутера), помещает его в Ethernet-кадр и отправляет на порт коммутатора. Коммутатор добавляет к кадру тег с VLAN ID 30 и доставляет его роутеру.

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

Говоря о межвлановой маршрутизации нельзя обойти вниманием такие устройства как L3 коммутаторы. Это устройства уровня L2 c некоторыми функциями L3, но, в отличие от маршрутизаторов, данные функции существенно ограничены и реализованы аппаратно. Этим достигается более высокое быстродействие, но пропадает гибкость применения. Как правило L3 коммутаторы предлагают только функции маршрутизации и не поддерживают технологии для выхода во внешнюю сеть (NAT) и не имеют брандмауэра. Но они позволяют быстро и эффективно осуществлять маршрутизацию между внутренними сегментами сети, в том числе и между VLAN.

Маршрутизаторы предлагают гораздо большее число функций, но многие из них реализуются программно и поэтому данный тип устройств имеет меньшую производительность, но гораздо более высокую гибкость применения и сетевые возможности.

При этом нельзя сказать, что какое-то из устройств хуже, каждое из них хорошо на своем месте. Если мы говорим о маршрутизации между внутренними сетями, в том числе и о межвлановой маршрутизации, то здесь предпочтительно использовать L3 коммутаторы с их высокой производительностью, а когда требуется выход во внешнюю сеть, то здесь нам потребуется именно маршрутизатор, с широкими сетевыми возможностями.

image

VLAN (virtual local area network; виртуальная локальная сеть) – технология, позволяющая сегментировать устройства по различным признакам. Например, по принадлежности определенному отделу, типу пользователей, основному назначению. VLAN Hopping (или VLAN-переходы) представляет собой атаку на сеть посредством отсылки пакетов на порт, который обычно не доступен из указанной конечной системы.

DTP (Dynamic Trunking Protocol; Динамический протокол транкинга) – фирменный протокол, используемый компанией Cisco, для автоматического согласования каналов связи между свитчами. Протокол DTP может использоваться для установления транкового соединения между свитчами динамически.

В протоколе DTP предусмотрены несколько режимов транкинга, описанных в таблице ниже.

Порт свича, сконфигурированный в режиме dynamic desirable, будет активно пытаться преобразовать соединение в транковое соединение средствами протокола DTP. Если этот порт, подключенный к другому порту, умеет формировать транк, будет установлено транковое соединение.

Порт свитча, сконфигурированный в режиме dynamic auto, может образовывать транковое соединение, если интерфейс другого свитча настроен на тот же режим и может взаимодействовать с каналом связи по протоколу DTP.

Интерфейс свитча, сконфигурированный в режиме trunk, работает исключительно в режиме транка. Интерфейс в этом режиме может взаимодействовать с интерфейсом другого свитча для формирования транковой связи.

В этом режиме отключена рассылка DTP-пакетов с интерфейса. Режим nonegotiate возможен только когда switchport интерфейса находится в режиме access или trunk. Протокол DTP отключен.

Интерфейс свитча, сконфигурированный в режиме access, не будет работать в режиме транкинга, и порт будет работать в режиме access. Во фреймах метки использоваться не будут. Порт в режиме access принадлежит VLAN’у.

Для успешной реализации атаки свитч должен находится в режиме dynamic desirable, dynamic auto или trunk, чтобы была возможность отсылки DTP-пакетов. По умолчанию свитчи Cisco работают в режиме dynamic desirable.

В этой статье мы пройдемся по всем шагам, которые необходимы для успешной реализации атаки VLAN Hopping.

Необходимые компоненты для проведения теста:

· GNS3 (эмулятор сети).

· Kali Linux (система злоумышленника).

· Виртуальный хост (система жертвы).

Этапы реализации атаки

У нас есть небольшая сеть из трех клиентов (злоумышленник и две жертвы), находящиеся в одной сети и соединенные при помощи свитча. Топология сети показана на рисунке ниже:


Рисунок 1: Тестовая топология сети для демонстрации атаки

У нас есть свитч, подключенный к PC-1 (IP: 172.16.0.3), PC-2 (IP: 10.0.0.4) и системе злоумышленника (IP: 172.16.0.5). В таблице ниже показано соответствие клиентов, IP-адресов и VLAN ID.

Начало

Проблема локальных сетей и нескольких подсетей в том, что появляется угроза утечки информации. Давайте посмотрим на пример трех сетей: дирекция, бухгалтерия и отдел кадров. Конечно, в крупных компаниях сети куда больше, но мы рассмотрим более ужатый пример.

Что такое VLAN – для абсолютных чайников на примере настройки коммутатора Cisco

Представим себе, что все из этих компьютеров имеют одинаковую первую (1) подсеть, то есть – PC1 имеет адрес 192.168.1.2; PC2 имеет – 192.168.1.3; PC3 имеет адрес 192.168.1.4 и т.д. То есть все они находятся в одной подсети.

Подключены они все к разным коммутаторам. Если кто не знает, то коммутатор при отсутствии таблицы коммутации (при первом запуске) – отправляет приемный пакет на все порты. То есть если PC1 отправит пакет данных на компьютер PC2, то произойдет следующее:

  1. Пакет дойдет до Switch2, и он отправит его на PC2 и на центральный Switch
  2. Далее пакет дойдет до центрального Switch-а. Но Switch1 отправит пакеты на два других коммутатора: 3 и 4.
  3. Те в свою очередь отправят пакеты на все остальные PC: 3, 4, 5 и 6.

И тут возникает две проблемы:

  • Безопасность – трафик могут просто перехватить злоумышленники. В целом это можно сделать стандартными программами перехватчиками.
  • Ненужный трафик – когда сеть небольшая, это не так заметно. Но представьте, что у вас сеть состоит из тысячи компьютеров. Все может привести к забитости канала и потери пакетов.

Как ни странно, но пример, который я привел был работоспособным почти в самом начале создания сетей, когда ещё интернет был слабым и юным. О проблеме знали все, и её постаралась решить компания Cisco, которая в своих лабораториях изобрела совершенно новый протокол ISL. После этого протокол Inter-Switch Link был прикручен к IEEE под кодовым названием 802.1q – именно это название вы и можете встречать в интернете или на коробке от коммутаторов.

Что такое VLAN – для абсолютных чайников на примере настройки коммутатора Cisco

А теперь взглянем на новый кадр 802.1q:

Что такое VLAN – для абсолютных чайников на примере настройки коммутатора Cisco

Что у нас в итоге получается – добавляется ещё один тег с нужной для нас информацией:

Теперь мы подошли к одному очень интересному понятию. Как вы уже поняли, данный кадр 802.1q помогает правильно отправлять пакеты данных. Но вопрос в том, зачем добавлять кадр к пакету, который уже идёт на конечное устройство пользователя? Правильно – незачем.

Именно поэтому в маршрутизаторах и коммутаторах есть два понятия:

  • Trunk port (магистральный порт) – порт, который идет на другое сетевое устройство: коммутатор, маршрутизатор и т.д. Из этого порта обычно отправляются тегированные пакеты, то есть пакеты с этим самым тегом.
  • Access port (порт доступа) – открытый или последний порт, из которого информация льется прямиком на компьютер пользователя. Сюда бессмысленно добавлять тег, забивая размер пакета.

Нетегированный трафик – это пакеты данных, которые идут без кадра 802.1q. Тегирование VLAN как раз и происходит по двум портам: Trunk и Access. Если вам пока ничего не понятно, то не переживайте, дальше я все покажу на примере.

Настройка VLAN на коммутаторе

Приведу пример настройки VLAN на коммутаторе от компании CISCO. По сути у них все настройки делаются примерно одинаково, поэтому вы можете использовать данную инструкцию и в своих целях. Поддержка VLAN должна быть на всех коммутаторах с канальным уровнем.

Для начала давайте посмотрим всю таблицу коммутации VLAN стандартной консольной командной:

Что такое VLAN – для абсолютных чайников на примере настройки коммутатора Cisco

Смотрим по столбцам:

Что такое VLAN – для абсолютных чайников на примере настройки коммутатора Cisco

Для примера я буду использовать модель Cisco 2960 24tt, но принцип настройки, который буду показывать далее – одинаковый для всех их аппаратов. Плюс вы поймете принцип VLAN сразу и на примере.

Далее назовём как-то нашего зверя:

Покажу настройку на примере нашей любимой картинки, которую я показывал в самом начале. Тут у нас есть:

  • Коммутаторы: SenterSW, SW1, SW2, SW3.
  • Компы: PC1, PC2, PC3, PC4, PC5, PC

Запомните примерно данные названия, чтобы было проще ориентироваться при вводе команд. Можете также иногда посматривать на эту картинку.

Что такое VLAN – для абсолютных чайников на примере настройки коммутатора Cisco

Теперь давайте подключим наши компьютеры, и заведем им отдельные VLAN. К первому порту мы подключим первый комп, а ко второму – второй. Для того, чтобы попасть в конфиг первого порта прописываем:

Так как наш порт будет направлен именно на комп, то тегирование не нужно, и мы переводим его в нужное состояние:

2-ой ВЛАН мы создали, осталось теперь привязать 1-ое устройство к нему:

Теперь тоже самое проделайте и для второго порта. В самом конце надо будет привязать второй порт к тому же самому VLAN2 – мы же хотим, чтобы они находились в одной сети.

На будущее – чтобы не прописывать каждый порт таким образом, вы можете прописать диапазон портов вот так:

Итак, два компьютера теперь у вас настроены правильно и находятся в одной VLAN. Теперь нам надо подключить наш 1-ый коммутатор к центральному. Для этого мы будем использовать 24-ый порт. И конечно же нам надо перевести его в режим с тегированием:

Как бы вроде мы все сделали, но есть одна проблема: в коммутаторе нет правила, которое бы ограничивало поступление пакетов с других ВЛАН – то есть проблема с безопасностью остается. Нам нужно теперь прописать такое правило, которое бы разрешало поступление на наш 24 порт только пакеты для VLAN2:

На всякий случай проверяем таблицу маршрутизации:

Что такое VLAN – для абсолютных чайников на примере настройки коммутатора Cisco

Как видите наш второй VLAN теперь имеет только два доступных порта. Единственный минус данного вывода информации в том, что вы не можете посмотреть статус тегирования портов. Для этого есть отдельная команда:

show interfaces trunk

Вот тут мы видим наш 24 порт, который нам нужен для связи с центральным коммутатором. Ещё раз повторюсь, что статус тегирования (Trunk или Access) – обязательно нужно настраивать для внешних портов. В противном случае не будет смысла вообще в настройке VLAN.

Первый коммутатор мы настроили, теперь давайте настроим третий. В первую очередь нужно создать три ВЛАН для каждой из структур: дирекция, бухгалтерия и отдел кадров. VLAN 2 уже закрепился за дирекцией. Создаем VLAN для бухгалтерии:

Теперь создаем внутреннюю сеть для отдела кадров:

Ну так как данный коммутатор будет иметь связь только с сетевыми устройствами, то мы будем использовать тегирования в статусе trunk. А использовать мы будем первые 3 порта.

Вам не кажется, что мы что-то упустили? Наш центральный коммутатор по идее будет связующим звеном – ведь так?! Но мы забыли создать VLAN 2 для первого сегмента:

ПРИМЕЧАНИЕ! Дабы не запутаться обязательно называем ВЛАН как на первом коммутаторе.

И тут мы подходим к следующей проблеме. VLAN мы создали и даже разделили на разные по портам. Вроде разделение есть, но давайте взглянем на IP адреса наших компов:

  1. 192.168.1.2
  2. 192.168.1.3
  3. 192.168.1.4
  4. 192.168.1.5
  5. 192.168.1.6
  6. 192.168.1.7

Да – все компы находятся в одной сети. Да, мы ограничили трафик на канальном уровне с помощью разбиения сегментов и портов на VLAN. Вообще мы могли просто бы разделить данную сеть на 3 подсети и трафик также бы был ограничен. Дело в том, что коммутатор не может разделять трафик между разными подсетями – это уже сетевой уровень модели OSI.

ПРИМЕЧАНИЕ! Если вы ещё путаетесь в этих понятиях, то советую прочесть статью про OSI – ссылку я оставил в самом начале статьи.

Все я это сделал в учебных целях и вообще нужно разделять сети и на канальном, и на сетевом уровне. Это можно сделать вручную на компьютерах. Но статья немного не об этом.

Теперь что будет происходить с отправлением данных? Если мы отправим пакет на PC2, то он дойдет до первого коммутатора. Далее коммутатор отправит его одновременно на PC2 и на центральный Switch. После этого центральный коммутатор отправит пакеты на другие SW (2 и 3). Там коммутаторы, у которых прописаны правила только для VLAN: 3 и 4 – просто отправят пакет в утиль. То есть данный пакет не дойдет до компов: 3, 4, 5 и 6.

Что такое VLAN – для абсолютных чайников на примере настройки коммутатора Cisco

Ситуация с переездом сотрудника

Давайте рассмотрим ситуацию, что в отдел бухгалтерии нужно будет посадить сотрудника из совершенно другого отдела (на время). Допустим Елена Павловна не может сидеть в отделе Дирекции летом, так как у нее сильно повышается давление, а там не кондиционера. Начальство решает переселить её на летнее время в бухгалтерию.

Что такое VLAN – для абсолютных чайников на примере настройки коммутатора Cisco

Итак, что мы будем делать?! В первую очередь мы подключим её компьютер к следующему третьему порту второго свича. Теперь возникла проблема в том, что на втором коммутаторе и слухом не слыхивали про 2-ой ВЛАН и его надо создать:

Теперь нужно 3-порт настроить и добавить его в VLAN2. И также не забываем прописать ему модель тегирования:

Теперь нам нужно разрешить пропускать VLAN2 пакеты именно на внешнем порту. У второго свича (как и у всех) – это 24-ый порт. Внимательно пропишите команду:

Теперь переходим к центральному коммутатору:

Заметьте, что для 2 внешнего порта мы разрешили использовать сразу два влана. Теперь при отправке пакета – он будет доходить до центрального коммутатора. Далее он будет отправлен на 2 свич, у которого уже прописано правило – разрешающее отправлять VLAN2 пакеты только на выделенный 3 порт – где как раз и сидит переселенный сотрудник: Елена Павловна.

Общение между собой

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

Но для этих целей нам также понадобится маршрутизатор, чтобы объединить сеть также и на сетевом уровне. Для этого мы подключим маршрутизатор Cisco 2811.

Что такое VLAN – для абсолютных чайников на примере настройки коммутатора Cisco

В настройках нам также надо будет указать шлюзы, но они будут стандартные:

  1. 192.168.1.1 – для дирекции
  2. 192.168.2.1 – для бухгалтерии
  3. 192.168.3.1 – для отдела кадров

Маска будет везде одинаковая: 255.255.255.0 (/24).

Для чего вообще нужен маршрутизатор – он будет позволять общаться компьютерам, которые находятся в разных VLAN. Для этого будет использоваться адрес шлюза, у каждой подсети.

Настройка маршрутизатора

Заходим в настройки и обзываем его исходя из картинки:

Так как маршрутизатор подключен к центральному коммутатору, то шлюзы у нас будут не физические, а виртуальные (сабинтерфейс), так как мы ведь не подключили компьютеры напрямую к маршрутизатору. Для этого надо на маршрутизаторе настроить три этих самых сабинтерфейса – ведь у нас 3 VLAN и 3 подсети:

Осталось создать шлюз для последней подсети:

Чуть не забыл сказать – маршрутизатор мы подключим к 24 порту центрального коммутатора. Теперь нам нужно разрешить отправлять пакеты всех вланов на маршрутизатор через 24 порт, к которому мы и подключились:

Все VLAN можно прописать просто через запятую:

Именно так заполняется таблица маршрутизации. Такой долгий путь обычно начинается в самом начале. Впоследствии маршрутизатор помогает общаться всем компьютерам именно через канальный уровень.

Видео

Более детально про VLAN рассказывается в данном видео, оно достаточно долгое, но максимально информативное.

  • Бренды
  • Беспроводное оборудование
  • Комплектующие
  • Маршрутизаторы (роутеры)
  • Коммутаторы (свитчи)
  • Powerline адаптеры
  • VoIP оборудование
  • Видеонаблюдение
  • IPTV приставки
  • Умный дом
  • Компьютерная техника

Ajax Systems

Alfa Network

Edge-Core

Edimax

M5Stack

Escene

GAOKE

HPE Aruba Networks

Info-Sys

ITElite

Keenetic

LigoWave

Точки доступа WiFi

Контроллеры для точек доступа

Wi-Fi антенны

Материнские платы

Радиокарты

USB Wi-Fi адаптеры

Усилители Wi-Fi сигнала (репитеры)

GPS-трекеры

Блоки питания, РОЕ, инжекторы

Грозозащита

Кабель UTP, FTP, коннекторы

Патч-корды

Патч-Панели

Сетевые компоненты и инструмент

Корпуса

Крепежная фурнитура

Переходники и кабели USB, HDMI, DVI, SATA, 3RCA

Пигтейлы

Удлинители и сетевые фильтры

SFP, SFP+ - модули/патч-корды/DAC-кабель

Неуправляемые коммутаторы

Управляемые коммутаторы

IP телефоны

VoIP шлюзы

IP-ATC

Аксессуары для VoIP-оборудования

IP-камеры

Регистраторы

Аксессуары для видеонаблюдения

Видеодомофоны

Аналоговые видеокамеры

Контроллеры

Датчики

Сетевые карты и адаптеры

Принт-серверы

Сетевые накопители (NAS, DAS)

USB-концентраторы

Универсальные внешние аккумуляторы

Зачем нужны виланы?

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

Примеры использования VLAN

  • Объединение в единую сеть компьютеров, подключенных к разным коммутаторам. Допустим, у вас есть компьютеры, которые подключены к разным свитчам, но их нужно объединить в одну сеть. Одни компьютеры мы объединим в виртуальную локальную сеть VLAN 1, а другие — в сеть VLAN 2. Благодаря функции VLAN компьютеры в каждой виртуальной сети будут работать, словно подключены к одному и тому же свитчу. Компьютеры из разных виртуальных сетей VLAN 1 и VLAN 2 будут невидимы друг для друга.
  • Разделение в разные подсети компьютеров, подключенных к одному коммутатору. На рисунке компьютеры физически подключены к одному свитчу, но разделены в разные виртуальные сети VLAN 1 и VLAN 2. Компьютеры из разных виртуальных подсетей будут невидимы друг для друга.
  • Разделение гостевой Wi-Fi сети и Wi-Fi сети предприятия. На рисунке к роутеру подключена физически одна Wi-Fi точка доступа. На точке созданы две виртуальные Wi-Fi точки с названиями HotSpot и Office. К HotSpot будут подключаться по Wi-Fi гостевые ноутбуки для доступа к интернету, а к Office — ноутбуки предприятия. В целях безопасности необходимо, чтобы гостевые ноутбуки не имели доступ к сети предприятия. Для этого компьютеры предприятия и виртуальная Wi-Fi точка Office объединены в виртуальную локальную сеть VLAN 1, а гостевые ноутбуки будут находиться в виртуальной сети VLAN 2. Гостевые ноутбуки из сети VLAN 2 не будут иметь доступ к сети предприятия VLAN 1.


Достоинства использования VLAN

  • Гибкое разделение устройств на группы
  • Как правило, одному VLAN соответствует одна подсеть. Компьютеры, находящиеся в разных VLAN, будут изолированы друг от друга. Также можно объединить в одну виртуальную сеть компьютеры, подключенные к разным коммутаторам.
  • Уменьшение широковещательного трафика в сети
  • Каждый VLAN представляет отдельный широковещательный домен. Широковещательный трафик не будет транслироваться между разными VLAN. Если на разных коммутаторах настроить один и тот же VLAN, то порты разных коммутаторов будут образовывать один широковещательный домен.
  • Увеличение безопасности и управляемости сети
  • В сети, разбитой на виртуальные подсети, удобно применять политики и правила безопасности для каждого VLAN. Политика будет применена к целой подсети, а не к отдельному устройству.
  • Уменьшение количества оборудования и сетевого кабеля
  • Для создания новой виртуальной локальной сети не требуется покупка коммутатора и прокладка сетевого кабеля. Однако вы должны использовать более дорогие управляемые коммутаторы с поддержкой VLAN.

Тэгированные и нетэгированные порты

Когда порт должен уметь принимать или отдавать трафик из разных VLAN, то он должен находиться в тэгированном или транковом состоянии. Понятия транкового порта и тэгированного порта одинаковые. Транковый или тэгированный порт может передавать как отдельно указанные VLAN, так и все VLAN по умолчанию, если не указано другое. Если порт нетэгирован, то он может передавать только один VLAN (родной). Если на порту не указано в каком он VLAN, то подразумевается, что он в нетэгированном состоянии в первом VLAN (VID 1).

Разное оборудование настраивается по-разному в данном случае. Для одного оборудования нужно на физическом интерфейсе указать в каком состоянии находится этот интерфейс, а на другом в определенном VLAN необходимо указать какой порт как позиционируется – с тэгом или без тэга. И если необходимо, чтобы этот порт пропускал через себя несколько VLAN, то в каждом из этих VLAN нужно прописать данный порт с тэгом. Например, в коммутаторах Enterasys Networks мы должны указать в каком VLAN находится определенный порт и добавить этот порт в egress list этого VLAN для того, чтобы трафик мог проходить через этот порт. Если мы хотим чтобы через наш порт проходил трафик еще одного VLAN, то мы добавляем этот порт в egress list еще и этого VLAN. На оборудовании HP (например, коммутаторах ProCurve) мы в самом VLAN указываем какие порты могут пропускать трафик этого VLAN и добавляем состояние портов – тэгирован или нетегирован. Проще всего на оборудовании Cisco Systems. На таких коммутаторах мы просто указываем какие порты какими VLAN нетэгированы (находятся в режиме access) и какие порты находятся в тэгированном состоянии (находятся в режиме trunk).

Для настройки портов в режим trunk созданы специальные протоколы. Один из таких имеет стандарт IEEE 802.1Q. Это международный стандарт, который поддерживается всеми производителями и чаще всего используется для настройки виртуальных сетей. Кроме того, разные производители могут иметь свои протоколы передачи данных. Например, Cisco создала для свого оборудования протокол ISL (Inter Switch Lisk).

Межвлановская маршрутизация

Что такое межвлановская маршрутизация? Это обычная маршрутизация подсетей. Разница только в том, что каждой подсети соответствует какой-то VLAN на втором уровне. Что это значит. Допустим у нас есть два VLAN: VID = 10 и VID = 20. На втором уровне эти VLAN осуществляют разбиение одной сети на две подсети. Хосты, которые находятся в этих подсетях не видят друг друга. То есть, трафик полностью изолирован. Для того, чтобы хосты могли взаимодействовать между собой, необходимо смаршрутизировать трафик этих VLAN. Для этого нам необходимо на третьем уровне каждому из VLAN присвоить интерфейс, то есть прикрепить к ним IP-адрес. Например, для VID = 10 IP address будет 10.0.10.1/24, а для VID = 20 IP address – 10.0.20.1/24. Эти адреса будет дальше выступать в роли шлюзов для выхода в другие подсети. Таким образом, мы можем трафик хостов с одного VLAN маршрутизировать в другой VLAN. Что дает нам маршрутизация VLAN по сравнению с простой маршрутизацией посетей без использования VLAN? А вот что:

Технология VLAN позволяет разделять сеть на логические сегменты. Каждый такой логический сегмент имеет свой широковещательный домен. Уникастовый, бродкастовый и мультикастовый трафик передается только между устройствами входящими в один VLAN. VLAN часто используется для разделения IP сегментов сети, с последующей маршрутизацией и фильтрацией трафика между разными VLAN на маршрутизаторе или на L3 коммутаторе.

Как настраивать VLAN на Cisco роутере можно посмотреть в статье Cisco VLAN — настройка vlan на маршрутизаторе Cisco. Здесь речь пойдёт о настройке VLAN на коммутаторах Cisco Catalyst.

Перед настройкой VLAN на коммутаторе, необходимо определиться будет ли в сети использоваться протокол VTP (VLAN Trunking Protocol) или нет. Использование VTP облегчает управление (создание, удаление, переименовывание) VLAN-ами в сети. В случае с VTP изменение (информацию о VLAN) можно внести централизованно, на одном коммутаторе, и эти изменения распространятся на другие коммутаторы в сети. Если не использовать VTP, то изменения нужно вносить на каждом коммутаторе.

VTP накладывает свои ограничения: протокол VTP версии 1 и 2 поддерживает только базовый диапазон VLAN (c 1 по 1005), поддержка расширенного диапазона (с 1006 по 4094) возможна только в версии протокола 3. Поддержка протокола VTP 3 версии начинается с Cisco IOS версии 12.2(52)SE и выше. Настройку протокола VTP рассмотрим в другой статье, а в этой будем подразумевать, что не используем VTP.

Настройку VLAN на коммутаторе можно выделить в три этапа: создание VLAN, настройка портов, проверка.

1. Создание VLAN на Cisco Catalyst

Номера VLAN (VLAN ID) могут быть в диапазоне от 1 до 4094:

1 — 1005 базовый диапазон (normal-range)

1002 — 1005 зарезервированы для Token Ring и FDDI VLAN

1006 — 4094 расширенный диапазон (extended-range)

При создании или изменении VLAN можно задать следующие параметры:

На практике чаще всего, при создании VLAN задаётся только VLAN ID и VLAN name

Значения по умолчанию:

VLAN ID 1
VLAN name VLANxxxx, где xxxx четыре цифры номера VLAN (Например: VLAN0003, VLAN0200 и т.д.)
SAID 100000 плюс VLAN ID (Например: 100001 для VLAN 1, 100200 для VLAN 200 и т.д.)
VLAN MTU 1500
Translational VLAN number 1 0
Translational VLAN number 2 0
VLAN state active
Remote SPAN disabled

Для создания VLAN нужно:

1. Войти в привилегированный режим и ввести необходимый пароль (команда «enable«)

2. Переключиться в режим глобального конфигурирования (команда «configure terminal«)

3. Создать VLAN командой «vlan id«, где id — номер VLAN (После создания, консоль окажется в режиме конфигурирования VLAN, где можно задать перечисленные выше параметры для VLAN)

4. Задать необходимые параметры, для созданного VLAN (например имя)

Если, в режиме конфигурирования VLAN, ввести знак вопроса, то отобразятся параметры, которые можно задать для данного VLAN:

2. Настройка портов на Cisco Catalyst

Порт на коммутаторе Cisco может находиться в одном из режимов:

trunk — порт предназначен для подключения к другому коммутатору или маршрутизатору. Порт передаёт тегированный трафик. Может передавать трафик как одного, так и нескольких VLAN через один физический кабель.

На Cisco Catalyst можно самому задать режим порта (trunk или access), либо задать автоопределение. При автоопределении режима, порт будет согласовываться с соседом (подключенным к этому порту коммутатором или иным устройством). Согласование режима порта происходит путём передачи DTP (Dynamic Trunking Protocol) фреймов. Для успешной работы протокола DTP, необходимо, что бы интерфейсы были в одном VTP домене (либо один из VTP доменов был null, неточно)

Конфигурация порта по умолчанию:

Режим порта/интерфейса switchport mode dynamic auto
Разрешённые VLAN, если порт в режиме trunk с 1 по 4094
VLAN по умолчанию, если порт в режиме access 1
Native VLAN, если порт в режиме trunk (IEEE 802.1q) 1

Настройка порта в режим автоопределения.

— войти в привилегированный режим (команда: «enable«)

— войти в режим глобального конфигурирования (команда: «configure terminal«)

— войти в режим конфигурирования сетевого интерфейса (команда: «interface interface-id«, где interface-id — имя и номер интерфейса, например «interface GigabitEthernet0/21″)

— (не обязательно) задать VLAN, который будет на интерфейсе, если порт перейдёт из режима trunk в режим access, по умолчанию VLAN 1 (команда: «switchport access vlan vlan-id«, где vlan-id — номер VLAN)

— (не обязательно) задать Native VLAN, для IEEE 802.1q транка, по умолчанию Native VLAN 1 (команда: «switchport trunk native vlan vlan-id«, где vlan-id — номер Native VLAN)

— включить порт/интерфейс (команда: «no shutdown«)

В данном примере порт 23 переведётся в режим trunk, если порт на соседнем коммутаторе установлен в режиме dynamic auto или dynamic disirable или trunk . В транке будут передаваться только VLAN 2, VLAN с 30 по 35 и VLAN 40. При работе порта в режиме trunk, приходящий на него не тегированный (native) трафик будет помещаться (маркироваться) в VLAN 100. Если порт на соседнем коммутаторе работает в режиме access, то интерфейс будет помещён в VLAN 50.

Настройка access порта.

VLAN на access порту может задаваться статически либо автоматически. Автоматическое назначение VLAN основывается на МАК адресе источника, используя протокол VQP (VLAN Query Protocol) и сервер VMPS (VLAN Management Policy Server). Сервером VMPS могут выступать коммутаторы только старших моделей, такие серии как Catalyst 4000, 5000 и 6500. Автоматическую настройку access порта через VQP в данной статье рассматривать не будем. Здесь будет показано только статическое задание VLAN на access порту.

Для включения access порта в необходимый VLAN, нужно сделать:

— войти в привилегированный режим (команда: «enable«)

— войти в режим глобального конфигурирования (команда: «configure terminal«)

— войти в режим конфигурирования сетевого интерфейса (команда: «interface interface-id«, где interface-id — имя и номер интерфейса)

— задать VLAN на порту/интерфейсе (команда: «switchport access vlan vlan-id«, где vlan-id — номер VLAN)

— включить порт/интерфейс (команда: «no shutdown«)

Пусть к 22-му порту коммутатора подключен сервер, который необходимо поместить в 200-й VLAN

Настройка trunk порта.

Настройка порта в режиме trunk идентична настройки порта в режиме автоопределения, за исключением того, что режим нужно указать не dynamic а trunk.

В примере задаётся транк на 23-м порту, в транке разрешены только VLAN 2, VLAN с 30 по 35 и VLAN 40

Добавление VLAN в транковый порт выполняет команда: «switchport trunk allowed vlan add VLAN_NUM«

Пример добавления вланов 100 и 200 к существующим, в транковом порту 23:

УдалениеVLAN из транкового порта выполняет команда: «switchport trunk allowed vlan remove VLAN_NUM«

Пример удаления вланов 100 и 200 из существующих, в транковом порту 23:

Некоторые cisco коммутаторы поддерживают два протокола для работы с VLAN это IEEE 802.1q и ISL. Протокол ISL уже устарел и на многих современных коммутаторах не поддерживается. Поэтому предпочтительнее использовать протокол IEEE 802.1q

3. Проверка настройки VLAN

Посмотреть информацию о VTP протоколе: «show vtp status«

Показать информацию обо всех VLAN на коммутаторе: «show vlan«

Посмотреть информацию об конкретном VLAN, и узнать на каких он портах: «show vlan id vlan-id«

Посмотреть режим работы порта, native vlan, access vlan и прочее: «show interfaces interface-id switchport«

Иногда, необходимо на коммутаторе создать интерфейс 3-го уровня для VLAN. Например, для маршрутизации и фильтрации IP трафика между разными VLAN (должна быть поддержка L3 уровня как самой моделью коммутатора так и версией IOS). Либо просто создать интерфейс для управления этим коммутатором в специальном VLAN.

Сетевой интерфейс для VLAN создаётся в режиме глобального конфигурирования командой: «interface vlan-id«, где vlan-id — это номер VLAN.

Далее консоль переходит в режим конфигурирования интерфейса, где можно задать необходимые сетевые настройки ip адрес, маску сети, повесить ACL и прочее.

Читайте также: