17. Private VLAN

Описание

  • Обеспечивает изоляцию портов в пределах VLAN

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

    • Существует в пределах коммутатора (за исключением возможности передать через VTPv3)

  • Штатный механизм 802.1Q-2005

    • MAC Learning по входящим кадрам идет в таблицы сразу нескольких VLAN

    • Входящему кадру сопоставляется только один VID

Типы портов Private VLAN

  • Promiscuous - общие порты, со всеми VLAN

  • Isolated - кадры на порту не будут никуда коммутироваться, кроме promiscuous

  • Community - кадры между портами community могут коммутироваться, но не за пределы его

Конфигурация Private VLAN

  • Настройка базы VLAN:

    • Primary - родительский VLAN

    • Community - дочерний VLAN, разрешает коммутацию между хостами

    • Isolated - дочерний VLAN, не разрешает коммутацию между хостами

    • Включение коммутации PVLANна портах не включается без прописывания свойств PVLAN в базе, даже если конфигурация на интерфейсах правильная

Switch(config)#vlan 100
Switch(config-vlan)#private-vlan primary
Switch(config-vlan)#private-vlan association 101,102
Switch(config)#vlan 101
Switch(config-vlan)#private-vlan isolated
Switch(config)#vlan 102
Switch(config-vlan)#private-vlan community
  • Ограничения:

    • Как правило, использование PVLAN - признак плохого дизайна

    • Для VTPv1/v2 необходим режим transparent/off, в VTPv3 - выключить pruning

Конфигурация портов Private VLAN

  • Абонентский порт для Isolated/Community VLAN:

    • switchport private-vlan host-association <primary-vlan> <secondary-vlan>

    • MAC learning происходит в родительский и дочерний VLAN

    • входящим кадрам назначается VID дочернего VLAN

Switch(config)#interface gi0/1
Switch(config-if)#switchport mode private-vlan host
Switch(config-if)#switchport private-vlan host-association 100 101
  • Promiscuous порт для набора дочерних VLAN:

    • switchport private-vlan mapping <primary-vlan> <secondary-vlan-list>

    • MAC learning происходит в родительский и прописанные дочерние VLAN

    • входящим кадрам назначается VID родительского VLAN

Switch(config)#interface gi0/1
Switch(config-if)#switchport mode private-vlan promiscuous
Switch(config-if)#switchport private-vlan mapping 100 101,102

Диагностика портов

Switch#show interface gi0/1 switchport
Name: Gi0/1
Switchport: Enabled
Administrative Mode: private-vlan host
Operational Mode: private-vlan host
Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: none
Administrative private-vlan host-association: 100 (VLAN0100) 101 (VLAN0101)
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk native VLAN tagging: enabled
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan normal VLANs: none
Administrative private-vlan associations: none
Administrative private-vlan mappings: none
Operational private-vlan:
  100 (VLAN0100) 101 (VLAN0101)
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled
Capture VLANs Allowed: ALL

Protected: false
Appliance trust: none

Конфигурация транков Private VLAN

  • Транк с корректно настроенным узлом, поддерживающим PVLAN:

    • Кадры PVLAN помечаются метками дочерних VLAN, остальные - своими

    • Возможна синхронизация базы по VTPv3

Switch(config)#interface gi0/1
Switch(config-if)#switchport mode trunk
  • Транк с узлом, не поддерживающим PVLAN:

    • Кадры non-private VLAN помечаются собственными метками

    • Кадры PVLAN помечаются метками родительского VLAN

Promiscuous trunk: входящие кадры PVLAN получают VID родительского VLAN

Switch(config-if)#switchport mode private-vlan trunk promiscuous
Switch(config-if)#switchport private-vlan mapping trunk 100 101,102

Isolated trunk: входящие кадры PVLAN получают VID дочернего Isolated VLAN

Switch(config-if)#switchport mode private-vlan trunk secondary
Switch(config-if)#switchport private-vlan association trunk 100 101

PVLAN Edge

  • PVLAN Edge - механизм, подобный Private VLAN, но ограниченный isolated- и promiscuous-портами (нет community-портов)

    • В PVLAN Edge isolated-порты называются защищенными (protected)

    • Коммутатор не передает трафик между защищенными портами

    • Между защищенными и обычными портами трафик передается как обычно

  • Настраивается намного проще по сравнению с Private VLAN

  • Работает в пределах одного коммутатора (нет транков)

  • Служит для предотвращения атак между соседними хостами

    • ARP Poisoning

    • EternalBlue (WannaCry, Petya, etc...), MSBlast

Настройка PVLAN Edge

Switch(config)#interface gi0/1
Switch(config-if)#switchport protected
Switch#show interface gi0/1 switchport
Name: Gi0/1
Switchport: Enabled
Administrative Mode: static access
Operational Mode: static access
Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk native VLAN tagging: enabled
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan normal VLANs: none
Administrative private-vlan associations: none
Administrative private-vlan mappings: none
Operational private-vlan: none
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled
Capture VLANs Allowed: ALL

Protected: true
Appliance trust: none

Last updated