Voice VLAN используется для выделения VoIP-оборудования в отдельную VLAN. Для VoIP-фреймов могут быть назначены QoS-атрибуты для приоритезации трафика. Классификация фреймов, относящихся к фреймам VoIP-оборудования, базируется на OUI ( Organizationally Unique Identifier – первые 24 бита MAC-адреса) отправителя.
Функционал настраивается в 2 этапа:
1) Добавление Voice VLAN на стороне коммутатора
а) Динамически на основе OUI входящего фрейма:
Назначение Voice VLAN для интерфейса происходит автоматически - когда на порт поступает фрейм с OUI из таблицы Voice VLAN. Когда порт определяется, как принадлежащий Voice VLAN – данный порт добавляется во VLAN как tagged.
Voice VLAN может быть активирован на портах, работающих в режиме trunk и general.
Активировать voice vlan и добавить запись в таблицу OUI для используемого телефона
console(config)# voice vlan oui-table add 002618 console(config)# voice vlan id 10 console(config)# voice vlan state oui-enabled
console(config)# !
console(config)# interface gigabitethernet 1/0/10console(config-if)# switchport mode generalconsole(config-if)# voice vlan enableconsole(config-if)# exit
б) Статически:
console(config)# interface gigabitethernet 1/0/10console(config-if)# switchport mode generalconsole(config-if)# switchport general allowed vlan add 10 tagged
В примере VLAN 10 используется под голосовой трафик.
2) Назначение Voice VLAN на стороне оконечного оборудования
а) С помощью lldp-med политик
ID Voice VLAN будет присвоен VoIP оборудованию с помощью lldp-med фреймов. Инициатором получение Voice VLAN в данном случае является VoIP-оборудование.
Настройка lldp-med политики с указанием номера voice vlan
console(config)# no lldp med network-policy voice autoconsole(config)# lldp med network-policy 1 voice vlan 10 vlan-type tagged up 4
Привязать lldp-med политику, активировать voice vlan для интерфейса
console(config)# interface gigabitethernet 1/0/10console(config-if)# switchport mode generalconsole(config-if)# lldp med enable network-policyconsole(config-if)# lldp med network-policy add 1console(config-if)# switchport general allowed vlan add 20 untaggedconsole(config-if)# switchport general pvid 20
console(config-if)# voice vlan enableconsole(config-if)# exit
В примере VLAN 10 используется под голосовой трафик, VLAN 20 используется под DATA-трафик.
Проверить работу voice vlan можно при помощи команд show voice vlan GigabitEthernet1/0/10
console# sh voice vlan type oui GigabitEthernet1/0/10Aging timeout: 1440 minutesCoS: 7Remark: No
OUI table
MAC Address - Prefix Description-------------------------- --------------------------------00:26:18 PC
Interface Enabled Secure Activated COS Mode------------ ------------------ ------------- ----------------- ----------gi1/0/12 Yes No Yes src
Если требуется пропустить два Voice VLAN в рамках одного коммутатора на разных портах, то воспользуемся следующей конфигурацией:
console(config)# lldp med network-policy 1 voice vlan 10 vlan-type tagged up 4
console(config)# lldp med network-policy 2 voice vlan 11 vlan-type tagged up 4
console(config)# interface gigabitethernet1/0/1
console(config-if)# switchport mode general
console(config-if)# switchport general allowed vlan add 10 tagged
console(config-if)# lldp med enable network-policy
console(config-if)# lldp med network-policy add 1
console(config)# interface gigabitethernet1/0/2
console(config-if)# switchport mode general
console(config-if)# switchport general allowed vlan add 11 tagged
console(config-if)# lldp med enable network-policy
console(config-if)# lldp med network-policy add 2
Таким образом коммутатор по LLDP сообщает телефонам в каком VLAN отправлять трафик. Со стороны коммутатора просто разрешаем данные VLAN на портах в тегированном виде.
б) Назначение Voice VLAN по DHCP
В ответе от DHCP-сервера присутствует опция 132 (VLAN ID), с помощью которой устройство автоматически назначает себе VLAN для маркировки трафика (Voice VLAN).
Данная схема не получила широкого применения.
в) Существует ещё 1 вариант настройки Voice VLAN.
Если VoIP-оборудование и ПК подключены к одному порту коммутатора и оба устройства передают нетегированный трафик, то для настройки отдельного vlan для телефонии можно воспользоваться функцией map mac. В примере VLAN 10 используется под голосовой трафик, VLAN 20 используется под DATA-трафик.
Настраиваем map mac, где используем mac address телефона:
vlan databasevlan 10,20map mac aa:bb:cc:dd:00:00 32 macs-group 1exit
Выполняем настройку порта коммутатора:
interface gigabitethernet 1/0/10switchport mode generalswitchport general allowed vlan add 10,20 untaggedswitchport general map macs-group 1 vlan 10switchport general pvid 20exit
Совместные настройки voice vlan и механизма port securityРассмотрим схему

До выпуска версии 4.0.22 для совместной настройки voice vlan и port security необходимо было разрешать обучение трех mac-адресов за портом (port security max 3), так как MAC-адрес телефонного аппарата (далее - ТА) обучался как в voice vlan, так и в data vlan. Такое поведение было связано с тем, что ТА отправляет нетегированные LLDP. Попадая на коммутатор, происходит обучение MAC-адреса ТА в Data vlan из-жза настройки соответствующего pvid:

Начиная с версии 4.0.22, была реализована возможность запрета обучения MAC-адреса ТА в Data VLAN путем добавления команды voice vlan secure mac-learning (включается в режиме глобальной конфигурации). При включении данной опции MAC-адреса от всех кадров, не предназначенных для Voice vlan, и source_mac которых совпадает с записью в OUI-table, не будут обучаться за соответствующим портом:

Важно: на текущий момент совместная настройка неприменима при добавлении команды на интерфейсе port security discard-shutdown - порт заблокируется.
Итоговая конфигурация совместной настройки:
voice vlan id 103 voice vlan state oui-enabled voice vlan secure mac-learning voice vlan oui-table add c4143c
lldp med network-policy 1 voice vlan 103 vlan-type tagged up 4
interface gigabitethernet1/0/1 port security max 2 port security max 1 voice port security mode max-addressesswitchport mode general switchport general allowed vlan add 111 untagged switchport general pvid 111 lldp med enable network-policy lldp med network-policy add 1 voice vlan enable