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

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

Начало

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

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

Допустим, что все эти компьютеры имеют одинаковую первую (1) подсеть, например: ПК1 имеет адрес 192.168.1.2; ПК2 имеет адрес 192.168.1.3; ПК3 имеет адрес 192.168.1.4 и так далее. Таким образом, все они находятся в одной подсети.

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

  1. Пакет доходит до ComSitch2, и он отправляет его на ПК2 и на центральный коммутатор
  2. Затем пакет доходит до центрального коммутатора. Но ComSitch1 отправляет пакеты на два других коммутатора: 3 и 4.
  3. Они, в свою очередь, отправят пакеты на все остальные ПК: 3, 4, 5 и 6.

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

Здесь возникают две проблемы:

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

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

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

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

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

Итак, мы добавляем еще один тег, который содержит необходимую для нас информацию:

  1. TPID — всегда состоит из 2 байт и обычно равен 0x8100. Он означает «Идентификатор тегированного протокола».
  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 стандартной консольной командой:

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

Разберем по пунктам:

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

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

Давайте дадим нашему устройству какое-то имя:

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

Для настройки воспользуемся примером из нашей иллюстрации, которую я показывал в начале. В ней мы имеем:

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

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

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

Сейчас подключим наши компьютеры и настроим для них отдельные VLAN. Первый компьютер подключим к первому порту, а второй – ко второму. Для входа в конфигурацию первого порта вводим:

ВАЖНО! Запомните, что команда с указанием «interface» позволяет настроить данный объект.

SW1(config)#interface fastEthernet 0/1

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

SW1(config-if)#switchport mode access

Мы создали второй VLAN, теперь осталось привязать первое устройство к нему:

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. Теперь нам нужно подключить наш первый коммутатор к центральному. Для этого мы будем использовать 24-ый порт. И, конечно, нам нужно переключить его в режим транка:

SW1(config)#interface fastEthernet 0/24 SW1(config-if)#switchport mode trunk

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

SW1(config-if)#switchport trunk allowed vlan 2

Дополнительно рекомендуется проверить таблицу маршрутизации:

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

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

show interfaces trunk

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

Здесь мы можем увидеть наш 24-й порт, необходимый для соединения с центральным коммутатором. Опять же, я хочу подчеркнуть, что настройка статуса порта (транк или доступ) обязательна для внешних портов. В противном случае настройка VLAN вообще не имеет смысла.

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

CentrSW(config)#vlan 3 CentrSW(config-vlan)# name buhgalter

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

CentrSW(config)#vlan 4 CentrSW(config-vlan)# name otdel-kadrov

Поскольку данный коммутатор будет связан только с сетевыми устройствами, мы будем использовать тегирование в режиме транка. Мы будем использовать первые 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 Дир-я

ПРИМЕЧАНИЕ! Для избежания путаницы необходимо называть VLAN так же, как на первом коммутаторе.

Теперь мы должны настроить 2-ой и 3-ий коммутатор аналогично первому. Я не буду описывать этот процесс здесь, потому что он выполняется одинаково. Просто не забудьте их назвать — «SW2» и «SW3». Затем просто создайте и подключите соответствующие VLAN: 3 и 4. Не забудьте также назвать их такими же именами, которые мы использовали в центральном коммутаторе.

Теперь мы подходим к следующей проблеме. Мы создали VLAN и даже разделили их по портам. Но давайте посмотрим на IP-адреса наших компьютеров:

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

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

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

    Что произойдет с данными при их отправке? В случае отправки пакета на ПК2, он достигнет первого коммутатора. Затем коммутатор отправит его одновременно на ПК2 и центральный коммутатор. После этого центральный коммутатор передаст пакеты на другие переключатели (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. Это очень полезное средство, которое гарантирует разделение трафика на уровне каналов и направление пакетов в нужном направлении. 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).

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

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

    Заходим в параметры и меняем его название, исходя из изображения:

    Маршрутизатор(config)#hostname Шлюз Шлюз(config)#

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

    Шлюз(config)#интерфейс fastEthernet 0/0.2 Шлюз(config-if)#инкапсуляция dot1Q 2 Шлюз(config-if)#ip адрес 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. Хотя он длится некоторое время, но содержит максимум полезной информации.

    Оцените статью
    Мои Советы
    Добавить комментарий