Cisco настройка vlan voip

Обновлено: 05.07.2024

Поговорим про голосовой трафик в классических корпоративных сетях, а именно про его сегрегацию от обычного дата трафика и про включение телефонов в саму КСПД.

Обычно, телефоны находятся на столе рядом с компьютером на рабочем стол, подключаются такой же витой парой (UTP), что и компьютер, и тоже используют протокол Ethernet . Для подключения телефона к коммутатору существует две опции – подключение оборудования к свитчу «параллельно», используя два кабеля или же подключив телефон и компьютер «последовательно»:

Первый «параллельный» сценарий заработает, но есть несколько больших недостатков – дополнительный кабель и занятый порт на коммутаторе.

По этой причине в данный момент большинство IP – телефонов, включая Cisco , имеют маленький коммутатор на 3 порта внутри IP – телефона:

  • Первый порт подключается к коммутатору ;
  • Второй порт подключается к компьютеру ;
  • Внутренний порт подключает сам телефон ;

Теперь поговорим о вопросе разделения голосового трафика от любого другого – и мы можем выполнить данную задачу с помощью голосового VLANа.

Голосовой VLAN также иногда обозначается как AUX VLAN

Посмотрите на схему ниже – это то, как будет выглядеть наше подключение – все компьютеры и обычный трафик будут находиться в VLAN 10, а голосовой трафик мы поместим в VLAN 11.

Как это все работает? Между коммутатором и телефоном у нас есть так называемый "транк". Порт на телефоне, который подключается к компьютеру, является портом доступа. Телефона передает весь трафик с компьютера на коммутатор без каких - либо меток, непомеченным. Трафик с самого телефона всегда будет помечаться, и в транке будут разрешены только два вышеупомянутых VLANа.

НАСТРОЙКА

Если вы уже знакомы с настройкой VLANов, то создание голосового VLANа не составит для вас вообще никакого труда. Давайте настроим порт на коммутаторе, где мы будем использовать VLANы 10 и 11.

Сначала мы создаем данные VLANы:

Теперь настроим интерфейс:

Мы переключили данный порт в режим доступа и настраиваем его для VLAN 10 . Команда switchport voice vlan сообщает коммутатору, чтобы он использовал VLAN 11 как голосовой VLAN.

Для того, чтобы телефон понял, какой VLAN нужно использовать, используются два протокола – Cisco Discovery Protocol (CDP) для телефонов Cisco и Link Layer Discovery Protocol (LLDP) для телефонов от других вендоров

ПРОВЕРКА РАБОТОСПОСОБНОСТИ

Для проверки корректности настройки, мы будем использовать команду show interfaces

Protected: false
Unknown unicast blocked: disabled
Unknown multicast blocked: disabled
Appliance trust: none

Как видно из вывода выше, VLANы настроились корректно. И теперь посмотрим на статус транка. Вывод скажет нам, что порт не является транком, он покажет какие VLANы в нем используются (то есть, которые мы настроили). Несмотря на то, что он показан как нетранковый, в реальности он все - таки является транком.

Port Mode Encapsulation Status Native vlan
Gi0/1 off negotiate not-trunking 1

Port Vlans allowed on trunk
Gi0/1 10-11

Port Vlans allowed and active in management domain
Gi0/1 10-11

Port Vlans in spanning tree forwarding state and not pruned
Gi0/1 10-11

На этом настройка завершена – для остальных рабочих станций и телефонов данный шаг нужно выполнить точно также, но на других портах коммутатора. Голосовой трафик будет идти в приоритете перед остальным трафиком и это скажется в лучшую сторону на качестве связи

Имея сетевую инфраструктуру на Cisco Catalyst, при внедрении телефонии целесообразно выделить в отдельный VLAN всю телефонию. Кроме того, нередко, имея один сетевой интерфейс на сервере телефонии Asterisk, требуется подключить к нему несколько сетей: локальную сеть, Интернет ( прямой доступ), кабель с телефонией от провайдера телефонии, возможно и другие сети. Для настройки такой схемы нам понадобится технология Cisco VLAN Trunk.


