4.3. Режимы портов коммутатора L2 switchport
Назначение
Различные режимы L2-портов коммутатора используются в разных сценариях подключения пользователей и сетевых устройств.
Описание
Ключ switchport задает варианты L2-режимов работы физического интерфейса коммутатора. Для перевода физического интерфейса коммутатора в L3-режим используется команда no switchport.
В L2-режиме физический интерфейс поддерживает следующие варианты конфигурации:
trunk;
hybrid;
access.
Режим порта trunk
Описание
Trunk - порт, поддерживающий множественные тегированные, а также нетегированные VLAN. Применяется для соединений между коммутаторами сети и позволяет передавать данные множества VLAN между устройствами в распределенной сети. Также применяется для подключений точек беспроводного доступа, в этом случае один нетегированный VLAN используется для управления точкой доступа, а тегированные VLAN передают данные отдельных SSID. Порт в режиме trunk не поддерживает аутентификацию и авторизацию подключаемых устройств и пользователей, используя стандарт 802.1x.
Настройка
Шаг 1: Инициация режима порта trunk
Для инициализации режима порта trunk предназначена команда, выполняемая в режиме конфигурации интерфейса switchport mode trunk. Для разрешения передачи трафика всех существующих на коммутаторе VLAN через trunk-интерфейс, необходима команда switchport trunk allowed vlan all. При необходимости ограничения передачи трафика определенных VLAN через trunk-интерфейс, возможно выборочное добавление и удаление таких VLAN командами switchport trunk allowed vlan add и switchport trunk allowed vlan remove.
Switch(config)# interface eth-0-54
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan all
Шаг 2: Ассоциация порта в режиме trunk
По умолчанию порт в режиме trunk ассоциирован с Native VLAN 1, таким образом, в Native VLAN будет помещаться весь нетегируемый трафик, проходящий через trunk-интерфейс.
Switch# show vlan all
VLAN ID Name State STP ID Member ports
(u)-Untagged, (t)-Tagged
======= =============================== ======= ======= ========================
1 default ACTIVE 0 eth-0-1(u) eth-0-2(u)
eth-0-3(u) eth-0-4(u)
eth-0-5(u) eth-0-6(u)
eth-0-7(u) eth-0-8(u)
eth-0-9(u) eth-0-10(u)
eth-0-11(u) eth-0-12(u)
eth-0-13(u) eth-0-14(u)
eth-0-15(u) eth-0-16(u)
eth-0-17(u) eth-0-18(u)
eth-0-19(u) eth-0-20(u)
eth-0-21(u) eth-0-22(u)
eth-0-23(u) eth-0-24(u)
eth-0-25(u) eth-0-26(u)
eth-0-27(u) eth-0-28(u)
eth-0-29(u) eth-0-30(u)
eth-0-31(u) eth-0-32(u)
eth-0-33(u) eth-0-34(u)
eth-0-35(u) eth-0-36(u)
eth-0-37(u) eth-0-38(u)
eth-0-39(u) eth-0-40(u)
eth-0-41(u) eth-0-42(u)
eth-0-43(u) eth-0-44(u)
eth-0-45(u) eth-0-46(u)
eth-0-47(u) eth-0-48(u)
eth-0-49(u) eth-0-50(u)
eth-0-51(u) eth-0-52(u)
eth-0-53(u) eth-0-54(u)
100 VLAN0100 ACTIVE 0 eth-0-54(t)
200 VLAN0200 ACTIVE 0 eth-0-54(t)
300 VLAN0300 ACTIVE 0 eth-0-54(t)
4094 VLAN4094 ACTIVE 0 eth-0-54(t)
Шаг 3: Смена стандартного номера Native VLAN
Хорошим правилом безопасного дизайна является смена стандартного номера Native VLAN для всего сетевого сегмента. Сделать это можно в режиме конфигурации интерфейса, используя команду switchport trunk native vlan. В соответствии с рекомендациями безопасности, в этом VLAN не должно быть портов доступа, он должен существовать только для trunk.
Switch(config)# vlan 4094
Switch(config-vlan)# exit
Switch(config)# interf eth-0-54
Switch(config-if)# switchport trunk native vlan 4094
После этого vlan 1 для порта eth-0-54 сменит статус на тегируемый, а vlan 4094 перейдет в статус нетегируемого.
Switch# show vlan all
VLAN ID Name State STP ID Member ports
(u)-Untagged, (t)-Tagged
======= =============================== ======= ======= ========================
1 default ACTIVE 0 eth-0-1(u) eth-0-2(u)
eth-0-3(u) eth-0-4(u)
eth-0-5(u) eth-0-6(u)
eth-0-7(u) eth-0-8(u)
eth-0-9(u) eth-0-10(u)
eth-0-11(u) eth-0-12(u)
eth-0-13(u) eth-0-14(u)
eth-0-15(u) eth-0-16(u)
eth-0-17(u) eth-0-18(u)
eth-0-19(u) eth-0-20(u)
eth-0-21(u) eth-0-22(u)
eth-0-23(u) eth-0-24(u)
eth-0-25(u) eth-0-26(u)
eth-0-27(u) eth-0-28(u)
eth-0-29(u) eth-0-30(u)
eth-0-31(u) eth-0-32(u)
eth-0-33(u) eth-0-34(u)
eth-0-35(u) eth-0-36(u)
eth-0-37(u) eth-0-38(u)
eth-0-39(u) eth-0-40(u)
eth-0-41(u) eth-0-42(u)
eth-0-43(u) eth-0-44(u)
eth-0-45(u) eth-0-46(u)
eth-0-47(u) eth-0-48(u)
eth-0-49(u) eth-0-50(u)
eth-0-51(u) eth-0-52(u)
eth-0-53(u) eth-0-54(t)
100 VLAN0100 ACTIVE 0 eth-0-54(t)
200 VLAN0200 ACTIVE 0 eth-0-54(t)
300 VLAN0300 ACTIVE 0 eth-0-54(t)
4094 VLAN4094 ACTIVE 0 eth-0-54(u)
Шаг 4: Удаление стандартного Native VLAN с trunk-интерфейса
Vlan 1 может быть глобально удален со всех trunk-интерфейсов применением команды switchport trunk allowed vlan remove для каждого интерфейса.
Switch(config)# interf eth-0-54
Switch(config-if)# switchport trunk allowed vlan remove 1
После чего он больше не имеет ассоциации с интерфейсом eth-0-54.
Switch# show vlan all
VLAN ID Name State STP ID Member ports
(u)-Untagged, (t)-Tagged
======= =============================== ======= ======= ========================
1 default ACTIVE 0 eth-0-1(u) eth-0-2(u)
eth-0-3(u) eth-0-4(u)
eth-0-5(u) eth-0-6(u)
eth-0-8(u) eth-0-9(u)
eth-0-10(u) eth-0-11(u)
eth-0-12(u) eth-0-13(u)
eth-0-14(u) eth-0-15(u)
eth-0-16(u) eth-0-17(u)
eth-0-18(u) eth-0-19(u)
eth-0-20(u) eth-0-21(u)
eth-0-22(u) eth-0-23(u)
eth-0-24(u) eth-0-25(u)
eth-0-26(u) eth-0-27(u)
eth-0-28(u) eth-0-29(u)
eth-0-30(u) eth-0-31(u)
eth-0-32(u) eth-0-33(u)
eth-0-34(u) eth-0-35(u)
eth-0-36(u) eth-0-37(u)
eth-0-38(u) eth-0-39(u)
eth-0-40(u) eth-0-41(u)
eth-0-42(u) eth-0-43(u)
eth-0-44(u) eth-0-45(u)
eth-0-46(u) eth-0-47(u)
eth-0-48(u) eth-0-49(u)
eth-0-50(u) eth-0-51(u)
eth-0-52(u) eth-0-53(u)
100 VLAN0100 ACTIVE 0 eth-0-54(t)
200 VLAN0200 ACTIVE 0 eth-0-54(t)
300 VLAN0300 ACTIVE 0 eth-0-54(t)
4094 VLAN4094 ACTIVE 0 eth-0-54(u)
Шаг 5: Снятие тега с нескольких VLAN
Наличие нескольких VLAN без тега на порту типа trunk является исключительной ситуацией и не описывается в стандарте 802.1q. Однако может допускаться требованиями дизайна, предусматривая особое внимание к практической реализации. В случае такой необходимости, возможно снятие тегов с дополнительных VLAN, ассоциированных с trunk-интерфейсом, для чего используется команда switchport trunk untagged vlan.
Switch(config-if)# switchport trunk untagged vlan 300
Switch(config-if)# exit
Switch(config)# exit
Switch# show vlan all
VLAN ID Name State STP ID Member ports
(u)-Untagged, (t)-Tagged
======= =============================== ======= ======= ========================
1 default ACTIVE 0 eth-0-1(u) eth-0-2(u)
eth-0-3(u) eth-0-4(u)
eth-0-5(u) eth-0-6(u)
eth-0-7(u) eth-0-8(u)
eth-0-9(u) eth-0-10(u)
eth-0-11(u) eth-0-12(u)
eth-0-13(u) eth-0-14(u)
eth-0-15(u) eth-0-16(u)
eth-0-17(u) eth-0-18(u)
eth-0-19(u) eth-0-20(u)
eth-0-21(u) eth-0-22(u)
eth-0-23(u) eth-0-24(u)
eth-0-25(u) eth-0-26(u)
eth-0-27(u) eth-0-28(u)
eth-0-29(u) eth-0-30(u)
eth-0-31(u) eth-0-32(u)
eth-0-33(u) eth-0-34(u)
eth-0-35(u) eth-0-36(u)
eth-0-37(u) eth-0-38(u)
eth-0-39(u) eth-0-40(u)
eth-0-41(u) eth-0-42(u)
eth-0-43(u) eth-0-44(u)
eth-0-45(u) eth-0-46(u)
eth-0-47(u) eth-0-48(u)
eth-0-49(u) eth-0-50(u)
eth-0-51(u) eth-0-52(u)
eth-0-53(u) eth-0-54(t)
100 VLAN0100 ACTIVE 0 eth-0-54(t)
200 VLAN0200 ACTIVE 0 eth-0-54(t)
300 VLAN0300 ACTIVE 0 eth-0-54(u)
4094 VLAN4094 ACTIVE 0 eth-0-54(u)
Режим порта hybrid
Описание
Hybrid - порт доступа с поддержкой одного тегированного и одного нетегированного VLAN. Обычно используется для схемы подключения рабочей станции пользователя через IP-телефон, где Voice VLAN тегируется, а Data VLAN тега не имеет. Порт в режиме hybrid поддерживает аутентификацию и авторизацию подключаемых устройств и пользователей, используя стандарт 802.1x.
Настройка
Шаг 1: Инициация режима порта hybrid
Для инициализации режима hybrid используется команда, выполняемая в режиме конфигурации интерфейса, switchport mode hybrid. Также для назначения нетегированного Data VLAN на hybrid-интерфейс необходима команда switchport hybrid vlan.
Switch(config)# interface eth-0-7
Switch(config-if)# switchport mode hybrid
Switch(config-if)# switchport hybrid vlan 100
Поcле выполнения команд vlan 1 перестает ассоциироваться с портом eth-0-7, а vlan 100 приобретает статус untagged для этого порта.
Switch# show vlan all
VLAN ID Name State STP ID Member ports
(u)-Untagged, (t)-Tagged
======= =============================== ======= ======= ========================
1 default ACTIVE 0 eth-0-1(u) eth-0-2(u)
eth-0-3(u) eth-0-4(u)
eth-0-5(u) eth-0-6(u)
eth-0-8(u) eth-0-9(u)
eth-0-10(u) eth-0-11(u)
eth-0-12(u) eth-0-13(u)
eth-0-14(u) eth-0-15(u)
eth-0-16(u) eth-0-17(u)
eth-0-18(u) eth-0-19(u)
eth-0-20(u) eth-0-21(u)
eth-0-22(u) eth-0-23(u)
eth-0-24(u) eth-0-25(u)
eth-0-26(u) eth-0-27(u)
eth-0-28(u) eth-0-29(u)
eth-0-30(u) eth-0-31(u)
eth-0-32(u) eth-0-33(u)
eth-0-34(u) eth-0-35(u)
eth-0-36(u) eth-0-37(u)
eth-0-38(u) eth-0-39(u)
eth-0-40(u) eth-0-41(u)
eth-0-42(u) eth-0-43(u)
eth-0-44(u) eth-0-45(u)
eth-0-46(u) eth-0-47(u)
eth-0-48(u) eth-0-49(u)
eth-0-50(u) eth-0-51(u)
eth-0-52(u) eth-0-53(u)
eth-0-54(t)
100 VLAN0100 ACTIVE 0 eth-0-7(u) eth-0-54(t)
200 VLAN0200 ACTIVE 0 eth-0-54(t)
300 VLAN0300 ACTIVE 0 eth-0-54(u)
4094 VLAN4094 ACTIVE 0 eth-0-54(u)
Шаг 2: Добавление тегированного VLAN и ассоциация с Voice VLAN
Для добавления тегированного VLAN к hybrid-порту сделаем ассоциацию с Voice VLAN для vlan 200 и добавим назначение Voiсе VLAN к интерфейсу.
Switch(config)# voice vlan 200
Switch(config)# interface eth-0-7
Switch(config-if)# voice vlan 200 enable
После выполнения команд, vlan 200 отображается как тегированный для интерфейса eth-0-7, а vlan 100 как нетегированный.
Switch# show vlan all
VLAN ID Name State STP ID Member ports
(u)-Untagged, (t)-Tagged
======= =============================== ======= ======= ========================
1 default ACTIVE 0 eth-0-1(u) eth-0-2(u)
eth-0-3(u) eth-0-4(u)
eth-0-5(u) eth-0-6(u)
eth-0-8(u) eth-0-9(u)
eth-0-10(u) eth-0-11(u)
eth-0-12(u) eth-0-13(u)
eth-0-14(u) eth-0-15(u)
eth-0-16(u) eth-0-17(u)
eth-0-18(u) eth-0-19(u)
eth-0-20(u) eth-0-21(u)
eth-0-22(u) eth-0-23(u)
eth-0-24(u) eth-0-25(u)
eth-0-26(u) eth-0-27(u)
eth-0-28(u) eth-0-29(u)
eth-0-30(u) eth-0-31(u)
eth-0-32(u) eth-0-33(u)
eth-0-34(u) eth-0-35(u)
eth-0-36(u) eth-0-37(u)
eth-0-38(u) eth-0-39(u)
eth-0-40(u) eth-0-41(u)
eth-0-42(u) eth-0-43(u)
eth-0-44(u) eth-0-45(u)
eth-0-46(u) eth-0-47(u)
eth-0-48(u) eth-0-49(u)
eth-0-50(u) eth-0-51(u)
eth-0-52(u) eth-0-53(u)
eth-0-54(t)
100 VLAN0100 ACTIVE 0 eth-0-7(u) eth-0-54(t)
200 VLAN0200 ACTIVE 0 eth-0-7(t) eth-0-54(t)
300 VLAN0300 ACTIVE 0 eth-0-54(u)
4094 VLAN4094 ACTIVE 0 eth-0-54(u)
Режим порта access
Описание
Access - порт доступа с поддержкой одного VLAN, не имеет тега между коммутатором и подключаемым устройством. Ассоциируется с VLAN, и данные далее передаются через uplink trunk-порт коммутатора с соответствующим ассоциированным тегом. Используется для подключений рабочих станций пользователей. Порт в режиме access поддерживает аутентификацию и авторизацию подключаемых устройств и пользователей, используя стандарт 802.1x.
Настройка
Шаг 1: Инициация режима порта access
Для инициализации режима порта access используется команда, выполняемая в режиме конфигурации интерфейса, switchport mode access. Также, для назначения нетегированного Data VLAN на access-интерфейс, выполняется команда switchport access vlan.
Switch(config)# interface eth-0-7
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 100
Поcле выполнения команд vlan 1 перестает ассоциироваться с интерфейсом eth-0-7, а vlan 100 приобретает статус untagged для этого порта.
Switch# show vlan all
VLAN ID Name State STP ID Member ports
(u)-Untagged, (t)-Tagged
======= =============================== ======= ======= ========================
1 default ACTIVE 0 eth-0-1(u) eth-0-2(u)
eth-0-3(u) eth-0-4(u)
eth-0-5(u) eth-0-6(u)
eth-0-8(u) eth-0-9(u)
eth-0-10(u) eth-0-11(u)
eth-0-12(u) eth-0-13(u)
eth-0-14(u) eth-0-15(u)
eth-0-16(u) eth-0-17(u)
eth-0-18(u) eth-0-19(u)
eth-0-20(u) eth-0-21(u)
eth-0-22(u) eth-0-23(u)
eth-0-24(u) eth-0-25(u)
eth-0-26(u) eth-0-27(u)
eth-0-28(u) eth-0-29(u)
eth-0-30(u) eth-0-31(u)
eth-0-32(u) eth-0-33(u)
eth-0-34(u) eth-0-35(u)
eth-0-36(u) eth-0-37(u)
eth-0-38(u) eth-0-39(u)
eth-0-40(u) eth-0-41(u)
eth-0-42(u) eth-0-43(u)
eth-0-44(u) eth-0-45(u)
eth-0-46(u) eth-0-47(u)
eth-0-48(u) eth-0-49(u)
eth-0-50(u) eth-0-51(u)
eth-0-52(u) eth-0-53(u)
eth-0-54(t)
100 VLAN0100 ACTIVE 0 eth-0-7(u) eth-0-54(t)
200 VLAN0200 ACTIVE 0 eth-0-54(t)
300 VLAN0300 ACTIVE 0 eth-0-54(u)
4094 VLAN4094 ACTIVE 0 eth-0-54(u)
Шаг 2: Ассоциация порта доступа с несколькими VLAN
Наличие ситуации, когда access-порт ассоциируется с несколькими VLAN, также является исключительным случаем. Однако если особенные требования дизайна разрешают подобное допущение, то существует возможность ассоциации дополнительных нетегированных VLAN с access-интерфейсом, для чего используется команда switchport access allowed vlan add.
Switch(config)# interface eth-0-7
Switch(config-if)# switchport access allowed vlan add 200
После применения команды access-порт eth-0-7 ассоциируется с двумя VLAN, vlan 100 и vlan 200, и оба VLAN имеют статус untagged.
Switch# show vlan all
VLAN ID Name State STP ID Member ports
(u)-Untagged, (t)-Tagged
======= =============================== ======= ======= ========================
1 default ACTIVE 0 eth-0-1(u) eth-0-2(u)
eth-0-3(u) eth-0-4(u)
eth-0-5(u) eth-0-6(u)
eth-0-8(u) eth-0-9(u)
eth-0-10(u) eth-0-11(u)
eth-0-12(u) eth-0-13(u)
eth-0-14(u) eth-0-15(u)
eth-0-16(u) eth-0-17(u)
eth-0-18(u) eth-0-19(u)
eth-0-20(u) eth-0-21(u)
eth-0-22(u) eth-0-23(u)
eth-0-24(u) eth-0-25(u)
eth-0-26(u) eth-0-27(u)
eth-0-28(u) eth-0-29(u)
eth-0-30(u) eth-0-31(u)
eth-0-32(u) eth-0-33(u)
eth-0-34(u) eth-0-35(u)
eth-0-36(u) eth-0-37(u)
eth-0-38(u) eth-0-39(u)
eth-0-40(u) eth-0-41(u)
eth-0-42(u) eth-0-43(u)
eth-0-44(u) eth-0-45(u)
eth-0-46(u) eth-0-47(u)
eth-0-48(u) eth-0-49(u)
eth-0-50(u) eth-0-51(u)
eth-0-52(u) eth-0-53(u)
eth-0-54(t)
100 VLAN0100 ACTIVE 0 eth-0-7(u) eth-0-54(t)
200 VLAN0200 ACTIVE 0 eth-0-7(u) eth-0-54(t)
300 VLAN0300 ACTIVE 0 eth-0-54(u)
4094 VLAN4094 ACTIVE 0 eth-0-54(u)