Vlan для чего предназначен
Твой Сетевичок
Все о локальных сетях и сетевом оборудовании
Что такое vlan: технология и настройка
На страницах нашего сайта мы неоднократно использовали термин VLAN в инструкциях по настройке различных роутеров и созданию корпоративной сети. Однако современная vlan технология требует детального изучения, поэтому следующий цикл статей посвящен характеристике и настройке «влан» на различных устройствах.
Данный материал является своего рода «вступительным словом», и здесь мы рассмотрим, что такое VLAN и как технология VLAN помогает в настройке сети.
Vlan: что это такое?
VLAN – технология, позволяющая сконфигурировать несколько виртуальных широковещательных доменов в рамках одного физического широковещательного домена.
Другими словами, имея «плоскую» физическую сеть из нескольких или одного коммутатора, можно разделить ее на несколько изолированных друг от друга полноценных «плоских» сетей, таким образом разграничив ПК пользователей по признаку принадлежности к определенному отделу или же в случае с серверами – по определенным ролям и специфике их работы.
В таком случае решаются одновременно несколько проблем:
Сетевая архитектура использует VLAN для обеспечения сетевой сегментации сервисов, обычно осуществляемой маршрутизаторами, которые фильтруют широковещательный трафик между разными VLAN-ми, улучшают безопасность сети, выполняют агрегацию подсетей и снижают перегрузку в сети. Коммутаторы не могут передавать трафик между VLAN-ами ввиду ограничения, накладываемого широковещательным доменом.
Некоторые коммутаторы могут иметь функции 3-го сетевого уровня модели OSI, храня и используя таблицу маршрутизации для осуществления передачи трафика между подсетями. В таком случае на коммутаторе создается виртуальный интерфейс конкретного VLAN с определенным ip-адресом и маской подсети. Такой интерфейс выступает в роли шлюза по умолчанию для устройств, находящихся в данном VLAN.
Для чего нужен vlan?
В сетях, основанных на широковещательном трафике, передающемся ко всем устройствам для нахождения пиров, с ростом количества пиров растет и количество широковещательного трафика (который потенциально может почти полностью вытеснить собой полезную нагрузку на сеть).
VLAN-ы же помогают снизить сетевой трафик формированием нескольких широковещательных доменов, разбивая большую сеть на несколько меньших независимых сегментов с небольшим количеством широковещательных запросов, посылаемых к каждому устройству всей сети в целом.
Технология VLAN также помогает создать несколько сетей 3-го уровня модели OSI в одной физической инфраструктуре. Например, если DHCP-сервер, раздающий ip-адреса, включен в коммутатор в определенном VLAN – устройства будут получать адреса только в рамках данного VLAN. Если же DHCP-сервер включен транком с набором из нескольких VLAN – устройства из всех этих VLAN смогут получить адреса.
VLAN работает на 2-м, канальном, уровне сетевой модели OSI, аналогично IP-подсетям, которые оперируют на 3-м, сетевом, уровне. Обычно каждому VLAN соответствует своя IP-подсеть, хотя бывают и исключения, когда в одном VLAN могут существовать несколько разных подсетей. Такая технология у Cisco известна как «ip secondary», а в Linux как «ip alias».
В старых сетевых технологиях пользователям присваивались подсети, основываясь на их географическом местоположении. Благодаря этому они были ограничены физической топологией и расстоянием. VLAN технология же позволяют логически сгруппировать территориально разрозненных пользователей в одни и те же группы подсетей, несмотря на их физическое местонахождение. Используя VLAN, можно легко управлять шаблонами трафика и быстро реагировать на переезд пользователей.
Технология VLAN предоставляет гибкую адаптацию к изменениям в сети и упрощает администрирование.
Примеры использования vlan
Пример разделения сети на несколько VLAN по сегментам в зависимости от ролей и используемых технологий:
Наиболее часто используемым стандартом для конфигурации VLAN является IEEE 802.1Q, в то время как Cisco имеет свой собственный стандарт ISL, а 3Com – VLT. И IEEE 802.1Q и ISL имеют схожий механизм работы, называемый “явным тегированием” – фрейм данных тегируется информацией о принадлежности к VLAN. Отличие между ними в том, что ISL использует внешний процесс тегирования без модификации оригинального Ethernet-фрейма, а 802.1Q – внутренний, с модификацией фрейма.
Что такое VLAN – для абсолютных чайников на примере настройки коммутатора Cisco
Всем привет! И сегодня мы постараемся полностью раскрыть вопрос – что такое VLAN и как его настроить на CISCO. Постараюсь писать, как можно проще и с простыми примерами – для чайников. Для полного понимания я советую прочесть статью от начала и до конца. Вам не нужно иметь под рукой коммутатор от CISCO, чтобы понять принципы стандартной настройки – все можно понять «на лету», так как я буду использовать простой пример. Если у вас будут какие-то вопросы или дополнения, пишите в комментариях.
Начало
Проблема локальных сетей и нескольких подсетей в том, что появляется угроза утечки информации. Давайте посмотрим на пример трех сетей: дирекция, бухгалтерия и отдел кадров. Конечно, в крупных компаниях сети куда больше, но мы рассмотрим более ужатый пример.
Представим себе, что все из этих компьютеров имеют одинаковую первую (1) подсеть, то есть – PC1 имеет адрес 192.168.1.2; PC2 имеет – 192.168.1.3; PC3 имеет адрес 192.168.1.4 и т.д. То есть все они находятся в одной подсети.
Подключены они все к разным коммутаторам. Если кто не знает, то коммутатор при отсутствии таблицы коммутации (при первом запуске) – отправляет приемный пакет на все порты. То есть если PC1 отправит пакет данных на компьютер PC2, то произойдет следующее:
А почему же так происходит? А происходит все из-за того, что PC1 пока не знает MAC-адрес второго компа и отправляем специальный пакет по протоколу ARP, для так называемого «прозвона». Также отправляющий комп не знает адрес канального уровня – вспоминаем сетевую модель OSI.
И тут возникает две проблемы:
Как ни странно, но пример, который я привел был работоспособным почти в самом начале создания сетей, когда ещё интернет был слабым и юным. О проблеме знали все, и её постаралась решить компания Cisco, которая в своих лабораториях изобрела совершенно новый протокол ISL. После этого протокол Inter-Switch Link был прикручен к IEEE под кодовым названием 802.1q – именно это название вы и можете встречать в интернете или на коробке от коммутаторов.
Для начала взглянем на обычный «Ethernet-кадр», находящийся в своей привычной среде обитания:
А теперь взглянем на новый кадр 802.1q:
Что у нас в итоге получается – добавляется ещё один тег с нужной для нас информацией:
Теперь мы подошли к одному очень интересному понятию. Как вы уже поняли, данный кадр 802.1q помогает правильно отправлять пакеты данных. Но вопрос в том, зачем добавлять кадр к пакету, который уже идёт на конечное устройство пользователя? Правильно – незачем.
Именно поэтому в маршрутизаторах и коммутаторах есть два понятия:
Нетегированный трафик – это пакеты данных, которые идут без кадра 802.1q. Тегирование VLAN как раз и происходит по двум портам: Trunk и Access. Если вам пока ничего не понятно, то не переживайте, дальше я все покажу на примере.
Настройка VLAN на коммутаторе
Приведу пример настройки VLAN на коммутаторе от компании CISCO. По сути у них все настройки делаются примерно одинаково, поэтому вы можете использовать данную инструкцию и в своих целях. Поддержка VLAN должна быть на всех коммутаторах с канальным уровнем.
Для начала давайте посмотрим всю таблицу коммутации VLAN стандартной консольной командной:
Смотрим по столбцам:
Для примера я буду использовать модель Cisco 2960 24tt, но принцип настройки, который буду показывать далее – одинаковый для всех их аппаратов. Плюс вы поймете принцип VLAN сразу и на примере.
Далее назовём как-то нашего зверя:
Switch(config)#hostname SW1
SW1(config)#
Покажу настройку на примере нашей любимой картинки, которую я показывал в самом начале. Тут у нас есть:
Запомните примерно данные названия, чтобы было проще ориентироваться при вводе команд. Можете также иногда посматривать на эту картинку.
Теперь давайте подключим наши компьютеры, и заведем им отдельные VLAN. К первому порту мы подключим первый комп, а ко второму – второй. Для того, чтобы попасть в конфиг первого порта прописываем:
ПРИМЕЧАНИЕ! Просто запомните, что команда с надписью «interface» вводит вас в настройку данного объекта.
SW1(config)#interface fastEthernet 0/1
Так как наш порт будет направлен именно на комп, то тегирование не нужно, и мы переводим его в нужное состояние:
SW1(config-if)#switchport mode access
2-ой ВЛАН мы создали, осталось теперь привязать 1-ое устройство к нему:
SW1(config-if)#switchport access vlan 2
Теперь тоже самое проделайте и для второго порта. В самом конце надо будет привязать второй порт к тому же самому VLAN2 – мы же хотим, чтобы они находились в одной сети.
На будущее – чтобы не прописывать каждый порт таким образом, вы можете прописать диапазон портов вот так:
SW1(config)#interface range fastEthernet 0/1-2
SW1(config-if-range)#switchport mode access
SW1(config-if-range)#switchport access vlan 2
Итак, два компьютера теперь у вас настроены правильно и находятся в одной VLAN. Теперь нам надо подключить наш 1-ый коммутатор к центральному. Для этого мы будем использовать 24-ый порт. И конечно же нам надо перевести его в режим с тегированием:
SW1(config)#interface fastEthernet 0/24
SW1(config-if)#switchport mode trunk
Как бы вроде мы все сделали, но есть одна проблема: в коммутаторе нет правила, которое бы ограничивало поступление пакетов с других ВЛАН – то есть проблема с безопасностью остается. Нам нужно теперь прописать такое правило, которое бы разрешало поступление на наш 24 порт только пакеты для VLAN2:
SW1(config-if)#switchport trunk allowed vlan 2
На всякий случай проверяем таблицу маршрутизации:
Как видите наш второй VLAN теперь имеет только два доступных порта. Единственный минус данного вывода информации в том, что вы не можете посмотреть статус тегирования портов. Для этого есть отдельная команда:
show interfaces trunk
Вот тут мы видим наш 24 порт, который нам нужен для связи с центральным коммутатором. Ещё раз повторюсь, что статус тегирования (Trunk или Access) – обязательно нужно настраивать для внешних портов. В противном случае не будет смысла вообще в настройке VLAN.
Первый коммутатор мы настроили, теперь давайте настроим третий. В первую очередь нужно создать три ВЛАН для каждой из структур: дирекция, бухгалтерия и отдел кадров. VLAN 2 уже закрепился за дирекцией. Создаем VLAN для бухгалтерии:
CentrSW(config)#vlan 3
CentrSW(config-vlan)# name buhgalter
Теперь создаем внутреннюю сеть для отдела кадров:
CentrSW(config)#vlan 4
CentrSW(config-vlan)# name otdel-kadrov
Ну так как данный коммутатор будет иметь связь только с сетевыми устройствами, то мы будем использовать тегирования в статусе trunk. А использовать мы будем первые 3 порта.
CentrSW(config)#interface range fastEthernet 0/1-3
CentrSW(config-if-range)#switchport mode trunk
Вам не кажется, что мы что-то упустили? Наш центральный коммутатор по идее будет связующим звеном – ведь так?! Но мы забыли создать VLAN 2 для первого сегмента:
CentrSW(config)#vlan 2
CentrSW(config-vlan)# name Dir-ya
ПРИМЕЧАНИЕ! Дабы не запутаться обязательно называем ВЛАН как на первом коммутаторе.
А теперь останется настроить 2-ой и 3-ий коммутатор по аналогии с первым. Описывать это тут я не стану, так как делается все одинаково. Только не забудьте обозвать их – как «SW2» и «SW3». Далее нужно просто создать и прикрутить соответствующие VLAN: 3 и 4. Также не забудьте их обозвать теми же наименованиями, которые мы применили в центральном коммутаторе.
И тут мы подходим к следующей проблеме. VLAN мы создали и даже разделили на разные по портам. Вроде разделение есть, но давайте взглянем на IP адреса наших компов:
Да – все компы находятся в одной сети. Да, мы ограничили трафик на канальном уровне с помощью разбиения сегментов и портов на VLAN. Вообще мы могли просто бы разделить данную сеть на 3 подсети и трафик также бы был ограничен. Дело в том, что коммутатор не может разделять трафик между разными подсетями – это уже сетевой уровень модели OSI.
ПРИМЕЧАНИЕ! Если вы ещё путаетесь в этих понятиях, то советую прочесть статью про OSI – ссылку я оставил в самом начале статьи.
Все я это сделал в учебных целях и вообще нужно разделять сети и на канальном, и на сетевом уровне. Это можно сделать вручную на компьютерах. Но статья немного не об этом.
Теперь что будет происходить с отправлением данных? Если мы отправим пакет на PC2, то он дойдет до первого коммутатора. Далее коммутатор отправит его одновременно на PC2 и на центральный Switch. После этого центральный коммутатор отправит пакеты на другие SW (2 и 3). Там коммутаторы, у которых прописаны правила только для VLAN: 3 и 4 – просто отправят пакет в утиль. То есть данный пакет не дойдет до компов: 3, 4, 5 и 6.
Ситуация с переездом сотрудника
Давайте рассмотрим ситуацию, что в отдел бухгалтерии нужно будет посадить сотрудника из совершенно другого отдела (на время). Допустим Елена Павловна не может сидеть в отделе Дирекции летом, так как у нее сильно повышается давление, а там не кондиционера. Начальство решает переселить её на летнее время в бухгалтерию.
Итак, что мы будем делать?! В первую очередь мы подключим её компьютер к следующему третьему порту второго свича. Теперь возникла проблема в том, что на втором коммутаторе и слухом не слыхивали про 2-ой ВЛАН и его надо создать:
SW2(config)#vlan 2
SW2(config-vlan)#name Dir-ya
Теперь нужно 3-порт настроить и добавить его в VLAN2. И также не забываем прописать ему модель тегирования:
SW2(config)#interface fastEthernet 0/3
SW2(config-if)#switchport mode access
SW2(config-if)#switchport access vlan 2
Теперь нам нужно разрешить пропускать VLAN2 пакеты именно на внешнем порту. У второго свича (как и у всех) – это 24-ый порт. Внимательно пропишите команду:
SW2(config)#interface fastEthernet 0/24
SW2(config-if)#switchport trunk allowed vlan add 2
Теперь переходим к центральному коммутатору:
CentrSW(config)#interface fastEthernet 0/1
CentrSW(config-if)#switchport trunk allowed vlan 2
CentrSW(config)#interface fastEthernet 0/2
CentrSW(config-if)#switchport trunk allowed vlan 2,3
CentrSW(config)#interface fastEthernet 0/3
CentrSW(config-if)#switchport trunk allowed vlan 4
Заметьте, что для 2 внешнего порта мы разрешили использовать сразу два влана. Теперь при отправке пакета – он будет доходить до центрального коммутатора. Далее он будет отправлен на 2 свич, у которого уже прописано правило – разрешающее отправлять VLAN2 пакеты только на выделенный 3 порт – где как раз и сидит переселенный сотрудник: Елена Павловна.
Общение между собой
Теперь мы подошли к вопросу использования VLAN – как видите это полезная вещь, которая строго разделяет трафик на канальном уровне и позволяет отправлять пакеты только в нужную сторону. Таким образом организовывается работа больших организаций, где есть большое количество отделов, которые не должны видеть друг друга. Но одна из проблем у нас все же остается, а именно – проблема одной сети. Все наши компьютеры находятся в первой подсети, что неправильно, и нам надо их разбить.
Но для этих целей нам также понадобится маршрутизатор, чтобы объединить сеть также и на сетевом уровне. Для этого мы подключим маршрутизатор Cisco 2811.
В настройках нам также надо будет указать шлюзы, но они будут стандартные:
Маска будет везде одинаковая: 255.255.255.0 (/24).
Для чего вообще нужен маршрутизатор – он будет позволять общаться компьютерам, которые находятся в разных VLAN. Для этого будет использоваться адрес шлюза, у каждой подсети.
Настройка маршрутизатора
Заходим в настройки и обзываем его исходя из картинки:
Router(config)#hostname Gateway
Gateway(config)#
Так как маршрутизатор подключен к центральному коммутатору, то шлюзы у нас будут не физические, а виртуальные (сабинтерфейс), так как мы ведь не подключили компьютеры напрямую к маршрутизатору. Для этого надо на маршрутизаторе настроить три этих самых сабинтерфейса – ведь у нас 3 VLAN и 3 подсети:
Gateway(config)#interface fastEthernet 0/0.2
Gateway(config-if)#encapsulation dot1Q 2
Gateway(config-if)#ip address 192.168.1.1 255.255.255.0
Теперь создаем виртуальный шлюз для второй подсети. Обратите внимание, что для порта мы прописываем команду: «0/0.3». Хотя в прошлых коммутаторах мы явно указывали порт. Все это из-за того, что за шлюз будет отвечать, как раз вот этот маршрутизатор, который не подключен напрямую к устройствам.
Gateway(config)#interface fastEthernet 0/0.3
Gateway(config-if)#encapsulation dot1Q 3
Gateway(config-if)#ip address 192.168.2.1 255.255.255.0
Осталось создать шлюз для последней подсети:
Gateway(config)#interface fastEthernet 0/0.4
Gateway(config-if)#encapsulation dot1Q 4
Gateway(config-if)#ip address 192.168.3.1 255.255.255.0
Чуть не забыл сказать – маршрутизатор мы подключим к 24 порту центрального коммутатора. Теперь нам нужно разрешить отправлять пакеты всех вланов на маршрутизатор через 24 порт, к которому мы и подключились:
CentrSW(config)#interface fastEthernet 0/24
Не забываем указать «транковое» тегирование, ведь пакеты будут идти на сетевое устройство, а не на компьютер:
CentrSW(config-if)#switchport mode trunk
Все VLAN можно прописать просто через запятую:
CentrSW(config-if)#switchport trunk allowed vlan 2,3,4
Теперь, например, если отправить пакет данных из первого компьютера к пятому, произойдет следующее:
Именно так заполняется таблица маршрутизации. Такой долгий путь обычно начинается в самом начале. Впоследствии маршрутизатор помогает общаться всем компьютерам именно через канальный уровень.
Видео
Более детально про VLAN рассказывается в данном видео, оно достаточно долгое, но максимально информативное.
Виртуальная локальная сеть VLAN — Объясняем на картинках
Что такое Virtual local area network (VLAN) это виртуальная локальная сеть, позволяющая делить 1 физическую сеть на некоторое количество других логических сетей, которые работают вне зависимости друг от друга. Надеюсь вы прочитали статью про модель открытых систем OSI, так как технология vlan реализуется коммутаторами и находится на канальном уровне модели.
Для чего нужна vLan?
Зачем делить 1 сеть на несколько изолированных частей? К примеру, когда строят сеть для большой компании, известно, что каждый отдел хочет иметь свою собственную сеть, которая разделена от других.
Конечно, можно создать отдельную физическую сеть на основе отдельных коммутаторов. Но если строить сеть огромного бизнес-центра, то мы заранее не поймем сколько будет арендаторов, сколько квадратных метров им будет нужно. Следовательно, нужно построить одну большую сеть для всего бизнес-центра, а потом логически делить ее на отдельные части в зависимости от нужды арендаторов.
Преимущества деления и изоляции vlan
Во-первых, безопасность. Если ты арендуешь помещение в каком-либо здании, тебе необходимо, чтобы данные были недоступны для других арендаторам.
Во-вторых, это распределение нагрузки. Например, рядом с вами в организации работает команда, которая занимается разработкой сетевых протоколов, и они активно работают. Вдруг, в их эксперименте что-то пошло не так, и вся сеть компании упала. Соответственно, вы не хотите, чтобы их действия повлияли на работу вашей сети.
В-третьих, ограничение широковещательного трафика. Если коммутатор не может найти в каком порту находится получатель, то он отправляет этот кадр на все порты. В сети с огромным множеством компьютеров такого широковещательного трафика много и он занимает высокий % нагрузки сети. А если вы изолируете сеть, то широковещательный трафик будет распространяться в рамках этой изолированной сети и объем трафика сокращается.
VLAN в коммутаторах
В большинстве случаев, чтобы обозначить виртуальные сети, используют различные цвета. К примеру, у нас есть ноутбуки, которые подключены к единственному коммутатору. Порты коммутатора отмечены разными цветами в зависимости, в какой vlan они входят. Порты, которые синим цветом входят в синий vlan, соответственно жёлтые в жёлтый. Ноутбуки, которые находятся в синем vlan могут взаимодействовать, друг с другом и не могут отправить никаких данных ноутбукам, которые находятся в желтом vlan и наоборот.
Как это работает?
В таблице коммутации, на рисунке ниже, есть поле в котором написано “идентификатор VLAN”, как правило для этих целей используют обычные числа.
По таблице смотрим, что порт 1 и 5 входят в vlan №2, а порты 2-4 в vlan №3. Если компьютеры подключенные к порту 1 и входящие в vlan 2 попытаются переслать данные к компьютеру подключенному к порту 4 входящий в вилан 3, то даже если компьютер отправителя знает MAC-адрес компьютера получателя, коммутатор не передаст этот кадр. Потому что порты находятся в разных виртуальных сетях и передача данных между ними невозможна.
Хорошо, когда сеть построена на одном коммутаторе, тогда подойдет вариант с таблицей коммутации и номерами vlan. Что делать, если в сети используются 2 или более коммутаторов? При отправлении кадров от одного коммутатора к другому, нужна информация к какому вилэну принадлежит передаваемый кадр. Информацию о № vlan нужно включать в отправляемый кадр, альтернативного варианта получить эту информацию у принимающего коммутатора нет.
С противоположной стороны, формат кадра Ethernet задан стандартом IEEE и в нем нет места для идентификатора VLAN. Чтобы включить № вилан в Ethernet кадр, нужно было изменить формат. Это изменение было предложено в стандарте IEEE 802.1Q. Но было нельзя просто добавить отдельное поле для номера вилан, потому что нужно обеспечить согласование со всем существующим оборудованием.
В стандарте IEEE 802.1Q в поле тип кадра, было предложено, вместо протокола верхнего уровня вставить специальное значение в шестнадцатеричном виде 8100 — это показатель того, что кадр содержит номер вилана. Далее в части, где в стандартном кадре Ethernet должны находиться данные, есть поле из 2-х байт, которое содержит номер вилана — Тег и еще одно поле из двух байт, куда записывается код протокола вышестоящего уровня.
Чтобы передавать данные размером 1500 байт в кадрах с идентификатором вилана, max длина кадра была увеличена на четыре байта.
Передача данных с использованием стандарта IEEE 802.1Q
Сетевой адаптер в ноутбуке генерит Ethernet кадр, внутри которого вложен IP пакет, в поле “Тип” — код протокола уровня выше, содержится значение 0800.
Коммутатор получает этот кадр, и понимает, что он был получен с ноутбука входящего в желтый вилан. Например, номер желтого вилана 2. Коммутатор добавляет служебные поля, в поле “Тип” протокола следующего уровня, значение 0800 заменяется на 08100. Потом добавляется номер вилана 2 и записывается код протокола следующего уровня 0800, для того, чтобы его, в дальнейшем можно было восстановить.
Принимающий информацию коммутатор извлекает эту информацию о vlan, осознает, что кадр был отправлен вилэн с номеров 2, т.е. в желтый вилан. Затем этот коммутатор удаляет из кадра информацию о номере вилэн и восстанавливает старое значение протокола следующего уровня 0800, что соответствует IP.
И вот такой кадр отправляет принимающему ноутбуку. Сейчас почти все сетевые адаптеры поддерживают стандарт 802.1Q и уже сам ноутбук может вставить нужные поля с номером вилана в кадр.