Описание сети

Настраиваем коммутатор Cisco ( на примере Cisco 2960)

Настраиваем порты для пользователей

Настраиваем порт для подключения маршрутизатора

Настраиваем порт для подключения прямого доступа в Интернет

Настраиваем порт для подключения оператора телефонии

Настраиваем транковый порт для подключения сервера Asterisk

Настройка VLAN-интерфейсов на сервере Linux

Cisco Asterisk

Описание сети:

Общая схема нашей сети будет выглядеть следующим образом:

Cisco VLAN Trunk Configuration

Порты 1-20 будут настраиваться для подключения рабочих мест пользователей: IP-телефон Cisco и компьютер.

В 21-й порт будет подключен маршрутизатор, через который компьютеры имеют доступ в Интернет.

В 22-й порт подключается кабель с Интернетом от провайдера, для обеспечения прямого доступа в Интернет с сервера Asterisk ( требуется для внешних SIP-абонентов).

В 23-й порт подключается кабель с Телефонией от оператора связи. Часто оператором связи и провайдером Интернета может быть одна компания, но это — не обязательно. Предлагаемая конфигурация описывает оба этих случая.

В 24-й порт подключается сам сервер телефонии Asterisk.

Настраиваем коммутатор Cisco ( на примере Cisco 2960).

Подключаемся к коммутатору в консольном или ssh-режиме. Далее будут идти примеры конфигурации, специалисту ранее работавшим с оборудованием Cisco станет понятно, каким образом реализовать предлагаемую конфигурацию.

Настраиваем порты для пользователей:

Для того чтобы одним разом настроить диапазон, вводим команду:

interface range FastEthernet0/1-19

Далее задаем параметры:

switchport access vlan 10
switchport mode access
switchport voice vlan 20
spanning-tree portfast

Здесь указано, что для компьютеров пользователей выделяется VLAN 10 ( тип — access), а для тефонии — VLAN 20 ( тип voice). Switchport mode access означает, что порт предназначен для end-user-ов.

Настраиваем порт для подключения маршрутизатора:

Настройка аналогична предыдущей, но мы не задаем Voice-VLAN:

interface FastEthernet0/21
switchport access vlan 10
switchport mode access
spanning-tree portfast

Настраиваем порт для подключения прямого доступа в Интернет:

interface FastEthernet0/22
switchport access vlan 30
switchport mode access
spanning-tree portfast

Настраиваем порт для подключения оператора телефонии:

interface FastEthernet0/23
switchport access vlan 100
switchport mode access
spanning-tree portfast

Настраиваем транковый порт для подключения сервера Asterisk:

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

interface FastEthernet0/24
switchport trunk allowed vlan 10,20,30,100
switchport mode trunk

Мы указали тип порта и разрешенные для пропуска VLAN-ы.

В целом, настройка VLAN-параметров и интерфейсов коммутатора выполнена.

Опционально рекомендуется настроить на коммутаторе DHCP-сервер, SSH-доступ, отключение лишних служб.

Настройка VLAN-интерфейсов на сервере Linux.

Данный пример рассматривается для сервера Linux CentOS.

В первую очередь нужно создать файлы ifcfg-eth0.XXX, где XXX — номера всех VLAN-ов, которые мы будем подключать к серверу. Эти файлы должны лежать в директории /etc/sysconfig/network-scripts/.

В самих файлах будет такое содержимое ( при наличии DHCP в той сети, в VLAN которой мы подключаемся):

DEVICE=eth0.10
VLAN=yes
BOOTPROTO=dhcp
ONBOOT=yes

Или таким, при необходимости в явном виде указать IP:

DEVICE=eth0.10
VLAN=yes
BOOTPROTO=none
ONBOOT=yes
HOTPLUG=no
IPADDR=192.168.10.250
NETMASK=255.255.255.0
TYPE=Ethernet

Обратите внимание, где в этом файле указывается к какому сетевому интерфейсу (DEVICE =eth0.10) и к какому VLAN он относится (DEVICE =eth0.10).

