Перейти к содержанию

VLAN

VLAN (Virtual Local Area Network) — это технология логического разделения одной физической коммутируемой сети на несколько независимых широковещательных доменов на канальном уровне модели OSI (L2). Основная функция VLAN — изоляция сетевого трафика между группами устройств без необходимости физического разделения сети.

Как происходит разделение сети на VLANы:

  • Каждый VLAN имеет идентификатор, VLAN ID (1–4095);
  • При передаче между коммутаторами кадры Ethernet помечаются тэгом IEEE 802.1Q, в котором содержится VLAN ID;
  • Коммутатор пересылает трафик только внутри одного VLAN.

Для передачи трафика между разными VLAN необходимо устройство третьего уровня (маршрутизатор или L3-коммутатор).

Особенность реализации:

  • По умолчанию, при установке режима trunk, через интерфейс проходит только VLAN 1. Для прохождения трафика остальных VLAN, необходимо разрешить их на интерфейсе используя команду switchport trunk allowed vlan <vlan_list>. Например:

    • в такой конфигурации трафик проходит только для VLAN 1:

      interface GigabitEthernet 1/1
       switchport mode trunk
      

    • в такой конфигурации трафик проходит для VLAN 1, и для VLAN 500:

      1
      2
      3
      interface GigabitEthernet 1/1
       switchport trunk allowed vlan 500
       switchport mode trunk
      

Основная информация о применяемых технологиях

Access порт

Эти порты обычно используются для подключения конечных устройств. Access порты имеют следующие характеристики:

  • Каждый из них принадлежит ровно одному VLAN (значение по умолчанию 1);
  • Они принимают немаркированные (untagged) кадры и кадры с C-тегом;
  • Они отбрасывают все кадры, которые не отнесены к VLAN доступа;
  • При выходе (egress) они передают кадры немаркированными.

Trunk порт

Эти порты могут одновременно передавать трафик в нескольких VLAN и обычно используются для подключения к другим коммутаторам. Trunk порты имеют следующие характеристики:

  • Каждый из них по умолчанию является членом всех существующих VLAN (с ограничением по списку разрешенных VLAN);
  • Все кадры, кроме отнесенных к Native VLAN, по умолчанию маркируются при выходе (кадры, отнесенные к Native VLAN, не получают C-тег при выходе);
  • Маркировку при выходе можно изменить так, чтобы маркировались все кадры, в этом случае при входе принимаются только маркированные кадры.

Hybrid порт

Эти порты во многом похожи на trunk порты, но включают дополнительные возможнотси настройки. В дополнении к характеристикам, описанных для trunk портов, Hybrid порты имеют следующие возможности:

  • Hybrid порты можно настроить как:
    • Unaware - на входе все кадры (независимо от того, есть ли на них VLAN-тег) относятся к Native VLAN, возможные теги не удаляются на выходе;
    • C-Port - на входе кадры с VLAN-тегом, имеющим TPID=0x8100, относятся к VLAN ID, встроенному в тег, если кадр немаркированный, то он относится к Native VLAN, если кадры должны быть маркированы на выходе, они маркируются C-тегом;
    • S-Port - на входе кадры с VLAN-тегом, имеющим TPID = 0x8100 или 0x88A8, относятся к VLAN ID,встроенному в тег, если кадр немаркированный, он относится к Native VLAN, если кадры должны быть маркированы на выходе, они маркируются S-тегом;
    • S-Custom-Port - на входе кадры с VLAN-тегом, имеющим TPID = 0x8100 или равным значению Ethertype, настроенному для пользовательских S-портов (Custom-S-ports), относятся к VLAN ID, встроенному в тег, если кадр немаркированный, он относится к Native VLAN, если кадры должны быть маркированы на выходе, они маркируются пользовательским S-тегом;
  • Можно управлять входящей фильтрацией (ingress filtering);
  • Прием кадров на входе и настройку тегирования на выходе можно настраивать независимо.

SVI (Switch Virtual Interface)

Устройства, которые находятся в разных VLAN, не могут общаться между собой напрямую. Для связи между ними необходима маршрутизация, которую можно осуществить с помощью виртуального интерфейса третьего уровня. Такой интерфейс называется SVI (Switch Virtual Interface):

  • Принадлежит одному VLAN;
  • На нем можно настроить IP адрес;
  • Его можно включить в процесс маршрутизации.

