Skip to content

Настройка частных VLAN (Private VLAN)

Описание и назначение функции

Технология Private VLAN разделяет единый широковещательный домен на изолированные поддомены уровня L2. Все устройства остаются в одной IP-подсети, но получают ограничения на взаимодействие между портами внутри одной VLAN. Механизм использует пары идентификаторов: первичная VLAN (primary) содержит все вторичные VLAN (secondary), которые могут быть типа isolated или community.

Основные сценарии использования:

  • Изоляция серверов клиентов в дата-центрах и облачных средах
  • Сегментация абонентских устройств у провайдеров Ethernet-доступа
  • Защита хостов в веб-хостинговых платформах от атак соседей по сети
  • Ограничение взаимодействия между устройствами IoT при сохранении доступа к шлюзу

Private VLAN оптимизирует использование адресного пространства и позволяет применять крупные подсети без создания отдельной VLAN для каждого клиента.


Необходимые условия и предварительные требования

Для настройки Private VLAN требуется:

  • Коммутатор серии CIT L3200 с версией ПО v1.0.2 и выше
  • Создание первичной VLAN (primary) и как минимум одной вторичной VLAN (secondary)
  • Доступ к режиму привилегированного EXEC и режиму глобальной конфигурации

Назначение команд конфигурации

Команда Режим Назначение
vlan [id] Global config Создание VLAN и переход в режим конфигурации VLAN
private-vlan primary VLAN config Назначение VLAN роли первичной (primary) в домене Private VLAN
private-vlan isolated VLAN config Назначение VLAN роли изолированной вторичной (isolated secondary)
private-vlan community VLAN config Назначение VLAN роли групповой вторичной (community secondary)
private-vlan association [vlan-list] VLAN config (primary) Ассоциирование вторичных VLAN с первичной VLAN
private-vlan mode promiscuous Interface config Настройка порта как неизолированного (promiscuous)
private-vlan mode host Interface config Настройка порта как хост-порта (isolated или community)
private-vlan mapping [primary-vlan] add [secondary-list] Interface config Сопоставление вторичных VLAN с первичной на promiscuous-порту
private-vlan host-association [primary-vlan] [secondary-vlan] Interface config Ассоциирование хост-порта с парой primary-secondary VLAN
show private-vlan mapping Privileged EXEC Отображение сопоставлений первичных и вторичных VLAN
show private-vlan interface Privileged EXEC Отображение типов портов и их ассоциаций с VLAN

Команды создают трехуровневую иерархию: первичная VLAN объединяет вторичные VLAN, а порты получают роли в зависимости от требований изоляции.


Пример конфигурирования

Пошаговые инструкции

Шаг 1: Создание первичной VLAN

Switch(config)#vlan 100
Switch(vlan-100)# private-vlan primary
Switch(vlan-100)# exit

VLAN 100 становится первичной VLAN для всего домена Private VLAN.

Шаг 2: Создание вторичных VLAN

Switch(config)#vlan 99
Switch(vlan-99)# private-vlan isolated
Switch(vlan-99)# exit
Switch(config)#vlan 98
Switch(vlan-98)# private-vlan community
Switch(vlan-98)# exit

VLAN 99 определена как изолированная (isolated) — порты не взаимодействуют друг с другом. VLAN 98 определена как групповая (community) — порты взаимодействуют внутри группы.

Шаг 3: Ассоциирование вторичных VLAN с первичной

Switch(config)#vlan 100
Switch(vlan-100)# private-vlan association 99,98
Switch(vlan-100)# exit

Вторичные VLAN 99 и 98 ассоциированы с первичной VLAN 100 и образуют единый домен Private VLAN.

Шаг 4: Настройка неизолированного порта (promiscuous)

Switch(config)#interface 10gigaethernet 1/0/1
Switch(config-10ge1/0/1)# port link-type access
Switch(config-10ge1/0/1)# port default vlan 100
Switch(config-10ge1/0/1)# private-vlan mode promiscuous
Switch(config-10ge1/0/1)# private-vlan mapping 100 add 99,98
Switch(config-10ge1/0/1)# exit

Порт 10ge1/0/1 настроен как promiscuous и может взаимодействовать со всеми вторичными VLAN. Обычно используется для подключения шлюза или сервера управления.

Шаг 5: Настройка изолированных хост-портов

Switch(config)#interface 10gigaethernet 1/0/2
Switch(config-10ge1/0/2)# port link-type access
Switch(config-10ge1/0/2)# port default vlan 99
Switch(config-10ge1/0/2)# private-vlan mode host
Switch(config-10ge1/0/2)# private-vlan host-association 100 99
Switch(config-10ge1/0/2)# exit
Switch(config)#interface 10gigaethernet 1/0/3
Switch(config-10ge1/0/3)# port link-type access
Switch(config-10ge1/0/3)# port default vlan 99
Switch(config-10ge1/0/3)# private-vlan mode host
Switch(config-10ge1/0/3)# private-vlan host-association 100 99
Switch(config-10ge1/0/3)# exit

Порты 10ge1/0/2 и 10ge1/0/3 принадлежат изолированной VLAN 99 и не могут взаимодействовать друг с другом на уровне L2.

Шаг 6: Настройка группового хост-порта (community)

Switch(config)#interface 10gigaethernet 1/0/4
Switch(config-10ge1/0/4)# port link-type access
Switch(config-10ge1/0/4)# port default vlan 98
Switch(config-10ge1/0/4)# private-vlan mode host
Switch(config-10ge1/0/4)# private-vlan host-association 100 98
Switch(config-10ge1/0/4)# exit

Порт 10ge1/0/4 принадлежит групповой VLAN 98 и может взаимодействовать с другими портами той же community VLAN.


Полный вывод выполненных конфигураций

Команды для копирования в режиме privileged EXEC:

configure
vlan 100
 private-vlan primary
 exit
vlan 99
 private-vlan isolated
 exit
vlan 98
 private-vlan community
 exit
vlan 100
 private-vlan association 99,98
 exit
interface 10gigaethernet 1/0/1
 port link-type access
 port default vlan 100
 private-vlan mode promiscuous
 private-vlan mapping 100 add 99,98
 exit
interface 10gigaethernet 1/0/2
 port link-type access
 port default vlan 99
 private-vlan mode host
 private-vlan host-association 100 99
 exit
interface 10gigaethernet 1/0/3
 port link-type access
 port default vlan 99
 private-vlan mode host
 private-vlan host-association 100 99
 exit
interface 10gigaethernet 1/0/4
 port link-type access
 port default vlan 98
 private-vlan mode host
 private-vlan host-association 100 98
 exit
end

Вывод show running-config:

!Device running configuration:
!version V1.0.2
!1970/01/01 08:07:52
!
hostname Switch
!
vlan 1,98-100
!
vlan 98 private-vlan community
vlan 99 private-vlan isolated
vlan 100 private-vlan primary
!
vlan 100
 private-vlan association 98-99
!         
interface 10gigaethernet 1/0/1
 private-vlan mode promiscuous
 private-vlan mapping 100 add 98-99
!         
interface 10gigaethernet 1/0/2
 private-vlan mode host
 private-vlan host-association 100 99
!         
interface 10gigaethernet 1/0/3
 private-vlan mode host
 private-vlan host-association 100 99
!         
interface 10gigaethernet 1/0/4
 private-vlan mode host
 private-vlan host-association 100 98
!  

Изучение состояния устройства

Просмотр конфигурации

Проверка активной конфигурации:

Switch#show running-config

Обратите внимание на строки:

  • vlan [id] private-vlan [type] — назначение типа VLAN в домене Private VLAN
  • private-vlan association [vlan-list] — ассоциирование вторичных VLAN с первичной
  • private-vlan mode [promiscuous|host] — режим работы порта в структуре Private VLAN
  • private-vlan mapping или private-vlan host-association — привязка портов к VLAN

Просмотр параметров работы

Проверка сопоставлений Private VLAN:

Switch#show private-vlan mapping
  Primary  Sencondary  Type      
  100      98          community 
  100      99          isolated

Вывод показывает ассоциирование первичной VLAN 100 с вторичными VLAN 98 (community) и 99 (isolated).

Проверка конфигурации интерфейсов Private VLAN:

Switch#show private-vlan interface
  Interface         Type        Primary  Secondary 
  10ge1/0/1         promiscuous 100      98        
  10ge1/0/1         promiscuous 100      99        
  10ge1/0/2         host        100      99        
  10ge1/0/3         host        100      99        
  10ge1/0/4         host        100      98      

Порт 10ge1/0/1 работает как promiscuous и обслуживает обе вторичные VLAN. Порты 10ge1/0/2 и 10ge1/0/3 — хост-порты изолированной VLAN 99. Порт 10ge1/0/4 — хост-порт групповой VLAN 98.

Проверка детальных параметров VLAN:

Switch#show vlan 100 verbose

VLAN ID:100
    Vlan alias:N/A
    The total number of ipv4 address is:0,ipv6 address is:0
    Unknown-multicast:forward
    Unknown-unicast:forward
    Admin status:up
    Physical status:up
    Vlan-type:pvlan
    Vlan-mode:primary            <---- первичная VLAN
    Vlan-status:other
    Member(s):
      Interface                     Tagged    
      10ge1/0/4                     Host      
      10ge1/0/3                     Host      
      10ge1/0/2                     Host      
      10ge1/0/1                     Promiscuous    <---- неизолированный порт

Все порты домена Private VLAN отображаются в составе первичной VLAN с указанием их ролей.


Рекомендации выполнения команд и настроек

  1. Планирование нумерации VLAN
    • Зарезервируйте диапазон VLAN ID для каждого домена Private VLAN перед началом конфигурирования
    • Используйте логичную схему нумерации: например, primary VLAN = 100, isolated = 99, community = 98, 97, 96
  2. Порядок конфигурирования
    • Создавайте и настраивайте все VLAN (primary и secondary) перед конфигурированием портов
    • Выполняйте ассоциирование вторичных VLAN с первичной до настройки интерфейсов
  3. Диагностика
    • Используйте команду show private-vlan mapping для проверки корректности ассоциирования VLAN
    • Проверяйте тип порта через show private-vlan interface перед устранением неполадок связности

История возникновения команды

Команды в данной главе применимы для:

  • Аппаратных платформ CIT серии L3200 с установленной версией ПО v1.0.2 и выше
  • Являются актуальными с версии ПО v1.0.2

Механизм Private VLAN разработан компанией Cisco Systems и описан в RFC 5517 как информационный стандарт.


Ссылка на внешнюю документацию

RFC 5517 "Cisco Systems' Private VLANs: Scalable Security in a Multi-Client Environment". При возникновении вопросов обратитесь к технической поддержке.