Также должен быть основной файл ifcfg-eth0, его содержимое может быть таким ( поменяйте MAC-адрес):

Таким образом в директории /etc/sysconfig/network-scripts/ у Вас будут расположены следующие файлы, каждый из которых будут прописывать собственные сетевые настройки:

ifcfg-eth0
ifcfg-eth0.10
ifcfg-eth0.20
ifcfg-eth0.30
ifcfg-eth0.100

Для перезапуска интерфейса и применения сетевых настроек запускаем команду service network restart.

Далее, проверяем доступность всех интерфейсов командой ping. Всё должно работать!

Обеспечив доступ к Вашему серверу Asterisk из разных сетей, обязательно ограничьте его и фильтруйте с помощью IPTables!

В этом документе приведены примеры конфигурации коммутаторов Catalyst для подсоединения IP-телефонов Cisco. В этом документе содержится конфигурация порта коммутатора, встроенного источника питания и механизма обеспечения качества обслуживания (QoS). Конфигурация порта коммутатора выполняется предварительно заданным макросом, который настраивает порт коммутатора и механизм обеспечения качества обслуживания с использованием минимального числа команд.

Предварительные условия

Требования

Для данного документа нет особых требований.

Используемые компоненты

Данный документ не ограничен отдельными версиями программного и аппаратного обеспечения.

Условные обозначения

См. дополнительные сведения об условных обозначениях в документе Технические советы Cisco. Условные обозначения.

Общие сведения

В этом документе объясняется конфигурация коммутаторов, соединяющих ПК и IP-телефоны через порт коммутатора. IP-телефон Cisco содержат интегрированный коммутатор 10/100 с тремя портами. Эти порты выделены для определенных подключений.

Порт 1 служит для подсоединения к коммутатору Catalyst или другому устройству, поддерживающему технологию передачи речи по протоколу IP.

Порт 2 – это внутренний интерфейс 10/100 для передачи трафика, проходящего через телефон.

Порт 3 служит для подсоединения к ПК или другому устройству.

Примечание: Физически можно увидеть только два порта. Третий порт является внутренним, и увидеть его нельзя. В этом разделе порт 2 не виден.

Если в коммутаторе содержится модуль, обеспечивающий конечные станции питанием через Ethernet, то можно настроить каждый интерфейс этого модуля таким образом, чтобы он автоматически определял, что конечной станции необходимо питание и подавал на нее питание через Ethernet. По умолчанию, когда коммутатор определяет в интерфейсе устройство, на которое подается электропитание, он предполагает, что это устройство потребляет максимальную мощность, которая может быть подана через порт. В традиционных модулях максимум мощности питания через Ethernet составляет 7 Вт, а в модулях IEEE PoE, включенных в программное обеспечение Cisco IOS®, выпуск 12.2(18)EW он составляет 15,4 Вт. Когда коммутатор получает пакет данных по протоколу обнаружения Cisco (CDP) от устройства, на которое подается электропитание, потребляемая мощность автоматически уменьшается в соответствии с требованиям конкретного устройства. Обычно эта автоматическая регулировка срабатывает правильно, и после нее дальнейшая регулировка не требуется и не рекомендуется. Однако можно указать потребление электропитания на устройстве для всего коммутатора (или для конкретного интерфейса), чтобы обеспечить на коммутаторе дополнительную функциональность. Это полезно, когда протокол CDP отключен или не доступен.

Поскольку при неравномерной передаче данных качество речерых вызовов на IP-телефоне может снизиться, в коммутаторе используется механизм обеспечения качества обслуживания на базе класса обслуживания IEEE 802.1p. Механизм обеспечения качества обслуживания при передаче сетевого трафика с коммутатора использует классификацию и расписания предсказуемым образом. См. дополнительные сведения по механизму обеспечения качества обслуживания в разделе Настройка QoS. Функция Cisco AutoQoS обеспечивает автоматическое последовательное применение механизма обеспечения качества обслуживания во всех маршрутизаторах и коммутаторах Cisco. Она подключает различные компоненты обеспечения качества обслуживания Cisco в зависимости от сетевого окружения и рекомендаций Cisco.

