VLAN для Чайников – что это такое и пример настройки

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

Начало

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

VLAN для чайников: что это такое и пример конфигурации

Представим, что все эти компьютеры имеют одну и ту же первую (1) подсеть, т.е. ПК1 имеет адрес 192.168.1.2; ПК2 имеет — 192.168.1.3; ПК3 имеет адрес 192.168.1.4 и так далее, т.е они все в одной подсети.

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

  • Пакет прибудет на Switch2 и отправит его на PC2 и центральный коммутатор
  • Затем пакет прибудет на центральный коммутатор. Но Switch1 будет отправлять пакеты на два других коммутатора: 3 и 4.
  • Они, в свою очередь, отправят пакеты на все остальные ПК: 3, 4, 5 и 6.
  • Если вы забыли, что такое свитч, то давайте прочитаем статью здесь.

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

    И тут две проблемы:

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

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

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

    VLAN для чайников: что это такое и пример конфигурации

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

    VLAN для чайников: что это такое и пример конфигурации

    В итоге мы добавляем еще один тег с необходимой нам информацией:

  • TPID: всегда будет состоять из 2 байтов и обычно равен 0x8100. В переводе с английского «Tag Protocol ID» означает «Tagged Protocol Identifier».
  • PCP: Обычно записывает приоритет определенного трафика. Чем выше приоритет трафика, тем больше вероятность того, что коммутатор обработает его первым. Полезная вещь в больших сетях. Расшифровываются три буквы — как «Priority Code Point», а переводятся как — priority или значение приоритета
  • CFI: может иметь только два значения: 0 и 1, так как это поле имеет размер 1 бит.
  • VID — определяет, в какой сети VLAN находится выбранный фрейм. Обычно он состоит из 12 бит. Это означает идентификатор VLAN.
  • Теперь мы подошли к очень интересной концепции. Как вы уже поняли, этот фреймворк 802.1q помогает корректно отправлять пакеты данных. Но вот вопрос, зачем добавлять фреймворк в пакет, который уже идет на конечное устройство пользователя? Правильно, не надо.

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

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

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

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

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

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

    показать влан

    VLAN для чайников: что это такое и пример конфигурации

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

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

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

    Далее, давайте назовем наше животное как-нибудь:

    Изменить (config) # имя хоста SW1
    SW1 (настройки)#

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

    • Переключатели: SenterSW, SW1, SW2, SW3.
    • Компоненты: ПК1, ПК2, ПК3, ПК4, ПК5, ПК

    Примерно запомните эти имена для удобной навигации при вводе команд. Иногда можно посмотреть и на эту картинку.

    VLAN для чайников: что это такое и пример конфигурации

    Создайте VLAN 2:

    SW1(конфигурация)#vlan2

    Дайте ему имя:

    SW1 (config-vlan) # имя Дир-я

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

    ПРИМЕЧАНИЕ! Просто помните, что команда с надписью «интерфейс» приведет вас к конфигурации этого объекта.

    SW1(config)#интерфейс fastEthernet 0/1

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

    SW1(config-if)#переключатель режима доступа к порту

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

    SW1(config-if)#переключатель порта доступа vlan 2

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

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

    SW1 (config) # диапазон интерфейса fastEthernet 0/1-2
    Доступ к режиму SW1 (config-if-range) #switchport
    SW1(config-if-range)#switchport access vlan 2

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

    SW1(config)#интерфейс fastEthernet 0/24
    SW1 (config-if) # транк режима switchport

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

    SW1 (config-if) # магистральный коммутатор, разрешенный vlan 2

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

    VLAN для чайников: что это такое и пример конфигурации

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

    показать интерфейс транка

    VLAN для чайников: что это такое и пример конфигурации

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

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

    CentrSW(config)#vlan 3
    CentrSW(config-vlan)# имя бухгалтера

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

    CentrSW(config)#vlan 4
    CentrSW(config-vlan)# имя otdel-kadrov

    Что ж, поскольку этот коммутатор будет обмениваться данными только с устройствами в сети, мы будем использовать тегирование состояния транка. И мы будем использовать первые 3 порта.

    CentrSW(config)#диапазон интерфейса fastEthernet 0/1-3
    CentrSW(config-if-range)#switchport mode trunk

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

    CentrSW(config)#vlan 2
    CentrSW(config-vlan)# имя Dir-ya

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

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

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

  • 192.168.1.2
  • 192.168.1.3
  • 192.168.1.4
  • 192.168.1.5
  • 192.168.1.6
  • 192.168.1.7
  • Да, все компы в одной сети. Да, мы ограничили трафик канального уровня, разделив сегменты и порты на VLAN. В общем, мы могли бы просто разделить эту сеть на 3 подсети и трафик тоже был бы ограничен. Дело в том, что коммутатор не может разделять трафик между разными подсетями; это уже сетевой уровень модели OSI.

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

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

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

    VLAN для чайников: что это такое и пример конфигурации

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

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

    VLAN для чайников: что это такое и пример конфигурации

    Тогда, что мы будем делать?! Сначала мы подключим ваш компьютер к следующему третьему порту на втором коммутаторе. Теперь возникла проблема, что на втором коммутаторе никогда не слышали о 2-м VLAN и пришлось его создать:

    SW2(конфигурация)#vlan2
    Sw2(config-vlan)# имя каталога

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

    SW2(config)#интерфейс fastEthernet 0/3
    SW2(config-if)#переключатель режима доступа к порту
    SW2(config-if)#переключатель порта доступа vlan 2

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

    SW2(config)#интерфейс fastEthernet 0/24
    SW2 (config-if) # транк коммутатора разрешен vlan add 2

    Теперь перейдем к центральному выключателю:

    CentrSW(config)#интерфейс fastEthernet 0/1
    CentrSW(config-if)#switchport магистраль разрешена vlan 2
    CentrSW(config)#интерфейс fastEthernet 0/2
    CentrSW(config-if)#switchport магистраль разрешена vlan 2.3
    CentrSW(config)#интерфейс fastEthernet 0/3
    CentrSW(config-if)#switchport магистраль разрешена vlan 4

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

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

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

    Но для этих целей нам нужен еще и роутер для подключения сети на сетевом уровне. Для этого подключим роутер Cisco 2811.

    VLAN для чайников: что это такое и пример конфигурации

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

  • 192.168.1.1 — для адреса
  • 192.168.2.1 — для бухгалтерии
  • 192.168.3.1 — для отдела кадров
  • Маска будет везде одинаковая: 255.255.255.0 (/24).

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

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

    Входим в конфигурацию и называем ее согласно изображению:

    Маршрутизатор (конфигурация) # имя хоста Шлюз
    Шлюз (конфигурация)#

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

    Шлюз (конфигурация) # интерфейс fastEthernet 0/0.2
    Шлюз (config-if) # инкапсуляция dot1Q 2
    Шлюз (config-if)#IP-адрес 192.168.1.1 255.255.255.0

    Теперь создаем виртуальный шлюз для второй подсети. Обратите внимание, что для порта прописываем команду: «0/0.3». Хотя в предыдущих коммутаторах мы явно указывали порт. Все это потому, что этот маршрутизатор, который напрямую не подключен к устройствам, будет отвечать за шлюз.

    Шлюз (конфигурация) # интерфейс fastEthernet 0/0.3
    Шлюз (config-if) # инкапсуляция dot1Q 3
    Шлюз (config-if)#IP-адрес 192.168.2.1 255.255.255.0

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

    Шлюз (конфигурация) # интерфейс fastEthernet 0/0.4
    Шлюз (config-if) # инкапсуляция dot1Q 4
    Шлюз (config-if)#IP-адрес 192.168.3.1 255.255.255.0

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

    CentrSW(config)#интерфейс fastEthernet 0/24

    Не забудьте указать метку «транк», потому что пакеты будут идти на сетевое устройство, а не на компьютер:

    CentrSW(config-if)#switchport mode trunk

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

    CentrSW(config-if)#switchport магистраль разрешена vlan 2,3,4

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

  • Доставка будет осуществляться с IP-адреса 192.168.1.1 (комп. 1) на адрес 192.168.3.2 (комп. 5).
  • Первый компьютер вообще не понимает: «это вообще кто?», а потому отправляет пакет на свой центральный шлюз (192.168.1.1). Он отправляет пакет ARP, используя MAC-адрес, чтобы убедиться, что запрос достигает шлюза.
  • Пакет поступает на центральный коммутатор, а затем отправляется на маршрутизатор. Затем ответ возвращается на первый компьютер.
  • Теперь первый компьютер понимает, где находится пятый, и отправляет пакет по ICMP.
  • Пакет возвращается к маршрутизатору. Маршрутизатор ничего не знает о пятом компьютере (192.168.3.2), но знает о коммутаторе (SW3) и отправляет туда запрос.
  • Коммутатор уже связывается с компьютером 5, который отправляет ответ.
  • Но ответ идет только на роутер, который записывает заданный IP-адрес в свою таблицу.
  • Как видите, ответ по-прежнему не может дойти до первого компьютера, хотя запрос уже был отправлен ранее. Затем он отправляет новый пакет запроса, и теперь он проходит через маршрутизатор на пятый компьютер.
  • Так заполняется таблица маршрутизации. Такой долгий путь обычно начинается с самого начала. Впоследствии маршрутизатор помогает всем компьютерам обмениваться данными через канальный уровень.

    Видео

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

    WIFIELEK.RU