Назначение применяемой команды/конфигурации

Команды в режиме глобальной настройки:

vlan { <vlan_list> }
vlan ethertype s-custom-port { <0x0600-0xffff> }
vlan protocol eth2 { <0x600-0xffff> | arp | at | ip | ipx }
vlan protocol llc { <0x0-0xff> }
vlan protocol snap { <0x0-0xffffff> | rfc-1042 | snap-8021h }

no vlan <vlan_list>
no vlan ethertype s-custom-port
no vlan protocol eth2 { <0x600-0xffff> | arp | at | ip | ipx }
no vlan protocol llc <0x0-0xff>
no vlan protocol snap { <0x0-0xffffff> | rfc-1042 | snap-8021h }

Команды в режиме настройки интерфейса:

switchport access vlan <vlan_list>
switchport trunk native vlan <vlan_list>
switchport hybrid native vlan <vlan_list>
switchport trunk allowed vlan { all | none | [ add | remove | except ] <vlan_list> }
switchport hybrid allowed vlan { all | none | [ add | remove | except ] <vlan_list> }
switchport forbidden vlan { add | remove } <vlan_list>
switchport voice vlan discovery-protocol
switchport voice vlan mode
switchport voice vlan security
switchport vlan ip-subnet <ipv4_subnet> id
switchport vlan mac 
switchport vlan protocol group
switchport vlan mapping <1-53>

no switchport access vlan
no switchport forbidden vlan
no switchport hybrid { acceptable-frame-type | allowed vlan | egress-tag | ingress-filtering | native vlan | port-type }
no switchport mode
no switchport trunk { allowed vlan | native vlan | vlan tag }
no switchport vlan { ip-subnet  | mac  | mapping | protocol group }
no switchport voice vlan { discovery-protocol | mode | security }

Команды в режиме настройки SVI

ip address <ipv4_addr> <ipv4_netmask>
ip address <ipv4_subnet> <ipv4_netmask>
ip address dhcp [ client-id | hostname | fallback ]
ipv6 address { <ipv6_subnet> | dhcp rapid-commit | dhcp }
ipv6 dhcp relay { destination | interface }

no ip address
no ip dhcp server
no ipv6 address [ <ipv6_subnet> | dhcp rapid-commit | dhcp ]
no ipv6 dhcp relay [ destination | interface ]

Команды отображения информации:

1
2
3
4
5
6
7
8
show vlan all [ brief | id | name ]
show vlan brief [ all ]
show vlan id <vlan_list>
show vlan ip-subnet [ <ipv4_subnet> ]
show vlan mac address
show vlan name 
show vlan protocol [ eth2 | llc | snap ]
show vlan status [ admin | all | combined | conflicts | erps | gvrp | interface | mrp | mstp | mvr | nas | rmirror | vcl | voice-vlan ]

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

Настройка

Шаг 1. Создание VLAN 10

1
2
3
# configure terminal
(config)# vlan 10
(config-vlan)# exit

Шаг 2. Перевод порта GigabitEthernet 1/40 в режим access

(config)# interface GigabitEthernet 1/40
(config-if)# switchport mode access

Шаг 3. Помещение access порта GigabitEthernet 1/40 в vlan 10

(config-if)# switchport access vlan 10

Шаг 4. Перевод порта GigabitEthernet 1/45 в режим trunk

1
2
3
(config)# interface GigabitEthernet 1/45
(config-if)# switchport mode trunk
(config-if)# switchport trunk allowed vlan 10 

Шаг 5. Создание интерфейса SVI для VLAN 10 и задание на нем IP адреса 192.168.100.240/24

(config)# interface vlan 10
(config-if-vlan)# ip address 192.168.100.240 255.255.255.0

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

configure terminal
!
vlan 10
 exit
!
interface GigabitEthernet 1/40
 switchport mode access
 switchport access vlan 10
 exit
!
interface GigabitEthernet 1/45
 switchport mode trunk
 switchport trunk allowed vlan 10 
 exit
!
interface vlan 10
 ip address 192.168.100.240 255.255.255.0
 exit

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

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

1
2
3
4
5
# show vlan 
VLAN  Name                              Interfaces
----  --------------------------------  ----------
1     default                           Gi 1/1-48 25G 1/1-3
10    VLAN0010                          Gi 1/40 Gi 1/45