Настройка

В этом разделе приводятся сведения о настройке функций, описанных в данном документе.

Схема сети

В данном документе используется следующая настройка сети:

Настройки

Конфигурация коммутатора Catalyst содержит следующие настройки:

Настройка порта коммутатора для трафика данных и передачи речевых сигналов

Введите ключевое слово untagged для передачи пакетов CDP для настройки передачи непомеченного речевого трафика от IP-телефона. Коммутатор помещает непомеченный речевой трафик в виртуальную локальную сеть доступа.

Введите ключевое слово none, чтобы IP-телефон мог использовать собственную конфигурацию и передавать непомеченный речевой трафик. Коммутатор помещает непомеченный речевой трафик в виртуальную локальную сеть доступа.

В следующем примере виртуальная локальная сеть VLAN 10 используется для трафика данных, а виртуальная локальная сеть VLAN 20 для голосового трафика.

Конфигурация коммутатора Catalyst для трафика данных и передачи речевых сигналов

Настройка встроенного источника питания

Cisco предлагает широкий диапазон коммутаторов Catalyst с поддержкой питания через Ethernet и совместимых с 802.3af, которые также поддерживают предстандартные реализации Cisco для подачи питания через Ethernet. В IEEE 802.3af-2003 описаны пять классов электропитания, которым может соответствовать устройство. В соответствии с классификацией по электропитанию IEEE 802.3af на каждое электрическое устройство подается мощность 15,4 Вт. Подача электропитание через Ethernet с использованием классификации IEEE 802.3af по умолчанию может значительно повысить требования к электропитанию как на переключателе питающего устройства (PSE), так в инфраструктуре электропитания. Для обеспечения рентабельного и эффективного питания через Ethernet коммутаторы Catalyst поддерживают не только классификацию IEEE 802.3af, но и интеллектуальную систему управления питанием. Благодаря этому устройство, потребляющее электропитание, и питающее устройство согласовывают свои мощности и явно регулируют, какую мощность необходимо подать на устройство, а также каким образом переключатель питающего устройства направляет питание на отдельные устройства, потребляющие электропитание.

Введите команду show power inline, чтобы увидеть потребление электроэнергии по умолчанию, которое может подать коммутатор:

По умолчанию все порты коммутатора настроены для автоматического определения устройств с питанием через Ethernet и подачи на них питания. Введите команду show power inline, чтобы увидеть состояние конфигурации встроенного источника питания любого из портов:

Для настройки встроенного источника питания отдельного порта можно использовать команду power inline. Ниже приведены параметры конфигурации встроенного источника питания:

Auto — По умолчанию порт настроен на поддержку питания через Ethernet. Устройства, потребляющие электроэнергию, обслуживаются в порядке поступления запросов. Если в автоматическом режиме встроенные источники питания не подают достаточно электроэнергии для обслуживания всех устройств, потребляющих электроэнергию, то невозможно гарантировать, на какое из них будет подаваться питание.

Never — Управляющий модуль не посылает команду на модуль переключений для подачи питания на порт даже при подключении телефона, на который не подается электропитание.

В следующем примере показана конфигурация встроенного источника питания порта коммутатора. Как объяснялось ранее в этом разделе, по умолчанию в качестве настройки встроенного источника питания порта устанавливается auto. При изменении конфигурации по умолчанию, чтобы вернуть настройку auto, настройте порт следующим образом.

Настройте встроенный источник питания для коммутатора Catalyst, на котором установлено ПО Cisco IOS

Настройка механизма обеспечения качества обслуживания

Для упрощения распространения существующих функций обеспечения качества обслуживания можно использовать функцию auto-QoS. Функция Auto-QoS делает предположения о структуре сети. В результате коммутатор может присвоить приоритеты разным потокам данных и правильно использовать выходную очередь, а не использовать механизм обеспечения качества обслуживания по умолчанию. По умолчанию механизм обеспечения качества обслуживания отключен. После этого коммутатор предлагает наилучшее обслуживание каждого пакета вне зависимости от его содержания или размера и отправляет все пакеты из единой очереди.

