VLAN в Cisco

  • Михаил
  • 12 мин. на прочтение
  • 120
  • 11 Dec 2012
  • 11 Dec 2012

На этой странице рассматривается процедура настройки VLAN в Cisco.

На странице VLAN в Cisco/Lab находятся лабораторные, которые можно сделать для того чтобы на практике попробовать настройки, которые описываются на этой странице. Лабораторные подготовлены в Packet Tracer, но аналогично могут быть выполнены и на реальном оборудовании.

Настройка VLAN на коммутаторах Cisco под управлением IOS

 

Сеть с VLANами на коммутаторах Cisco

Терминология Cisco:

  • access port — порт принадлежащий одному VLAN'у и передающий нетегированный трафик
  • trunk port — порт передающий тегированный трафик одного или нескольких VLAN'ов

Коммутаторы Cisco ранее поддерживали два протокола 802.1Qи ISL. ISL — проприетарный протокол использующийся в оборудовании Cisco. ISL полностью инкапсулирует фрейм для передачи информации о принадлежности к VLAN'у.

В современных моделях коммутаторов Cisco ISL не поддерживается.

Создание VLAN'а с идентификатором 2 и задание имени для него:

sw1(config)# vlan 2
sw1(config-vlan)# name test

Удаление VLAN'а с идентификатором 2:

sw1(config)# no vlan 2

Настройка access портов

Назначение порта коммутатора в VLAN:

sw1(config)# interface fa0/1
sw1(config-if)# switchport mode access
sw1(config-if)# switchport access vlan 2

Назначение диапазона портов с fa0/4 до fa0/5 в vlan 10:

sw1(config)# interface range fa0/4 - 5
sw1(config-if-range)# switchport mode access
sw1(config-if-range)# switchport access vlan 10

Просмотр информации о VLAN'ах:

sw1# show vlan brief

VLAN Name                             Status    Ports

--- -------------------------------- --------- -------------------------------

1    default                          active    Fa0/6, Fa0/7, Fa0/8, Fa0/9,

                                                Fa0/10, Fa0/11, Fa0/12, Fa0/13,

                                                Fa0/14, Fa0/15, Fa0/16, Fa0/17, 

                                                Fa0/18, Fa0/19, Fa0/20, Fa0/21,

                                                Fa0/22, Fa0/23, Fa0/24

2    test                             active    Fa0/1, Fa0/2   

10   VLAN0010                         active    Fa0/4, Fa0/5

15   VLAN0015                         active    Fa0/3

 Настройка транка (trunk)

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

Режимы интерфейса (режим по умолчанию зависит от модели коммутатора):

auto — Порт находится в автоматическом режиме и будет переведён в состояние trunk, только если порт на другом конце находится в режиме on или desirable. Т.е. если порты на обоих концах находятся в режиме "auto", то trunk применяться не будет.

desirable — Порт находится в режиме "готов перейти в состояние trunk"; периодически передает DTP-кадры порту на другом конце, запрашивая удаленный порт перейти в состояние trunk (состояние trunk будет установлено, если порт на другом конце находится в режиме on, desirable, или auto).

trunk — Порт постоянно находится в состоянии trunk, даже если порт на другом конце не поддерживает этот режим.

nonegotiate — Порт готов перейти в режим trunk, но при этом не передает DTP-кадры порту на другом конце. Этот режим используется для предотвращения конфликтов с другим "не-cisco" оборудованием. В этом случае коммутатор на другом конце должен быть вручную настроен на использование trunk'а.

По умолчанию в транке разрешены все VLAN. Для того чтобы через соответствующий VLAN в транке передавались данные, как минимум, необходимо чтобы VLAN был активным. Активным VLAN становится тогда, когда он создан на коммутаторе и в нём есть хотя бы один порт в состоянии up/up.

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

В схеме, которая используется для демонстрации настроек, на коммутаторах sw1 и sw2, нужные VLAN будут созданы в момент добавления access-портов в соответствующие VLAN:

sw1(config)# interface fa0/3
sw1(config-if)# switchport mode access
sw1(config-if)# switchport access vlan 15

% Access VLAN does not exist. Creating vlan 15

