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

Всем привет! И сегодня мы постараемся полностью раскрыть вопрос – что такое VLAN и как его настроить на CISCO. Постараюсь писать, как можно проще и с простыми примерами – для чайников. Для полного понимания я советую прочесть статью от начала и до конца. Вам не нужно иметь под рукой коммутатор от CISCO, чтобы понять принципы стандартной настройки – все можно понять «на лету», так как я буду использовать простой пример. Если у вас будут какие-то вопросы или дополнения, пишите в комментариях.

Начало

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

Что такое 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.

Если вы подзабыли, что такое коммутатор, то идем читать статейку тут.

А почему же так происходит? А происходит все из-за того, что PC1 пока не знает MAC-адрес второго компа и отправляем специальный пакет по протоколу ARP, для так называемого «прозвона». Также отправляющий комп не знает адрес канального уровня – вспоминаем сетевую модель OSI.

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

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

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

Для начала взглянем на обычный «Ethernet-кадр», находящийся в своей привычной среде обитания:

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

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

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

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

  1. TPID – всегда будет состоять из 2 байт и обычно равен 0x8100. В переводе с английского «Tag Protocol ID» – обозначает «Идентификатор тегированного протокола».
  2. PCP – в нем обычно записывается приоритет того или иного трафика. Чем приоритетнее трафик, тем больше шансов, что коммутатор обработает его первым. Полезная вещь в крупных сетях. Три буквы расшифровываются – как «Priority Code Point», а переводятся как – приоритет или значение приоритета
  3. CFI – может иметь только два значения: 0 и 1, – так как данное поле имеет размер в 1 бит.
  4. VID – определяет в каком VLAN находится выделенный кадр. Обычно состоит из 12 бит. Расшифровывается как VLAN ID.

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

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

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

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

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

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

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

show vlan

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

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

  1. Тут находится номер нашего ВЛАН подключения. Чуть ниже вы видите другие номера с 1002 по 1005 – они зарезервированы и их удалить или поменять как-то НЕЛЬЗЯ!
  2. Далее идут имена.
  3. Статус – может быть активным или активным и одновременно не поддерживаемым – как на последних зарезервированных портах.
  4. И последняя строка – одна из самых главных. Тут мы задаем каждому VLAN свои порты и тут мы «разделаем пространство» бухгалтеров от отдела кадров. FA0/1 переводится как «Fast Ethernet» – 1 порт. Как видите у нас тут 24 порта «Fast Ethernet» со скоростью 100 Мбит в секунду. И 2 порт: Gig01 и Gig02 – со скоростью 1000 Мбит (или 1 Гбит) в секунду (мы их пока трогать не будем).

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

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

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

Switch(config)#hostname SW1
SW1(config)#

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

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

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

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

Создаем VLAN 2:

SW1(config)#vlan 2

Задаем ему имя:

SW1(config-vlan)#name Dir-ya

Теперь давайте подключим наши компьютеры, и заведем им отдельные 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 – для абсолютных чайников на примере настройки коммутатора Cisco

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

show interfaces trunk

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

Вот тут мы видим наш 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 адреса наших компов:

  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-ой ВЛАН и его надо создать:

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.

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

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

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

Маска будет везде одинаковая: 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

Теперь, например, если отправить пакет данных из первого компьютера к пятому, произойдет следующее:

  1. Отправка будет осуществлена по IP адресу с 192.168.1.1 (комп 1) на адрес 192.168.3.2 (комп 5).
  2. Первый комп вообще не понимает: «кто это вообще такой?», – и поэтому он отправляет пакет своему центральному шлюзу (192.168.1.1). Он отправляет пакет по протоколу ARP, используя MAC-адрес, чтобы запрос точно дошел до шлюза.
  3. Пакет доходит до центрального свича, далее идет к маршрутизатору. И потом ответ идет обратно до первого компа.
  4. Теперь первый комп понимает – где находится пятый и отправляет пакет по протоколу ICMP.
  5. Пакет доходит обратно до маршрутизатора. Роутер не знает ничего про пятый комп (192.168.3.2), но знает про коммутатор (SW3) и отправляет туда запрос.
  6. Коммутатор уже связывается с 5 компом, который отправляет ответ обратно.
  7. Но ответ доходит только до маршрутизатора, который записывает данный IP адрес в свою таблицу.
  8. Как видите, ответ все никак не может дойти до первого компа, хотя запрос уже был отправлен ранее. Тогда он отправляет новый пакет запросов, и вот уже тот через маршрутизатор идет до 5-го компьютера.

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

Видео

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

Автор статьи
Бородач 2431 статей
Сенсей по решению проблем с WiFiем. Обладатель оленьего свитера, колчана витой пары и харизматичной бороды. Любитель душевных посиделок за танками.
WiFiGid
Комментарии: 4
  1. Денис

    Главное года не бойтесь, он там простой – самое главное просто читайте. Автор не обманул и правда очень все доступно и понятно. Спасибо!

  2. Рома

    Да также код сначала напугал, но оказалось все куда проще чем кажется. Благодарю…

  3. Дима

    Ничего так и не понял. :sad:

  4. Аноним

    Все хорошо, но лучше не паясничать с фразами, чтобы не путаться, например как с картинками вначале и потом (они разные). Потому как это не литературный опус, а статья из точной науки и здесь все должно соответствовать, а не мы должны гадать – “зверь” это ШО? Ну и тд и тп….

Добавить комментарий
После отправки комментарий может не отображаться - это нормально. Сразу же после модерации он будет опубликован. Если Вы хотите быстро узнать о получении ответа, рекомендуем оставить свой e-mail (это необязательно). E-mail используется исключительно для Вашего оповещения, мы не занимаемся спамом.

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.