Функция Auto-QoS настраивает классификацию обеспечения качества обслуживания и выходную очередь. До настройки функции auto-QoS убедитесь, что на коммутаторе не настроен иной механизм обеспечения качества обслуживания. При первой настройке auto-QoS на коммутаторе происходит подключение отключенного механизма обеспечения качества обслуживания, а также настройка очередей и пороговых значений в глобальной конфигурации. Наконец, выполняется настройка порта коммутатора таким образом, чтобы он доверял входящим параметрам обеспечения качества обслуживания, а также настройка параметров формирования трафика для этого порта. После этого при каждой следующей настройке любого порта с использованием функции auto-QoS выполняется только настройка параметров обеспечения качества обслуживания для портов коммутатора.

Выполните команду debug auto qos в режиме включения (режим enable) и настройте auto-qos для портов коммутатора, чтобы выяснить какая конфигурация обеспечения качества обслуживания была применена при настройке auto-QoS. Команда отладки auto qos выводит список команд коммутатора.

После выполнения команды auto qos можно изменить конфигурацию обеспечения качества обслуживания в соответствии со своими требованиями. Однако это делать не рекомендуется. Ниже можно увидеть список доступных параметров команды auto qos voice:

Настройка Auto-QoS для коммутаторов Catalyst, на которых установлено ПО IOS

Хотя синтакисис команды auto qos одинаков на всех коммутаторах Catalyst, настройки обеспечения качества обслуживания, применяемые на разных коммутаторах Catalyst при помощи функции auto-QoS, различаются для разных коммутаторов.

Настройка механизма обеспечения качества обслуживания в каскадном подключении уровня 2

Если речевой трафик будет проходить через коммутатор по магистральной сети, необходимо настроить параметры обеспечения качества обслуживания для магистральных портов. В этом случае необходимо использовать команду auto qos voip trust вместо команды auto qos voip cisco-phone.

Настройка Auto-QoS для магистральных линий коммутаторов Catalyst, на которых установлено ПО IOS

Настройка механизма обеспечения качества обслуживания в каскадном подключении уровня 3

Настройка Auto-QoS для порта уровня 3 коммутатора Catalyst, на котором установлено ПО IOS

Настройка коммутатора с использованием предварительно заданного макроса

Для коммутаторов Catalyst 3560, 3750 и 4500, использующих программное обеспечение Cisco IOS версии 12.2 и выше, доступно несколько предварительно заданных макросов для настройки портов коммутатора. Ниже приведены примеры макросов и их роль в настройке порта коммутатора для поддержки IP-телефонов.

cisco-switch — Этот макрос предназначен для каскадного соединения портов от коммутатора доступа до коммутатора уровня распределения. Если речевой трафик проходит через коммутатор по магистральным линиям, можно использовать макрос cisco-switch для настройки каскадного соединения портов. Этот макрос позволяет настроить порт с транком dot1q, двухточечным соединением по протоколу связующего дерево и auto qos voip trust. Этот макрос не следует использовать для групп etherchannel/port.

Используйте команду show для просмотра доступных макросов:

Используйте команду show для просмотра сценария макроса:

В этом примере показана конфигурация портов коммутатора в окружении IP-телефона:

Настройка коммутатора с использованием предварительно заданного макроса

Проверка

Чтобы убедиться, что конфигурация на коммутаторах с ПО Cisco IOS работает правильно, используйте команду show interface:

Устранение неполадок

Catalyst 3560G: на IP-телефон не подается питание после отсоединения устройства с питанием не через Ethernet

Обходным путем эту проблему можно решить при помощи команды shutdown/no shutdown для данного порта. После этого коммутатор начинает подавать питание на IP-телефон. Эта проблема была устранена в программном обеспечении Cisco IOS, выпуск 12.2(25)SED1.

IP-телефон для конференц-связи 7935 вместо IP-адреса для передачи голоса получает IP-адрес для передачи данных

