⚙️ Теория
🧩 Зачем нужен VLAN
VLAN (Virtual LAN) это логическое разделение L2-сегментов на одном физическом коммутаторе/линке.
Задача VLAN:
- изолировать broadcast-домены;
- разделять среды (prod/dev/management/voice);
- упростить масштабирование сети без отдельной физики под каждый сегмент.
🏷️ 802.1Q tagging: что находится в кадре
При передаче tagged-трафика стандарт 802.1Q добавляет VLAN-tag в Ethernet-кадр.
Tag содержит:
PCP(3 бита) для приоритета QoS;DEI(1 бит);VID(12 бит) VLAN ID.
Практически важные границы:
- VLAN ID
1..4094доступны для использования; 0и4095зарезервированы.
🔌 Access vs Trunk порт
Access порт:
- переносит трафик одного VLAN;
- кадры на конечное устройство обычно уходят без тегов.
Trunk порт:
- переносит трафик нескольких VLAN;
- кадры обычно идут tagged (кроме native VLAN).
⚠️ Native VLAN и риски
Native VLAN на trunk это VLAN для untagged кадров.
Если native VLAN на двух концах trunk не совпадает, возможны:
- утечки трафика между сегментами;
- сложные для диагностики L2-инциденты.
Операционный принцип: минимизировать/контролировать untagged-трафик на trunk и явно фиксировать allowed VLAN list.
❓ Что нужно уметь объяснить
Почему VLAN это не security boundary "по умолчанию"?
VLAN дает сегментацию, но ошибка в trunk/native VLAN/ACL легко разрушает изоляцию.
Без L3/L4-контроля (ACL/firewall) полагаться только на VLAN как на полную защиту рискованно.
Почему "разрешить все VLAN на trunk" плохая практика?
Потому что это расширяет blast radius.
Лучше разрешать только необходимые VLAN для конкретного uplink/downlink.
Где чаще всего причина инцидента?
- несогласованный native VLAN;
- забытый VLAN в allowed list;
- непроверенный change на access/trunk роли порта.
🧪 Практика
1. Проверка VLAN-интерфейса в Linux
ip -d link show
bridge vlan show
Это показывает VLAN-конфигурацию, теги и принадлежность портов.
2. Создание VLAN subinterface
sudo ip link add link eth0 name eth0.100 type vlan id 100
sudo ip addr add 192.168.100.10/24 dev eth0.100
sudo ip link set eth0.100 up
3. Базовые guardrails для trunk
- задавать явный список
allowed VLAN; - одинаково задавать native VLAN на обоих концах;
- использовать отдельный VLAN под management;
- проверять изменения через pre/post-checklist.
4. Диагностика "плавающих" L2 проблем
- сравнить trunk-настройки с обеих сторон;
- проверить наличие untagged кадров в ожидаемо tagged-сегменте;
- убедиться, что STP и VLAN map согласованы по всей цепочке.
🧾 Вывод
VLAN/trunk это базовый инструмент сетевой архитектуры, но он требует дисциплины конфигурации.
Ключ к стабильности:
- четкая модель access/trunk,
- жесткий контроль allowed VLAN,
- согласованный native VLAN,
- регулярные проверки после изменений.
📚 Ссылки
- IEEE 802.1Q (VLAN standard family)
- Cisco: 802.1Q / Trunking overview
- Linux
ip-linkman page (VLAN type) - Linux bridge man page (
bridge vlan)