На коммутаторе sw3 access-портов нет. Поэтому необходимо явно создать все необходимые VLAN:

sw3(config)# vlan 2,10,15

Для автоматического создания VLAN на коммутаторах, может использоваться протокол VTP.

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

Создание статического транка:

sw1(config)# interface fa0/22
sw1(config-if)# switchport mode trunk

На некоторых моделях коммутаторов (на которых поддерживается ISL) после попытки перевести интерфейс в режим статического транка, может появится такая ошибка:

sw1(config-if)# switchport mode trunk

Command rejected: An interface whose trunk encapsulation is “Auto” can not be configured to “trunk” mode.

Это происходит из-за того, что динамическое определение инкапсуляции (ISL или 802.1Q) работает только с динамическими режимами транка. И для того, чтобы настроить статический транк, необходимо инкапсуляцию также настроить статически.

Для таких коммутаторов необходимо явно указать тип инкапсуляции для интерфейса:

sw1(config-if)# switchport trunk encapsulation dot1q

И после этого снова повторить команду настройки статического транка (switchport mode trunk).

Динамическое создание транков (DTP)

Dynamic Trunk Protocol (DTP) — проприетарный протокол Cisco, который позволяет коммутаторам динамически распознавать настроен ли соседний коммутатор для поднятия транка и какой протокол использовать (802.1Q или ISL). Включен по умолчанию.

Режимы DTP на интерфейсе:

auto — Порт находится в автоматическом режиме и будет переведён в состояние trunk, только если порт на другом конце находится в режиме on или desirable. Т.е. если порты на обоих концах находятся в режиме "auto", то trunk применяться не будет.

desirable — Порт находится в режиме "готов перейти в состояние trunk"; периодически передает DTP-кадры порту на другом конце, запрашивая удаленный порт перейти в состояние trunk (состояние trunk будет установлено, если порт на другом конце находится в режиме on, desirable, или auto).

nonegotiate — Порт готов перейти в режим trunk, но при этом не передает DTP-кадры порту на другом конце. Этот режим используется для предотвращения конфликтов с другим "не-cisco" оборудованием. В этом случае коммутатор на другом конце должен быть вручную настроен на использование trunk'а.

Перевести интерфейс в режим auto:

sw1(config-if)# switchport mode dynamic auto

Перевести интерфейс в режим desirable:

sw1(config-if)# switchport mode dynamic desirable

Перевести интерфейс в режим nonegotiate:

sw1(config-if)# switchport nonegotiate

Проверить текущий режим DTP:

sw# show dtp interface

]Разрешённые VLAN'ы

По умолчанию в транке разрешены все VLAN. Можно ограничить перечень VLAN, которые могут передаваться через конкретный транк.

Указать перечень разрешенных VLAN для транкового порта fa0/22:

sw1(config)# interface fa0/22
sw1(config-if)# switchport trunk allowed vlan 1-2,10,15

Добавление ещё одного разрешенного VLAN:

sw1(config)# interface fa0/22
sw1(config-if)# switchport trunk allowed vlan add 160

Удаление VLAN из списка разрешенных:

sw1(config)# interface fa0/22
sw1(config-if)# switchport trunk allowed vlan remove 160

Native VLAN

В стандарте 802.1Q существует понятие native VLAN. Трафик этого VLAN передается нетегированным. По умолчанию это VLAN 1. Однако можно изменить это и указать другой VLAN как native.

Настройка VLAN 5 как native:

sw1(config-if)# switchport trunk native vlan 5

Теперь весь трафик принадлежащий VLAN'у 5 будет передаваться через транковый интерфейс нетегированным, а весь пришедший на транковый интерфейс нетегированный трафик будет промаркирован как принадлежащий VLAN'у 5 (по умолчанию VLAN 1).

Настройка маршрутизации между VLAN

 

Передача трафика между VLANами с помощью коммутатора Cisco

Все настройки по назначению портов в VLAN, сделанные ранее для sw1, sw2 и sw3, сохраняются. Дальнейшие настройки подразумевают использование sw3 как коммутатора 3 уровня.

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

Настройки на коммутаторе sw3:

VLAN / интерфейс 3го уровня

IP-адрес

VLAN 210.0.2.1 /24
VLAN 1010.0.10.1 /24
VLAN 1510.0.15.1 /24
Fa 0/10192.168.1.2 /24


Включение маршрутизации на коммутаторе:

sw3(config)# ip routing

Задание адреса в VLAN. Этот адрес будет маршрутом по умолчанию для компьютеров в VLAN 2:

sw3(config)# interface Vlan2
sw3(config-if)# ip address 10.0.2.1 255.255.255.0
sw3(config-if)# no shutdown
Задание адреса в VLAN 10:
sw3(config)# interface Vlan10
sw3(config-if)# ip address 10.0.10.1 255.255.255.0
sw3(config-if)# no shutdown

Перевод интерфейса в режим 3го уровня

Интерфейс fa0/10 соединен с маршрутизатором. Этот интерфейс можно перевести в режим 3 уровня.

Перевод fa0/10 в режим интерфейса 3 уровня и задание IP-адреса:

sw3(config)#interface FastEthernet 0/10
sw3(config-if)# no switchport
sw3(config-if)# ip address 192.168.1.2 255.255.255.0
sw3(config-if)# no shutdown

R1 используется как шлюз по умолчанию для рассматриваемой сети. Трафик не предназначенный сетям VLAN'ов будет передаваться на R1.

Настройка маршрута по умолчанию:

sw3(config) ip route 0.0.0.0 0.0.0.0 192.168.1.1

Просмотр информации

Просмотр информации о транке:

sw1# show interface fa0/22 trunk

Port                Mode         Encapsulation  Status        Native vlan

Fa0/22              on           802.1q         trunking      1

Port                Vlans allowed on trunk

Fa0/22              1-2,10,15

Port                Vlans allowed and active in management domain

Fa0/22              1-2,10,15

Port                Vlans in spanning tree forwarding state and not pruned

Fa0/22              1-2,10,15

Просмотр информации о настройках интерфейса (о транке):

sw1# show interface fa0/22 switchport

Name: Fa0/22

Switchport: Enabled

Administrative Mode: trunk

Operational Mode: trunk

Administrative Trunking Encapsulation: dot1q

Operational Trunking Encapsulation: dot1q

Operational Dot1q Ethertype:  0x8100

Negotiation of Trunking: On

Access Mode VLAN: 1 (default)

Trunking Native Mode VLAN: 1 (VLAN_1)

Administrative Native VLAN tagging: enabled

Operational Native VLAN tagging: disabled

Voice VLAN: none

Administrative private-vlan host-association: none

Administrative private-vlan mapping: none

Operational private-vlan: none

Trunking VLANs Enabled: ALL

Pruning VLANs Enabled: 2-1001

Capture Mode Disabled

Capture VLANs Allowed: ALL

Просмотр информации о настройках интерфейса (об access-интерфейсе):

sw1# show interface fa0/3 switchport

Name: Fa0/3

Switchport: Enabled

Administrative Mode: static access

Operational Mode: static access

Administrative Trunking Encapsulation: negotiate

Operational Trunking Encapsulation: native

Operational Dot1q Ethertype:  0x8100

Negotiation of Trunking: Off

Access Mode VLAN: 15 (VLAN0015)

Trunking Native Mode VLAN: 1 (default)

Administrative Native VLAN tagging: enabled

Operational Native VLAN tagging: disabled

Voice VLAN: none

Administrative private-vlan host-association: none

Administrative private-vlan mapping: none

Operational private-vlan: none

Trunking VLANs Enabled: ALL

Pruning VLANs Enabled: 2-1001

Capture Mode Disabled

Capture VLANs Allowed: ALL

Просмотр информации о VLAN'ах:

sw1# show vlan brief

VLAN Name                             Status    Ports

---- -------------------------------- --------- -------------------------------

1    default                          active    Fa0/6, Fa0/7, Fa0/8, Fa0/9,

                                                Fa0/10, Fa0/11, Fa0/12, Fa0/13,

                                                Fa0/14, Fa0/15, Fa0/16, Fa0/17, 

                                                Fa0/18, Fa0/19, Fa0/20, Fa0/21,

                                                Fa0/22, Fa0/23, Fa0/24