Большинство телефонов Cisco имеют встроенный коммутатор, настройками которого можно управлять. Телефон можно подключить как к "родному" коммутатору Cisco, так и к рядовому DLink. Как настроить порт коммутатора для подключения телефона и что такое Voice VLAN - про все про это рассказывает данная статья.

Наиболее частая и рекомендуемая практика - это разделение голосового трафика от трафика данных.

Существует целый ряд несложных в использовании приложений (например Wireshark, VOMIT), которые позволяют осуществить перехват голосового трафика и конвертировать его в WAV файл.
Практический пример перехвата можно посмотреть в статье Перехват трафика RTP или телефонного разговора

Разделение трафика голосового от трафика данных обеспечивает защиту от подобных действий. Также это дает возможность внедрить QoS более простыми методами.

Phone_connect1_0.jpg

Большинство телефонов Cisco имеют встроенный коммутатор.
В спецификации телефона это называется Integrated 10/100 Ethernet switch, а в самом телефоне будут два гнезда "COMPUTER" и "NETWORK".
Встроенный коммутатор позволяет подключать телефон и рабочий компьютер используя только один порт коммутатора.

Порт "NETWORK" может отсылать и принимать тагированные пакеты 802.1Q, и по сути является транковым портом, т.е. портом принимающим пакеты принадлежащие разным VLAN-ам. Иногда такой порт называют "мини-транком", т.к. "нормальный" транк пропускает большое количество VLAN-ов, IP телефон тагирует только свои пакеты меткой голосового VLAN-а.

Как уже было сказано, порт способный получать тагируемые пакеты называется trunk port.
Cisco же рекомендует настраивать порт коммутатора для работы с телефоном следующим образом:
interface fa 0/1
spanning-tree portfast
switchport access vlan 50
switchport voice vlan 10

Т.е. мы видим что транковый порт настраивается как access port для VLAN 50 и как транковый порт для VLAN 10.
Можно считать подобный порты аксесными, но с поддержкой тагирования голосового трафика.

Справедливости ради отметим, что мы можем настроить порт коммутатора как обычный транковый порт, и телефон также прекрасно будет работать:
interface fa 0/1
spanning-tree portfast
switchport mode trunk
switchport trunk encapsulation dot1q
switchport trunk native vlan 50
switchport voice vlan 10
switchport trunk allowed vlan 10

Это старый вариант конфигурации, который считается менее секьюрным, т.к. злоумышленник может убрать телефон и подключиться своим устройством и провести атаку VLAN-hopping, иммитируя коммутатор со своей стороны. Более современный и рекомендуемый синтаксис - это первый вариант, с конфигурируемым "квази аксесным портом"

Заметим, что никаких дополнительных настроек на самом телефоне делать не требуется. Телефон получает конфигурацию от коммутатора используя CDP. После того как он получит номер голосового VLAN, он начинает тагировать собственные голосовые пакеты меткой голосового VLAN-а.
"не-цисковские" телефоны не понимают CDP, поэтому в их настройках необходимо указать номер голосового VLAN, в противном случае они будут использовать data VLAN.
То же самое произойдет и с телефоном cisco, если мы отключим на порту CDP:
interface fa 0/1
spanning-tree portfast
switchport access vlan 50
switchport voice vlan 10
no cdp enable
в этом случае телефон не воспримет команду switchport voice vlan 10. Он получит адрес по DHCP из адресного пространства VLAN 50.

no-name_switch_ciscomaster.ru_0.jpg

Если у вас есть неуправляемый коммутатор, это значит что вы не сможете сделать отдельные, изолированные друг от друга VLAN-ы.
При подключении к неуправляемому коммутатору телефон не получит никакой конфигурации и будет выступать таким же свитчом с двумя портами. Мы можем использовать одну и туже подсеть для телефонов и компьютеров или их разделить.
В этой ситуации пожалуй наилучшим решением будет разместить две IP подсети хоть и в одном броадкастном домене.
В этом случае DHCP можно будет использовать либо для компьютеров либо для телефонов.

Читайте также: