Безопасная экономия СКС+Телефония средствами vlans. | NetConfig | NetConfig

Безопасная экономия СКС+Телефония средствами vlans.


Определимся с вводными:

  • Организовать 2 vlans со своими пулами адресов (dhcp)
  • Подключить рабочие станции пользователей сквозь sip-телефоны
  • На каждое рабочее место предусмотрена 1 сетевая розетка
  • Обеспечить корректную работу связки телефон + рабочая станция
  • Обезопасить vlan телефонию от подключения сторонних устройств

Оборудование, используемое в тестовой среде:
Маршрутизатор: HPE MSR1003-8
Коммутатор: HPE 1620-48G
Телефоны: Grandstream GXP1400
Рабочие станции: *собранные_на_коленке*

Также для полной картины скажем пару слов о SIP-сервере – он есть и занимается организацией телефонии 🙂

Логически схема выглядит так:

Реализацию стоит разделить на несколько этапов, и первым будет настройка маршрутизатора.

Настройка маршрутизатора.

Формируем dhcp-пулы для дальнейшего их применение на отдельные интерфейсы, указываем передаваемый шлюз, маску сети, dns и диапазон, с которого адреса будут выдаваться. Базовая конфигурация ниже.

На самом деле протокол динамического назначения адресов не так уж и прост, рекомендую самостоятельно ознакомиться с его опциями и возможностями.
[RT1]dhcp server ip-pool pool-net10
 
[RT1-dhcp-pool-pool-net10]gateway-list 192.168.10.1
 
[RT1-dhcp-pool-pool-net10]network 192.168.10.0 mask 255.255.255.0
 
[RT1-dhcp-pool-pool-net10]address range 192.168.10.10 192.168.10.210
 
[RT1-dhcp-pool-pool-net10] dns-list 192.168.10.1 8.8.8.8
[RT1]dhcp server ip-pool pool-net20
 
[RT1-dhcp-pool-pool-net20]gateway-list 192.168.20.1
 
[RT1-dhcp-pool-pool-net20]network 192.168.20.0 mask 255.255.255.0
 
[RT1-dhcp-pool-pool-net20]address range 192.168.20.10 192.168.20.210
 
[RT1-dhcp-pool-pool-net20] dns-list 192.168.20.1 8.8.8.8

Создадим vlans и настроим их следующим образом:

system-view
[RT1]vlan 10
[RT1-vlan10]description SKS
[RT1-vlan10]exit
[RT1]vlan 20
[RT1-vlan20]description PBX
[RT1-vlan20]exit

Назначаем адреса на интерфейсы и привязываем к ним настройки dhcp-пулов:

[RT1]interface Vlan-interface 10 
[RT1-Vlan-interface10]ip address 192.168.10.1 24
[RT1-Vlan-interface10]dhcp server apply ip-pool pool-net10
[RT1]interface Vlan-interface 20
[RT1-Vlan-interface20]ip address 192.168.20.1 24
[RT1-Vlan-interface20]dhcp server apply ip-pool pool-net20
Этих настроек не достаточно для обеспечения доступа в интернет, дабы решение задачи не было слишком запутанным не будем усложнять netconfig 🙂

Порт маршрутизатора, подключенный к коммутатору необходимо сконфигурировать как “trunk”.

Это необходимо в случае распределения портов с разных vlans по разным коммутаторам, и именно через транки, удобней всего связывать устройства, использующие подобные схемы, экономя порты устройств и упрощая схемы подключения в целом.

В нашем случае:

[RT1]interface GigabitEthernet 0/8
[RT1-GigabitEthernet0/8]port link-type trunk
[RT1-GigabitEthernet0/8]port trunk permit vlan 10 20

После установки режима порта и разрешения определенным vlans использовать этот порт переходим ко второму этапу.

Настройка коммутатора.

Создаем vlans:

system-view
[SW1]vlan 10
[SW1-vlan10]description SKS
[SW1-vlan10]exit
[SW1]vlan 20
[SW1-vlan20]description PBX
[SW1-vlan20]exit

Проделаем с портом, “смотрящим” в сторону маршрутизатора ту же транковую магию.

[SW1]interface GigabitEthernet 1/0/24
[SW1-GigabitEthernet1/0/24] port link-type trunk
[SW1-GigabitEthernet1/0/24] port trunk permit vlan 10 20

Добавляем порт, в который подключен SIP-сервер в соответствующий vlan:

[SW1]interface GigabitEthernet 1/0/23
[SW1-GigabitEthernet1/0/23]port access vlan 20

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

Перейдем к настройке портов, так выглядит базовая конфигурация:

[SW1]display current-configuration interface GigabitEthernet 1/0/1
#
interface GigabitEthernet1/0/1
 port auto-power-down
 poe enable
 stp edged-port enable
#

или более подробно:

[SW1]display interface GigabitEthernet 1/0/1
 GigabitEthernet1/0/1 current state: UP
 IP Packet Frame Type: PKTFMT_ETHNT_2, Hardware Address: 1111-2222-3333
 Description: GigabitEthernet1/0/1 Interface
 PVID: 1
 Mdi type: auto
 Port link-type: access
 Tagged   VLAN ID : none
 Untagged VLAN ID : 1
 Port priority: 0

Мы же изменим режим работы порта на “hybrid”, трафик для vlan телефонии будет тегированным а для скс нет,
также установим на порт “PVID”, что позволит компьютеру подключаться в сеть напрямую, без телефона (на случай когда телефон временно отсутствует или не предусмотрен, для стандартизации будет самое то).

А потом резко понадобился телефон, а оно ничего не работает 🙂

 

[SW1]interface GigabitEthernet 1/0/1
[SW1-GigabitEthernet1/0/1]port link-type hybrid
[SW1-GigabitEthernet1/0/1]port hybrid vlan 20 tagged
[SW1-GigabitEthernet1/0/1]port hybrid vlan 10 untagged
[SW1-GigabitEthernet1/0/1]port hybrid pvid vlan 10
Если потребуется выбор ряда портов для общей настройки рекомендую использовать команду “interface range” :
[SW1]interface range GigabitEthernet 1/0/1 to GigabitEthernet 1/0/10

Настройка телефона.

Тут все до банального просто, заходим на устройство и переходим в настройки сети:

Указываем какие vlans будут активированы на портах телефона. Обратите внимание, если не указать значение для поля “PC Port VLAN Tag” то для этого порта будет применен параметр “PVID”, что в нашем случае тоже будет работать.
И немного о безопасности , в текущей статье не будет раскрыта тема “vioce vlan”, но мы отдельно рассмотрим как можно обезопасить vlan телефонии от подключения сторонних устройств. Для это необходимо установить несколько глобальных параметров на коммутаторе:

[SW1]voice vlan security enable
[SW1]voice vlan mac-address 0003-6b00-0000 mask ffff-ff00-0000 description Cisco Phone
[SW1]voice vlan mac-address 000b-8241-1814 mask ffff-ffff-ffff description Admin Phone
[SW1]voice vlan aging 60
[SW1-GigabitEthernet1/0/1]undo voice vlan mode auto
[SW1-GigabitEthernet1/0/1]voice vlan 20 enable

Таким образом мы включаем безопасность для voice vlan, активируем ее на конкретном порту/портах а также формируем список mac адресов и масок, на основании которых мы либо прописываем весь список имеющихся аппаратных адресов в vlan 20 либо разрешаем телефонные аппараты отдельных вендоров.
Так выглядит наш результат настройки:

[SW1]display voice vlan state
 Maximum of Voice VLANs: 1
 Current Voice VLANs: 1
 Voice VLAN security mode: Security
 Voice VLAN aging time: 60 minutes
 Voice VLAN enabled port and its mode:
 PORT                        VLAN        MODE        COS        DSCP
 --------------------------------------------------------------------
 GigabitEthernet1/0/1         20         MANUAL      6          46

И список разрешенных mac адресов:

[SW1]display voice vlan oui
Oui Address     Mask            Description
0003-6b00-0000  ffff-ff00-0000  Cisco Phone
000b-8241-1814  ffff-ffff-ffff  Admin Phone

Ниже небольшой список mac адресов отдельных производителей.

00-01-e3 ffff-ff00-0000 Siemens_AG_phone
00-03-6b ffff-ff00-0000 Cisco_phone
00-09-6e ffff-ff00-0000 Avaya_phone
00-0f-e2 ffff-ff00-0000 H3C_Aolynk_phone
00-60-b9 ffff-ff00-0000 Philips_and_NEC_AG_phone
00-d0-1e ffff-ff00-0000 Pingtel_phone
00-e0-75 ffff-ff00-0000 Polycom/Veritel_phone
00-e0-bb ffff-ff00-0000 3Com_phone
00-0b-82 ffff-ff00-0000 Grandstream_phone

Надеюсь, изложенный материал будет полезен, всем добра!




Fatal error: Uncaught Error: Call to undefined function wp_related_posts() in /home/netconfi/public_html/wp-content/themes/theme/single.php:56 Stack trace: #0 /home/netconfi/public_html/wp-includes/template-loader.php(106): include() #1 /home/netconfi/public_html/wp-blog-header.php(19): require_once('/home/netconfi/...') #2 /home/netconfi/public_html/index.php(17): require('/home/netconfi/...') #3 {main} thrown in /home/netconfi/public_html/wp-content/themes/theme/single.php on line 56
WordPress › Error

There has been a critical error on your website.

Learn more about debugging in WordPress.