2    test                             active    Fa0/1, Fa0/2

10   VLAN0010                         active    Fa0/4, Fa0/5

15   VLAN0015                         active    Fa0/3

 

Диапазоны VLAN

VLANs

Диапазон

Использование

Передается VTP

0, 4095ReservedТолько для системного использования.--
1NormalVLAN по умолчанию. Можно использовать, но нельзя удалить.Да
2-1001NormalДля VLANов Ethernet. Можно создавать, удалять и использовать.Да
1002-1005NormalДля FDDI и Token Ring. Нельзя удалить.Да
1006-4094ExtendedТолько для VLANов Ethernet.Версия 1 и 2 нет, версия 3 да

Пример настройки

Пример базовой настройки VLAN, без настройки маршрутизации

В этом разделе приведены конфигурационные файлы коммутаторов для изображенной схемы. На коммутаторе sw3 не настроена маршрутизация между VLAN, поэтому в данной схеме хосты могут общаться только в пределах одного VLAN.

Например, хосты на коммутаторе sw1 в VLAN 2 могут взаимодействовать между собой и с хостами в VLAN 2 на коммутаторе sw2. Однако, они не могут взаимодействовать с хостами в других VLAN на коммутаторах sw1 и sw2.

Не все настройки являются обязательными. Например, перечисление разрешенных VLAN в транке не является обязательным для работы транка, однако, рекомендуется настраивать разрешенные VLAN явно.

Настройки транка на sw1 и sw2 немного отличаются от sw3. На sw3 не задается инкапсуляция для транка (команда switchport trunk encapsulation dot1q), так как в используемой модели коммутатора поддерживается только режим 802.1Q.

Конфигурация sw1:

!
interface FastEthernet0/1
switchport mode access
switchport access vlan 2
!
interface FastEthernet0/2
switchport mode access
switchport access vlan 2
!
interface FastEthernet0/3
switchport mode access
switchport access vlan 15
!
interface FastEthernet0/4
switchport mode access
switchport access vlan 10
!
interface FastEthernet0/5
switchport mode access
switchport access vlan 10
!
interface FastEthernet0/22
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 1,2,10,15
!

Конфигурация sw2:

!
interface FastEthernet0/1
switchport mode access
switchport access vlan 10
!
interface FastEthernet0/2
switchport mode access
switchport access vlan 2
!
interface FastEthernet0/3
switchport mode access
switchport access vlan 2
!
interface FastEthernet0/22
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 1,2,10
!

Конфигурация sw3:

!
vlan 2,10,15
!
interface FastEthernet0/1
switchport mode trunk
switchport trunk allowed vlan 1,2,10,15
!
interface FastEthernet0/2
switchport mode trunk
switchport trunk allowed vlan 1,2,10
!

Пример конфигураций с настройкой маршрутизации между VLAN

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

Например, хосты на коммутаторе sw1 в VLAN 2 могут взаимодействовать между собой и с хостами в VLAN 2 на коммутаторе sw2. Кроме того, они могут взаимодействовать с хостами в других VLAN на коммутаторах sw1 и sw2.

Настройки коммутаторов sw1 и sw2 остались точно такими же, как и в предыдущем разделе. Добавились дополнительные настройки только на коммутаторе sw3.

Конфигурация sw1:

!
interface FastEthernet0/1
switchport mode access
switchport access vlan 2
!
interface FastEthernet0/2
switchport mode access
switchport access vlan 2
!
interface FastEthernet0/3
switchport mode access
switchport access vlan 15
!
interface FastEthernet0/4
switchport mode access
switchport access vlan 10
!
interface FastEthernet0/5
switchport mode access
switchport access vlan 10
!
interface FastEthernet0/22
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 1,2,10,15
!

Конфигурация sw2:

!
interface FastEthernet0/1
switchport mode access
switchport access vlan 10
!
interface FastEthernet0/2
switchport mode access
switchport access vlan 2
!
interface FastEthernet0/3
switchport mode access
switchport access vlan 2
!
interface FastEthernet0/22
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 1,2,10
!

Конфигурация sw3:

!
ip routing
!
vlan 2,10,15
!
interface FastEthernet0/1
switchport mode trunk
switchport trunk allowed vlan 1,2,10,15
!
interface FastEthernet0/2
switchport mode trunk
switchport trunk allowed vlan 1,2,10
!
!
interface FastEthernet0/10
no switchport
ip address 192.168.1.2 255.255.255.0
!
!
interface Vlan2
ip address 10.0.2.1 255.255.255.0
!
interface Vlan10
ip address 10.0.10.1 255.255.255.0
!
interface Vlan15
ip address 10.0.15.1 255.255.255.0
!
!
ip route 0.0.0.0 0.0.0.0 192.168.1.1
!

Настройка VLAN на маршрутизаторах Cisco

 

Передача трафика между VLANами с помощью маршрутизатора

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

На коммутаторе порт, ведущий к маршрутизатору, должен быть настроен как тегированный порт (в терминах Cisco — транк).

Изображенная схема, в которой маршрутизация между VLAN выполняется на маршрутизаторе, часто называется router on a stick.

IP-адреса шлюза по умолчанию для VLAN (эти адреса назначаются на подынтерфейсах маршрутизатора R1):

VLAN

IP-адрес

VLAN 210.0.2.1 /24
VLAN 1010.0.10.1 /24
VLAN 1510.0.15.1 /24

Для логических подынтерфейсов[1] необходимо указывать то, что интерфейс будет получать тегированный трафик и указывать номер VLAN соответствующий этому интерфейсу. Это задается командой в режиме настройки подынтерфейса:

R1(config-if)# encapsulation dot1q <vlan-id>

Создание логического подынтерфейса для VLAN 2:

R1(config)# interface fa0/0.2
R1(config-subif)# encapsulation dot1q 2
R1(config-subif)# ip address 10.0.2.1 255.255.255.0

Создание логического подынтерфейса для VLAN 10:

R1(config)# interface fa0/0.10
R1(config-subif)# encapsulation dot1q 10
R1(config-subif)# ip address 10.0.10.1 255.255.255.0

Соответствие номера подынтерфейса и номера VLAN не является обязательным условием. Однако обычно номера подынтерфейсов задаются именно таким образом, чтобы упростить администрирование.

На коммутаторе порт, ведущий к маршрутизатору, должен быть настроен как статический транк:

interface FastEthernet0/20
switchport trunk encapsulation dot1q
switchport mode trunk

Пример настройки

Конфигурационные файлы устройств для схемы изображенной в начале раздела.

Конфигурация sw1:
!
interface FastEthernet0/1
switchport mode access
switchport access vlan 2
!
interface FastEthernet0/2
switchport mode access
switchport access vlan 2
!
interface FastEthernet0/3
switchport mode access
switchport access vlan 15
!
interface FastEthernet0/4
switchport mode access
switchport access vlan 10
!
interface FastEthernet0/5
switchport mode access
switchport access vlan 10
!
interface FastEthernet0/20
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 2,10,15
!

Конфигурация R1:

!
interface fa0/0.2
encapsulation dot1q 2
ip address 10.0.2.1 255.255.255.0
!
interface fa0/0.10
encapsulation dot1q 10
ip address 10.0.10.1 255.255.255.0
!
interface fa0/0.15
encapsulation dot1q 15
ip address 10.0.15.1 255.255.255.0
!

Настройка native VLAN

По умолчанию трафик VLAN'а 1 передается не тегированым (то есть, VLAN 1 используется как native), поэтому на физическом интерфейсе маршрутизатора задается адрес из сети VLAN 1.

Задание адреса на физическом интерфейсе:

R1(config)# interface fa0/0
R1(config-if)# ip address 10.0.1.1 255.255.255.0

Если необходимо создать подынтерфейс для передачи не тегированного трафика, то в этом подынтерфейсе явно указывается, что он принадлежит native VLAN. Например, если native VLAN 99:

R1(config)# interface fa0/0.99
R1(config-subif)# encapsulation dot1q 99 native
R1(config-subif)# ip address 10.0.99.1 255.255.255.0