Настройка частных 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 VLANprivate-vlan association [vlan-list]— ассоциирование вторичных VLAN с первичнойprivate-vlan mode [promiscuous|host]— режим работы порта в структуре Private VLANprivate-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 с указанием их ролей.
Рекомендации выполнения команд и настроек
- Планирование нумерации VLAN
- Зарезервируйте диапазон VLAN ID для каждого домена Private VLAN перед началом конфигурирования
- Используйте логичную схему нумерации: например, primary VLAN = 100, isolated = 99, community = 98, 97, 96
- Порядок конфигурирования
- Создавайте и настраивайте все VLAN (primary и secondary) перед конфигурированием портов
- Выполняйте ассоциирование вторичных VLAN с первичной до настройки интерфейсов
- Диагностика
- Используйте команду
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". При возникновении вопросов обратитесь к технической поддержке.