Настройка VLAN в Cisco
Коммутаторы Cisco ранних версий работали с двумя протоколами: 802.1Q, ISL. Второй из них относится к проприетарному протоколу, который применяется в коммутационных платформах Cisco.
Техническая
Коммутаторы Cisco ранних версий работали с двумя протоколами: 802.1Q, ISL. Второй из них относится к проприетарному протоколу, который применяется в коммутационных платформах Cisco.
В статье будет рассмотрен вопрос выполнения настроек VLAN в Cisco
Настройка VLAN на коммутаторах Cisco под управлением IOS
Некоторые обозначения:
- access port – это порт, который принадлежит к одному VLAN, и может передавать нетегированный информационный трафик;
- trunk port – это коммутационный порт, посредством которого может передаваться тегированный трафик от одного либо нескольких VLAN.
Коммутаторы Cisco ранних версий работали с двумя протоколами: 802.1Q, ISL. Второй из них относится к проприетарному протоколу, который применяется в коммутационных платформах Cisco. Этот протокол позволяет инкапсулировать фрейм с целью передачи данных о причастности к тому или иному VLAN. Современные модели этот протокол не поддерживают, а работают только с 802.1Q.
Создается 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 посредством одного порта, его следует перевести в режим trunk. Конкретные режимы интерфейса (режим умолчания отличаются для разных моделей):
- auto – это автоматический режим порта, из которого переход в режим trunk возможен только в том случае, если порт на другом конце связи будет в режиме desirable или on;
- desirable – это режим, из которого порт может перейти к режиму trunk; в этом состоянии он периодично посылает DTP-кадры к другому порту, запрашивая его перейти в режим trunk; этот режим будет установлен, если другой порт находится в одном из трех режимов: auto, desirable или on;
- trunk – в этом случае порт постоянно пребывает в состоянии trunk, даже если другой порт не может поддерживать такой же режим;
- nonegotiate – это режим, с которого порт готов выполнить переход к режиму trunk; он не выполняет передачу DTP-кадров к другому порту. Этот режим предусмотрен для исключения конфликтных ситуаций с другим оборудованием (не бренда Cisco). В этом случае коммутационное устройство на другом конце связи должно быть настроено в ручном режиме для использования режима trunk.
По умолчанию для режима trunk разрешаются все VLAN. Чтобы через любой из поддерживаемых VLAN выполнялась передача данных, он должен быть активным. В активную фазу он переходит тогда, когда его создали на коммутаторе и один из его портов находится в режиме up/up.
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.
Настройка статического Trunk
Чтобы создать статический trunk нужно:
sw1(config)# interface fa0/22
sw1(config-if)# switchport mode trunk
Модели коммутаторов, которые поддерживают ISL, после попытки перевода интерфейса в режим статического trunk могут выбрасывать следующую ошибку:
sw1(config-if)# switchport mode trunk
Command rejected: An interface whose trunk encapsulation is “Auto” can not be configured to “trunk” mode.
Ошибка генерируется потому, что процесс динамического определения инкапсуляции (выбор 802.1Q или ISL) может поддерживаться только с динамическим режимом trunk. Для настройки статического trunk нужно процедуру инкапсуляции также сделать статической. Этот тип коммутаторов предусматривает явное указание типа инкапсуляции для конкретного интерфейса:
sw1(config-if)# switchport trunk encapsulation dot1q
После этого повторно выполняется команда для настойки статического trunk – switchport mode trunk.
Динамическое создание Trunk
Dynamic Trunk Protocol (DTP) является проприетарным протоколом Cisco, обеспечивающим коммутационным устройствам возможность определять находится ли в состоянии поднятия trunk соседний коммутатор и какой протокол нужно задействовать ISL или 802.1Q. DTP включается по умолчанию. Он владеет следующими режимами интерфеса:
- auto – порт пребывает в автоматическом режиме и перейдет в trunk, когда на другом конце связи порт будет on или desirable; если на противоположных концах порты в режиме auto, trunk задействован не будет;
- desirable – из этого состояния порт может перейти к trunk; он периодически совершает посылку DTP-кадров к порту на другом конце; trunk будет установлен, если порт на другой стороне будет on, desirable, auto;
- nonegotiate – из этого состояния порт может перейти в trunk, DTP-кадры при этом не передаются; этот режим нужен чтобы предотвратить конфликт межу Cisco и не Cisco оборудованием.
Для перевода интерфейса в режим 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'
Изначально, по умолчанию, в trunk разрешаются все VLAN. Также можно создать ограничение перечня VLAN, которые можно передавать через тот или иной trunk. Чтобы указать список разрешенных 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, передастся посредством trunk-интерфейса нетегированным, а весь трафик, который пришел на trunk-интерфейс будет иметь маркировку, как принадлежащий к VLAN 5.
Настройка процесса маршрутизации между VLAN
Все настройки, касающиеся назначения портов VLAN, которые ранее выполнены для sw1, sw2, sw3 сохраняются. Для дальнейших настроек коммутатор sw3 используется как устройство 3-уровня.
Для этой схемы выполнять дополнительные настройки на маршрутизаторе не нужно. Коммутационная платформа будет реализовывать процесс маршрутизации между сетевыми конфигурациями разных VLAN, а к маршрутизатору будет отправляться трафик, который предназначен для других сетей.
Настройки для коммутатора sw3:
VLAN / интерфейс 3го уровня IP-адрес
VLAN 2 10.0.2.1 /24
VLAN 10 10.0.10.1 /24
VLAN 15 10.0.15.1 /24
Fa 0/10 192.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-го уровня. Для выполнения этой процедуры с заданием 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
Просмотр информации
Для просмотра информации о транке:
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
Чтобы выполнить просмотр информации о настройках интерфейса (trunk) нужно:
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, 4095 Reserved Только для системного использования. --
1 Normal VLAN по умолчанию. Можно использовать, но нельзя удалить. Да
2-1001 Normal Для VLANов Ethernet. Можно создавать, удалять и использовать. Да
1002-1005 Normal Для FDDI и Token Ring. Нельзя удалить. Да
1006-4094 Extended Только для VLANов Ethernet. Версия 1 и 2 нет, версия 3 да
Примеры настройки
Базовая настройка VLAN (без настройки маршрутизации)
Для коммутатора sw3 маршрутизация между VLAN не настроена, поэтому хосты могут передаваться только в области одного VLAN.
Хосты для коммутатора sw1 в VLAN 2 могут взаимодействовать сами с собой и с хостами VLAN 2 коммутатора sw2. Правда они не могут взаимодействовать с хостами других VLAN коммутаторов sw1 и sw2.
Не все возможные настройки являются обязательными. К примеру, перечислять разрешенные VLAN для trunk не обязательно для его работы, но нужно выполнять явную настройку разрешенных VLAN.
Настройка trunk для sw1 и sw2 несколько отличается от sw3. Для него не нужно задавать инкапсуляцию trunk, так как sw3 может поддерживать только режим 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 и 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. Порт коммутатора, который ведет к маршрутизатору, должен настраиваться как тегированный порт (trunk).
Схема, для которой процесс маршрутизации выполняется между VLAN на маршрутизаторе, называется «router on a stick». IP адреса шлюзов по умолчанию для VLAN:
VLAN IP-адрес
VLAN 2 10.0.2.1 /24
VLAN 10 10.0.10.1 /24
VLAN 15 10.0.15.1 /24
Для логических подинтерфейсов нужно указать, что на интерфейс будет приходить тегированный трафик, а также указать номер соответствующего VLAN. Выполнить эту процедуру можно соответствующей командой при настройке подинтерфейса:
R1(config-if)# encapsulation dot1q
Чтобы создать логический подинтерфейс для 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
Порт, ведущий от коммутатора к маршрутизатору должен настраиваться как статический trunk:
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