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)