Зачем делить сеть
Пока в сети десяток устройств, делить нечего. Проблемы начинаются, когда в одном сегменте оказываются рабочие компьютеры, камеры видеонаблюдения, гостевой Wi-Fi и сервер с бухгалтерией.
Безопасность. Любое устройство может обратиться к любому другому напрямую, и камера с прошивкой пятилетней давности становится удобной точкой входа в сеть.
Широковещательный трафик. Все слышат всех: каждый ARP-запрос и каждый анонс принтера обязаны обработать все участники сегмента.
Управляемость. Правила доступа проще писать для групп, а не для отдельных адресов.
Локализация аварий. Устройство, засоряющее сеть, мешает только своему сегменту.
Очевидное решение — поставить отдельный коммутатор под каждую группу. VLAN позволяет добиться того же результата настройками: один физический коммутатор ведёт себя как несколько независимых.
Как это работает
Каждому VLAN присваивается номер — от 1 до 4094. Порт коммутатора приписывается к определённому VLAN, и кадр, пришедший в такой порт, может уйти только в порты того же VLAN. Для устройства, подключённого к порту, всё выглядит абсолютно обычно: оно не знает, что находится в VLAN, и ничего настраивать не нужно.
Когда кадр нужно передать между коммутаторами, к нему добавляется тег с номером VLAN — это стандарт 802.1Q. Тег занимает четыре байта и вставляется прямо в заголовок кадра. Принимающий коммутатор читает его, понимает, к какой сети относится кадр, и передаёт в нужные порты. Перед отправкой конечному устройству тег снимается.
Важно понимать, что VLAN — это про второй уровень
Разделение происходит на уровне кадров, а не IP-адресов. Устройства в разных VLAN не видят друг друга, даже если у них адреса из одной подсети, — кадр просто не дойдёт. И наоборот, разные подсети в одном VLAN друг друга прекрасно услышат на канальном уровне. Поэтому на практике VLAN и подсеть делают взаимно однозначными: один VLAN — одна подсеть. Так никто не путается.
Access и trunk
Access | Trunk | |
|---|---|---|
Сколько VLAN проходит | Один | Несколько |
Теги | Снимаются, устройство их не видит | Сохраняются |
Куда включают | Компьютер, принтер, камера | Другой коммутатор, маршрутизатор, гипервизор |
Больше половины проблем с VLAN — это перепутанные типы портов. Подключили коммутатор в access-порт — прошёл только один VLAN, остальные молча исчезли. Настроили trunk в сторону компьютера — компьютер получает тегированные кадры, которых не понимает, и связи нет. Симптом «часть сети работает, часть нет» почти всегда растёт отсюда.
Native VLAN
В транке один VLAN может передаваться без тега — его называют native. Смысл в совместимости со старыми устройствами, но на практике это источник неприятностей: если на двух концах транка native указан разный, трафик из одного VLAN незаметно попадёт в другой. Безопасный подход — задавать native явно и одинаково с обеих сторон, а лучше выделить под него отдельный неиспользуемый номер.
Связь между VLAN
По задумке устройства из разных VLAN не видят друг друга — в этом весь смысл. Но полная изоляция нужна редко: бухгалтерии всё-таки нужен интернет, а админу — доступ к камерам. Соединяет VLAN между собой устройство третьего уровня.
Два способа
Первый — «роутер на палочке(Router-on-a-Stick)»: к маршрутизатору идёт один транк, а внутри него создаются виртуальные сабинтерфейсы, по одному на VLAN, каждый со своим адресом — он и становится шлюзом для своей сети. Схема простая и дешёвая, но весь межвлановый трафик ходит через один физический линк.
Второй — коммутатор третьего уровня: маршрутизация происходит внутри самого коммутатора, на специализированном железе, и скорость получается кратно выше. Берут его там, где между сегментами гоняются реальные объёмы данных.
VLAN в Wi-Fi и на гипервизоре
Проводной сетью дело не ограничивается — именно на беспроводной части VLAN чаще всего и окупается. Точка доступа умеет привязывать каждый SSID к своему номеру VLAN: гостевая сеть уходит в гостевой сегмент, рабочая — в рабочий, и всё это по одному кабелю до точки.
Порт, в который включена такая точка, настраивается транком: по нему должны пройти сразу несколько VLAN. Классическая ошибка здесь — поставить access-порт и потом полдня выяснять, почему гостевой Wi-Fi поднимается, но адресов не получает: кадры гостевого VLAN до DHCP-сервера просто не доезжают.
То же самое на виртуализации
С гипервизором логика идентичная: физический порт сервера настраивается транком, а виртуальный коммутатор внутри раскладывает машины по VLAN. Одна виртуалка оказывается в рабочей сети, другая — в демилитаризованной зоне, хотя сетевая карта у них общая.
Практический вывод один и тот же для обоих случаев: если устройство обслуживает несколько сетей сразу — будь то точка доступа, гипервизор или второй коммутатор, — порт под него всегда транк. Access-порт годится только для конечного устройства, живущего ровно в одной сети.







