Contents
Introduction
This document provides a sample configuration on how to migrate a campus network of all VLAN Trunking Protocol (VTP) Transparent mode switches to a network with VTP server(s) and clients. This document can also be used to restructure the VTP domains that exist.
Prerequisites
Requirements
Ensure that you meet these requirements before you attempt this configuration:
-
Basic knowledge of Catalyst Switch Administration
-
Knowledge of VTP
Components Used
The information in this document is based on Cisco IOS® Software Release 12.2(25)SEC2, and Catalyst OS (CatOS) version 8.1(2).
The information in this document is applicable to all Cisco devices that support VLAN Trunk Protocol version 2.
The information in this document was created from the devices in a specific lab environment. If your network is live, make sure that you understand the potential impact of any command.
Conventions
Refer to Cisco Technical Tips Conventions for more information on document conventions.
Background Information
VTP reduces administration in a switched network. When you configure a new VLAN on one VTP server, the VLAN is distributed through all switches in the domain. This reduces the need to configure the same VLAN everywhere. VTP is a Cisco proprietary protocol that is available on most of the Cisco Catalyst series products.
Note: This document does not cover VTP version 3. VTP version 3 differs from VTP version 1 (v1) and version 2 (v2). It is only available on CatOS 8.1(1) or later. VTP version 3 incorporates many changes from VTP v1 and v2. Make certain that you understand the differences between VTP version 3 and earlier versions before you alter your network configuration. Refer to one of these sections from Configuring VTP for more information:
-
Understanding How VTP Version 3 Works
-
Interaction with VTP Version 1 and VTP Version 2
Configure
In this section, you are presented with the information to migrate your campus network from all VTP transparent configuration to VTP server client configuration. This section also provides the quick steps used to introduce a new switch to the VTP domain that exists.
Note: Use the Command Lookup Tool (registered customers only) to find more information on the commands used in this document.
Network Diagram
This document uses this network setup:

The network includes:
-
Two distribution layer switches—DistributionA and DistributionB that both run Cisco IOS Software.
-
Two access layer switches—AccessA runs Cisco IOS Software and AccessB runs CatOS Software.
The initial VLAN database has these Ethernet VLANs:
-
DistributionA—VLANs 1, 10, and 11
-
DistributionB—VLANs 1, 20, and 21
-
AccessA—VLANs 1, 30, and 31
-
AccessB—VLANs 1, 40, and 41
Configurations
This section consists of three sub-sections:
-
Pre Migration Checks
-
Migration Planning
-
Migration Procedure
Pre Migration Checks
This section provides the checklist to make sure the network is ready for the migration process. In order to receive the current status of the VTP configuration in the switch, issue the show vtp status command for Cisco IOS, and the show vtp domain command for CatOS.
Cisco IOS
DistributionA#show vtp status VTP Version : 2 Configuration Revision : 0 Maximum VLANs supported locally : 1005 Number of existing VLANs : 7 VTP Operating Mode : Transparent VTP Domain Name : migration VTP Pruning Mode : Disabled VTP V2 Mode : Disabled VTP Traps Generation : Disabled MD5 digest : 0xE5 0x9F 0x80 0x70 0x73 0x62 0xC0 0x54 Configuration last modified by 0.0.0.0 at 3-1-93 04:23:21 DistributionA#
Catalyst OS
AccessB> (enable) show vtp domain Version : running VTP1 (VTP3 capable) Domain Name : migration Password : not configured Notifications: disabled Updater ID: 0.0.0.0 Feature Mode Revision -------------- -------------- ----------- VLAN Client 0 Pruning : disabled VLANs prune eligible: 2-1000 AccessB> (enable)
-
Check if all switches are in VTP Transparent mode. Issue these commands in order to change the VTP mode:
Cisco IOS
AccessA#conf t AccessA(config)#vtp mode transparent Setting device to VTP TRANSPARENT mode AccessA(config)#exit AccessA#
Catalyst OS
AccessB> (enable) set vtp mode transparent Changing VTP mode for all features VTP domain migration modified AccessB> (enable)
-
Check if all switches have the same VTP domain name. Issue these commands in order to change the VTP domain name:
Cisco IOS
DistributionB(config)#vtp domain migration Changing VTP domain name from aaaa to migration DistributionB(config)#Catalyst OS
AccessB> (enable) set vtp domain migration VTP domain migration modified AccessB> (enable) -
Check if all switches run the same VTP version. Issue these commands in order to change the VTP version:
Cisco IOS
vtp version 2
Catalyst OS
set vtp v2 enable
or
set vtp version 2
-
Check if all switches run the same VTP password (if any configured). Issue these commands in order to change the VTP password:
Cisco IOS
vtp password vtp_passwordCatalyst OS
AccessB> (enable) set vtp passwd ? <passwd> Password (0 to clear) AccessB> (enable) set vtp passwd vtp_password Generating the secret associated to the password. VTP domain migration modified -
Check if all switches are connected by trunk links.
Cisco IOS
DistributionA#show interfaces trunk Port Mode Encapsulation Status Native vlan Gi2/0/1 auto n-isl trunking 1 Gi2/0/5 auto n-802.1q trunking 1 Gi2/0/9 desirable n-isl trunking 1 Gi2/0/10 desirable n-isl trunking 1 Port Vlans allowed on trunk Gi2/0/1 1-4094 Gi2/0/5 1-4094 Gi2/0/9 1-4094 Gi2/0/10 1-4094 Port Vlans allowed and active in management domain Gi2/0/1 1,10-11 Gi2/0/5 1,10-11 Gi2/0/9 1,10-11 Gi2/0/10 1,10-11 Port Vlans in spanning tree forwarding state and not pruned Gi2/0/1 1,10-11 Gi2/0/5 1,10-11 Gi2/0/9 1,10-11 !--- Rest of output elided.Catalyst OS
AccessB> (enable) show trunk * - indicates vtp domain mismatch # - indicates dot1q-all-tagged enabled on the port Port Mode Encapsulation Status Native vlan -------- ----------- ------------- ------------ ----------- 3/25 desirable n-isl trunking 1 3/26 desirable n-isl trunking 1 6/1 nonegotiate dot1q trunking 1 6/2 nonegotiate dot1q trunking 1 6/3 nonegotiate dot1q trunking 1 6/4 nonegotiate dot1q trunking 1 16/1 nonegotiate isl trunking 1 Port Vlans allowed on trunk -------- --------------------------------------------------------------------- 3/25 1-1005,1025-4094 3/26 1-1005,1025-4094 6/1 6/2 6/3 6/4 16/1 1-1005,1025-4094 Port Vlans allowed and active in management domain !--- Rest of output elided.
Migration Planning
-
Determine the number of VLANs required for the network. The maximum number of active VLANs supported by Catalyst switches varies with models.
AccessA#show vtp status VTP Version : 2 Configuration Revision : 0 Maximum VLANs supported locally : 250 Number of existing VLANs : 7 VTP Operating Mode : Transparent VTP Domain Name : migration VTP Pruning Mode : Disabled VTP V2 Mode : Disabled VTP Traps Generation : Disabled MD5 digest : 0xC8 0xB7 0x36 0xC3 0xBD 0xC6 0x56 0xB2 Configuration last modified by 0.0.0.0 at 3-1-93 04:23:21 AccessA#
-
Determine the switches, such as DistributionA and DistributionB, which will be the VTP servers. One or more switches can be VTP servers in a domain. Choose one switch, such as DistributionA, in order to start the migration.
Migration Procedure
Complete these steps in order to configure the campus network with VTP mode server and client:
-
Change the VTP mode of the DistributionA to Server.
DistributionA#conf t Enter configuration commands, one per line. End with CNTL/Z. DistributionA(config)#vtp mode server Setting device to VTP SERVER mode DistributionA(config)#exit DistributionA#
-
Create the VLANs that are required in the domain.
!--- Before creating VLANs DistributionA#show vlan VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Gi2/0/2, Gi2/0/3, Gi2/0/4 Gi2/0/6, Gi2/0/7, Gi2/0/8 Gi2/0/11, Gi2/0/12, Gi2/0/13 Gi2/0/14, Gi2/0/15, Gi2/0/16 Gi2/0/17, Gi2/0/18, Gi2/0/19 Gi2/0/20, Gi2/0/21, Gi2/0/22 10 VLAN0010 active Gi2/0/23 11 VLAN0011 active Gi2/0/24 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------ 1 enet 100001 1500 - - - - - 0 0 10 enet 100010 1500 - - - - - 0 0 11 enet 100011 1500 - - - - - 0 0 1002 fddi 101002 1500 - - - - - 0 0 1003 tr 101003 1500 - - - - srb 0 0 !--- Rest of output elided. !--- Creating required VLANs DistributionA#conf t Enter configuration commands, one per line. End with CNTL/Z. DistributionA(config)#vlan 20-21,30-31,40-41 DistributionA(config-vlan)#exit DistributionA(config)#exit DistributionA# !--- After creating VLANs DistributionA#show vlan VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Gi2/0/2, Gi2/0/3, Gi2/0/4 Gi2/0/6, Gi2/0/7, Gi2/0/8 Gi2/0/11, Gi2/0/12, Gi2/0/13 Gi2/0/14, Gi2/0/15, Gi2/0/16 Gi2/0/17, Gi2/0/18, Gi2/0/19 Gi2/0/20, Gi2/0/21, Gi2/0/22 10 VLAN0010 active Gi2/0/23 11 VLAN0011 active Gi2/0/24 20 VLAN0020 active 21 VLAN0021 active 30 VLAN0030 active 31 VLAN0031 active 40 VLAN0040 active 41 VLAN0041 active 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 !--- Rest of output elided.
If no new VLANs are to be configured, create a dummy VLAN.
This increases the Configuration Revision to ‘1’, which enables the VLAN database to propagate throughout the network.
DistributionA#conf t Enter configuration commands, one per line. End with CNTL/Z. DistributionA(config)#vlan 100 DistributionA(config-vlan)#name dummy DistributionA(config-vlan)#exit DistributionA(config)#exit DistributionA#
-
Change the VTP mode of DistributionB to Client, followed by AccessA and AccessB.
Cisco IOS
DistributionB#conf t Enter configuration commands, one per line. End with CNTL/Z. DistributionB(config)#vtp mode client Setting device to VTP CLIENT mode. DistributionB(config)#exit DistributionB# DistributionB#show vtp status VTP Version : 2 Configuration Revision : 0 Maximum VLANs supported locally : 1005 Number of existing VLANs : 13 VTP Operating Mode : Client VTP Domain Name : migration VTP Pruning Mode : Disabled VTP V2 Mode : Disabled VTP Traps Generation : Disabled MD5 digest : 0xBD 0xA4 0x94 0xE6 0xE3 0xC7 0xA7 0x86 Configuration last modified by 0.0.0.0 at 3-1-93 04:23:21
Catalyst OS
AccessB> (enable) set vtp mode client Changing VTP mode for all features VTP domain migration modified
-
Verify if all VLANs are propagated across the domain.
Cisco IOS
DistributionB#show vlan VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa1/0/1, Fa1/0/3, Fa1/0/4 Fa1/0/5, Fa1/0/7, Fa1/0/8 Fa1/0/11, Fa1/0/12, Fa1/0/13 Fa1/0/14, Fa1/0/15, Fa1/0/16 Fa1/0/17, Fa1/0/18, Fa1/0/19 Fa1/0/20, Fa1/0/21, Fa1/0/22 Fa1/0/23, Fa1/0/24 10 VLAN0010 active 11 VLAN0011 active 20 VLAN0020 active Gi1/0/1 21 VLAN0021 active Gi1/0/2 30 VLAN0030 active 31 VLAN0031 active 40 VLAN0040 active 41 VLAN0041 active 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup !--- Rest of output elided.Catalyst OS
AccessB> (enable) show vlan VLAN Name Status IfIndex Mod/Ports, Vlans ---- -------------------------------- --------- ------- ------------------------ 1 default active 64 2/1-2 3/1-24,3/27-46 4/1-8 10 VLAN0010 active 107 11 VLAN0011 active 108 20 VLAN0020 active 105 21 VLAN0021 active 106 30 VLAN0030 active 109 31 VLAN0031 active 110 40 VLAN0040 active 111 3/47 41 VLAN0041 active 112 3/48 1002 fddi-default active 65 1003 token-ring-default active 68 1004 fddinet-default active 66 1005 trnet-default active 67 VLAN Type SAID MTU Parent RingNo BrdgNo Stp BrdgMode Trans1 Trans2 ---- ----- ---------- ----- ------ ------ ------ ---- -------- ------ ------ 1002 fddi 101002 1500 - - - - - 0 0 1003 trcrf 101003 1500 - - - - - 0 0 !--- Rest of output elided. -
Check if any switchport is in the Inactive state.
A switchport can go to Inactive state if the VLAN configured for that switchport does not exist in the switch. Create appropriate VLAN(s), as required, in the VTP server switch.
Cisco IOS
From the output of the show interfaces switchport command, you can determine if a switchport is in Inactive mode if it has the Inactive keyword for the Access Mode VLAN attribute.
DistributionB#show interfaces switchport Name: Fa1/0/1 Switchport: Enabled Administrative Mode: dynamic auto Operational Mode: down Administrative Trunking Encapsulation: negotiate Negotiation of Trunking: On Access Mode VLAN: 1 (default) Trunking Native Mode VLAN: 1 (default) Administrative Native VLAN tagging: enabled Voice VLAN: none Administrative private-vlan host-association: none Administrative private-vlan mapping: none Administrative private-vlan trunk native VLAN: none Administrative private-vlan trunk Native VLAN tagging: enabled Administrative private-vlan trunk encapsulation: dot1q Administrative private-vlan trunk normal VLANs: none Administrative private-vlan trunk private VLANs: none Operational private-vlan: none Trunking VLANs Enabled: ALL Pruning VLANs Enabled: 2-1001 Capture Mode Disabled Capture VLANs Allowed: ALL !--- Part of output elided. Name: Fa1/0/24 Switchport: Enabled Administrative Mode: dynamic auto Operational Mode: down Administrative Trunking Encapsulation: negotiate Negotiation of Trunking: On Access Mode VLAN: 50 (Inactive) Trunking Native Mode VLAN: 1 (default) Administrative Native VLAN tagging: enabled Voice VLAN: none Administrative private-vlan host-association: none Administrative private-vlan mapping: none Administrative private-vlan trunk native VLAN: none Administrative private-vlan trunk Native VLAN tagging: enabled Administrative private-vlan trunk encapsulation: dot1q Administrative private-vlan trunk normal VLANs: none Administrative private-vlan trunk private VLANs: none Operational private-vlan: none Trunking VLANs Enabled: ALL Pruning VLANs Enabled: 2-1001 Capture Mode Disabled Capture VLANs Allowed: ALL Protected: false Unknown unicast blocked: disabled !--- Rest of output elided.
Create the VLAN 50 in the VTP server switch (DistributionA).
DistributionA#conf t Enter configuration commands, one per line. End with CNTL/Z. DistributionA(config)#vlan 50 DistributionA(config-vlan)#name Vlan50 DistributionA(config-vlan)#end DistributionA#
!--- Verify the switchport status in the DistributionB switch. DistributionB#show interfaces fa1/0/24 switchport Name: Fa1/0/24 Switchport: Enabled Administrative Mode: dynamic auto Operational Mode: down Administrative Trunking Encapsulation: negotiate Negotiation of Trunking: On Access Mode VLAN: 50 (Vlan50) Trunking Native Mode VLAN: 1 (default) Administrative Native VLAN tagging: enabled Voice VLAN: none Administrative private-vlan host-association: none Administrative private-vlan mapping: none Administrative private-vlan trunk native VLAN: none Administrative private-vlan trunk Native VLAN tagging: enabled Administrative private-vlan trunk encapsulation: dot1q Administrative private-vlan trunk normal VLANs: none Administrative private-vlan trunk private VLANs: none Operational private-vlan: none Trunking VLANs Enabled: ALL Pruning VLANs Enabled: 2-1001 Capture Mode Disabled Capture VLANs Allowed: ALL !--- Rest of output elided.
-
Change the VTP mode of the DistributionB switch to Server.
The VTP server switch(es) must have the same configuration revision number, and must be the highest in the VTP domain.
Add a Switch to the VTP Domain
A recently added switch can cause problems in the network. It can be a switch that was previously used in the lab, and a good VTP domain name was entered. The switch was configured as a VTP client and was connected to the rest of the network. Then, you brought the trunk link up to the rest of the network. In just a few seconds, the whole network can go down.
If the configuration revision number of the switch that you inserted is higher than the configuration revision number of the VTP domain, it propagates its VLAN database through the VTP domain.
This occurs whether the switch is a VTP client or a VTP server. A VTP client can erase VLAN information on a VTP server. You can tell this has occurred when many of the ports in your network go into the Inactive state but continue to assign to a nonexistent VLAN.
Note: Refer to Flash Animation: VTP for a demonstration of this problem.
Complete these steps in order to avoid this issue when you add a switch to the network:
-
Before you connect the new switch to the network, change the VTP mode of the switch to Transparent.
This resets the Configuration Revision number to zero (‘0’).
-
Connect the switch to the network and configure the appropriate trunk links.
-
Configure the VTP attributes:
-
Configure the VTP domain name to match the VTP domain name of the network.
-
Configure the VTP version and password (if any required).
-
-
Change the VTP mode to Client.
The Configuration Revision number is still zero (‘0’). VLANs start to propagate from the VTP server(s) that exists in the network.
-
Verify if all required VLANs are available in the new switch and in the VTP servers of the network.
-
If any VLAN is missing, a quick workaround is to add it from one of the VTP servers.
Refer to How a Recently Inserted Switch Can Cause Network Problems for more information.
Verify
There is no separate verification procedure available for this configuration. Use the verification steps provided as part of the configuration example.
The Output Interpreter Tool (registered customers only) (OIT) supports certain show commands. Use the OIT to view an analysis of show command output.
-
show vtp status [Cisco IOS]—Displays the current status of the VTP domain.
-
show vtp domain [Catalyst OS]—Displays the current status of the VTP domain.
-
show vlan—Displays the VLAN information.
Troubleshoot
There is currently no specific troubleshooting information available for this configuration.
Refer to VTP Troubleshooting and Caveats for information on common issues with VTP.
Related Information
- Understanding VLAN Trunk Protocol (VTP)
- LAN Product Support
- LAN Switching Technology Support
- Technical Support & Documentation — Cisco Systems
Добрый день дорогие читатели. Поздравляю вас с прошедшими майскими праздниками и надеюсь, что вы провели их так же хорошо, как и я. Но праздники позади, и пора нам с вами обсудить, что нибудь новенькое, например протокол VTP (VLAN Trunking Protocol).
Если вы помните, то ранее мы с вами уже обсуждали настройку VLAN на коммутаторах фирмы Cicso. Для этого, первым делом, мы создавали на каждом коммутаторе требуемые нам VLANы. Делалось это с помощью довольно простых команд (в данном случае создаем только один vlan с номером 7 и именем god_lan):
Switch(config)#vlan 7
Switch(config-vlan)#name god_lan
Конечно, когда необходимо ввести эти команды на одном – двух коммутаторах, то никаких проблем это не составляет. Но что если нам необходимо добавить не одну виртуальную сеть, а скажем с десяток, и это требуется сделать не на одном коммутаторе, а скажем на 10 или нет даже на 100, что тогда? Вводить сотни строк кода каждый раз когда нам необходимо изменить присутствующие на коммутаторах VLAN? К счастью нет, избавиться от такой нудной и кропотливой работы нам поможет протокол VTP.
Протокол VTP отвечает за распространение сведений о VLAN существующих на одних коммутаторах, между остальными коммутаторами определенной группы (такую группу коммутаторов обычно называют VTP доменом) и сильно упрощает процесс реконфигурации виртуальных локальных сетей на коммутаторах фирмы Cisco.
Все коммутаторы, на которых функционирует протокол VTP, могут работать в одном из трех режимов: сервер, клиент, прозрачный режим. Коммутаторы, работающие в режиме сервера, позволяют вносить изменения в конфигурацию VLAN на текущем коммутаторе, а так же способны распространять данную конфигурацию между другими коммутаторами VTP домена, передавая данные о внесенных изменениях через магистральные порты. Коммутаторы, работающие в режиме клиента, способны принимать данные об изменениях в составе виртуальных локальных сетей отправленные коммутаторами, работающими в режиме VTP серверов, и способны на основание этих данных перестраивать свои списки существующих VLAN. Коммутаторы работающие в прозрачном режиме пропускают через свои магистральные порты данные об изменение в конфигурации VLAN, но не применяют их по отношению к своей конфигурации VLAN.
Давайте рассмотрим процесс конфигурации протокола VTP на конкретном примере. Пусть у нас есть сеть следующего вида:
![]() |
| Тестовая сеть |
Устройства имеют следующую конфигурацию:
Коммутатор Switch0:
Switch(config)#interface range fastEthernet 0/1-2
Switch(config-if-range)#switchport mode trunk
Коммутатор Switch1:
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#switchport mode trunk
Коммутатор Switch2:
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#switchport mode trunk
Как легко понять с помощью данной конфигурации мы связываем коммутаторы 1 и 2 с коммутатором 0 с помощью магистральных (транковых) портов. Если схема настроена верна то при выполнение команды show interfaces trunk на коммутаторе Switch0, то мы должны увидеть следующую картину:
Port Mode Encapsulation Status Native vlan
Fa0/1 on 802.1q trunking 1
Fa0/2 on 802.1q trunking 1
Теперь допустим нам необходимо добавить на все эти три коммутатора какой то новый VLAN, пусть это будет все тот же VLAN 7 — god_lan. Конечно это можно сделать обычным способом с помощью команды vlan в режиме конфигурации, но не торопитесь так делать, ведь мы все таки разбираем протокол VTP, и по этому для решения данной задачи мы будем использовать именно его возможности.
Как мы говорили выше все коммутаторы в протоколе VTP играют определенные роли: сервер, клиент и т.д. Поэтому нам необходимо определиться с тем какие роли будут выполнять коммутаторы нашей сети. Сначала выберем коммутатор играющий роль сервер. Обычно в качестве такого коммутатора выбирают устройство приблизительно равноудаленное от всех остальных устройств VTP домена, для того чтобы сократить хоть и небольшую, но нагрузку, возникающую в сети при распространении обновлений протокола VTP между коммутаторам (обновления рассылаются при изменение конфигурации VLAN сетей на сервере, а так же каждые 300 секунд).Так же необходимо отметить что в сети может быть несколько VTP серверов.
В нашем случае в качестве VTP сервера удобно выбрать коммутатор Switch0 (Хотя если вам очень хочется можете выбрать любой другой). Для того чтобы сконфигурировать Switch0 в качестве VTP сервера выполним на нем следующие команды:
Switch(config)#vtp domain TEST
Switch(config)#vtp password 123
Switch(config)#vtp version 2
Грубо говоря обязательная из этих команд только первая. Остальные при желание можно опустить. Но обо всем по порядку. С помощью первой команды мы задаем имя нашему VTP домену, аккуратнее регистр имеет значение. По умолчанию каждый коммутатор сконфигурирован в качестве VTP сервера и пустым именем VTP домена. С помощью второй команды мы задаем пароль необходимый для того чтобы коммутатор мог вступить в VTP домен. С помощью третьей команды мы задаем используемую версию протокола VTP (по умолчанию и так используется версия 2, об отличие версий протокола VTP поговорим в следующих статьях ).
Далее сконфигурируем коммутаторы Switch1 и Switch2 в качестве клиентов VTP, для этого выполним на них команды:
Switch(config)#vtp domain TEST
Switch(config)#vtp password 123
Switch(config)#vtp version 2
Switch(config)#vtp mode client
Опять же здесь обязательные только первые две команды. Причем первая из них тоже может не понадобиться в том случае если вы подключаете к VTP домену коммутатор с пустым именем VTP домена, так как в этом случае он подхватит имя VTP домена автоматически от существующих в домене серверов. Последняя команда указывает коммутатору что ему необходимо функционировать в качестве клиента в VTP домене.
После введения данных команд базовую конфигурацию нашего VTP домена можно считать законченной. Настало время проверить его работу. Для этого мы выполним на коммутаторе Switch0 команды:
Switch(config)#vlan 7
Switch(config-vlan)#name god_lan
А затем посмотрим вывод команды sho vlan brief на коммутаторе Switch1 или Switch0, если протокол VTP работает то мы должны увидеть следующую картину:
VLAN Name Status Ports
—- ——————————— ——— ——————————-
1 default active Fa0/2, Fa0/3, Fa0/4, Fa0/5
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, Gig1/1
Gig1/2
7 god_lan active
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
Как можно увидеть из данного вывода команды, хотя мы и не выполняли команды добавления VLAN с номером 7 на коммутаторах Switch1 или Switch2, он все же присутствует на них и происходит это благодаря работе протокола VTP.
Теперь для интереса попробуем добавить новый VLAN на коммутаторе Switch1 выполнив команду:
Switch(config)#vlan 8
После ввода данной команды мы получим сообщение вида:
VTP VLAN configuration not allowed when device is in CLIENT mode.
Прямо говорящее нам о том, что мы не можем добавлять VLANы на коммутаторах функционирующих в качестве клиентов в VTP домене.
И так мы научились выполнять базовую конфигурацию протокола VTP, которая уже позволяет нам распространять обновления конфигурации VLAN на коммутаторах нашей сети. О других фишках протокола VTP мы поговорим в следующих статьях.
VTP — VLAN Trunking Protocol — проприеритарный протокол компании Cisco для распространения базы данных VLANнов несколько коммутаторов. Работает только через транковые порты. Это позволяет уменьшить работу администраторам по настройке базы VLANнов при большом количестве коммутаторов. Достаточно добавить новый VLAN на одном коммутаторе, который назначен сервером, и VLAN добавится во все остальные.
VTP компоненты
VTP домен — один или более коммутаторов, подключенных между собой, которые делятся между собой информацией о VLANах, используя сообщения — рассылки.
VTP Advertisements (рассылка) — сообщения, которые иерархически распространяются через сеть и синхронизирую конфигурацию VLANов на коммутаторах.
VTP Modes — режим работы коммутатора при использовании VTP. Может быть сервером, клиентом и работать в прозрачном режиме.
VTP сервер — коммутатор, который инициирует рассылку сообщений о VLANах на другие коммутаторы, на котрых работает протокол VTP и входящие в тот же VTP домен. Только на сервере можно добавлять, изменять и удалять VLANы. По умолчанию все коммутаторы работают в режиме сервера. В сети не обязательно, чтобы был только один сервер.
VTP клиент — принимает информацию от сервера о VLANах, сохраняет себе в оперативную память и отправляет эту информацию дальше. На нем нельзя добавлять, изменять и удалять VLANы. Для перехода в этот режим надо коммутатор конфигурировать.
VTP Transparent (в прозрачном режиме) — принимают информацию о VLANах и отправляет эту информацию дальше, не сохраняя ничего себе. На нем можно добавлять, изменять и удалять VLANы, но информация о них будет храниться только локально, никуда не рассылаясь.
VTP Pruning — функция, позволяющая снизить нагрузку на пропускную способность каналов. Достигается тем, что коммутатор через свои транковые порты не пропускает широковещательные пакеты тех VLANов, к которым не принадлежить ни один порт коммутаторов, подключенных к данному порту.
VTP конфигурация по умолчанию
VTP версия — 1
VTP имя домена — не указано (null)
VTP режим — сервер
Configuration Revision — 0
VLANы — 1
Присвоение имени VTP домена
По умолчанию имя VTP домена не указано. Соответственно, рассылка VTPинформации не производится. Для назначения имени домена вводится команда:
S1(config)#vtp domain name
После ввода этой команды коммутатор-сервер, на котором производилось назначение имени, делает рассылку. Номер ревизии становится 2. Все коммутаторы, работающие в режиме сервера или клиента и имеющие нулевое имя домена, принимают сообщение и изменяют имя домена.
Номер версии конфигурации VTP (Configuration Revision Number)
Это номер, указывающий номер версии конфигурации в VTP домене. Изначально равен 0. При каждом изменении базы данных VLANов на сервере, номер растет. Каждое VTP устройство при приеме сообщения с номером версии конфигурации большим, чем у себя, устанавливает себе такой же номер и изменяет конфигурацию. Изменение имени домена не производит увеличение номера ревизии, а сбрасывает его в 0.
Рассылка рекламных сообщений VTP
Общая (суммарная) реклама:
— рассылается каждые 5 минут (или немедленно при включении протокола с конфигурацией) сервером VTP
— содержит в себе сведения о номере текущей версии конфигурации, имени домена и другой детальной информации о конфигурации
— содержит
Частичная реклама рассылается немедленно при изменении следующих параметров в конфигурации:
— создание и удаление VLANов
— приостановка и активация VLANов
— изменение имени VLANа
Запрос рекламы направляется VTP сервер в том же домене. Сервер отвечает посылкой общей рекламы, а затем частичной рекламы. Запросы отправляются в случае:
— изменении имени домена
— коммутатор получает рекламу с более высоким номером версии конфигурации, чем у него
— сообщение с частичной рекламой было каким-то образом пропущено
— коммутатор был перезагружен
VTP pruning (обрезка)
При отключенной функции обрезки, все широковещательные фреймы, которые генерируются каким-то VLANом, распространяются через все транковые порты всех коммутаторов. Функция обрезки заключается в том, чтобы не передавать широковещательные фреймы через транки, если на другом конце транка нет портов, принадлежащих данному VLANну. Включается командой S1(config)#vtp pruning.
Порядок конфигурирования
Коммутаторы-серверы
— сбросьте все VTP настройки коммутаторов, которые будут участвовать в VTP домене, по умолчанию
— всегда сбрасывайте номер версии конфигурации коммутатора, который уже был настроен для работы в VTP. Если на каком-то коммутаторе не сбросить номер версии конфигурации до 0, это может стать причиной, что все коммутаторы домена настроят свою базу данных, как у этого коммутатора, т.к. у него будет самый высокий номер версии конфигурации
— настройте как минимум два коммутатора-сервера, чтобы быть уверенным, что у вас есть резервный сервер на случай отказа основного
— настройте имя домена на сервере. Он сразу же начнет рассылать рекламу. Остальные коммутаторы получат имя домена через рекламу и настроят его себе автоматически
— если вы добавляете сервер в существующий домен, убедитесь в правильности указания имени домена. Имя домена чувствительно к регистру
— при использовании пароля в домене убедитесь, что на всех коммутаторах домена пароли установлены одинаковые. Иначе коммутатор не будет принимать рекламу.
— убедитесь, что все коммутаторы в домене работают с одинаковой версией VTP
— создавайте VLANы только после включения VTP. Все VLANы, созданные до включения VTP будут удалены
— убедитесь, что коммутаторы соединены друг с другом через транковые порты. VTP работает, только через транковые порты
Коммутаторы-клиенты
— убедитесь, что на коммутаторе-сервере установлены настройки по умолчанию
— переведите коммутатор в режим работы клиента
— настройте транковые порты
— подключите к серверу
— через некоторое время проверьте статус VTP. Убедитесь, что номер версии конфигурации и база VLAов изменилась
— настройте порты доступа для конкретных VLANов
Команды для конфигурирования и проверки
S1#show vtp status — проверка статуса протокола VTP
S1(config)#vtp domain domain-name — установка имени домена
S1(config)#vtp version 1 — установка версии протокола
S1#show vlan brief — проверка базы VLANов
S1(config)#vtp mode {client | server | transparent} — установка режима работы
S1#show interfaces trunk — проверка VLANов, разрешенных на транковых портах
Основные неисправности при конфигурировании протокола
— неправильная версия протокола
— неправильное имя домена
— разные пароли
— неправильный режим работы
— все коммутаторы работают в режиме клиента
— неправильныя номер версии конфигурации
Материал из Xgu.ru
Перейти к: навигация, поиск
| Данная страница находится в разработке. Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной. Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом. |
VLAN Trunking Protocol (VTP) — проприетарный протокол компании Cisco Systems,
предназначенный для создания, удаления и переименования VLANов на сетевых устройствах.
Передавать информацию о том, какой порт находится в каком VLANе, он не может.
Аналогичный свободный протокол: GVRP
Содержание
- 1 Описание протокола
- 1.1 Версии протокола
- 1.2 Сообщения VTP
- 1.3 Режимы работы протокола
- 1.4 Диапазоны VLAN
- 1.5 VLAN database
- 2 Настройка VTP на коммутаторах Cisco
- 2.1 Настройка VTP версии 2
- 2.2 Настройка VTP версии 3
- 2.2.1 VTP Primary Server
- 2.2.2 Включение/отключение VTP на интерфейсах
- 2.3 Просмотр информации о настройках VTP
- 3 Дополнительная информация
[править] Описание протокола
[править] Версии протокола
Версия 3 VTP доступна:
- на 2960 с 12.2(52)SE
- на 3560 с 12.2(55)SE
- на 3750 с 12.2(52)SE
[править] Сообщения VTP
- Summary advertisements
- Subset advertisements
- Advertisement requests
- VTP Join messages (используются для pruning)
[править] Режимы работы протокола
На коммутаторе VTP может работать в трёх режимах:
- Server (режим по умолчанию):
- Можно создавать, изменять и удалять VLAN из командной строки коммутатора,
- Генерирует объявления VTP и передает объявления от других коммутаторов,
- Может обновлять свою базу данных VLAN при получении информации не только от других VTP серверов но и от других VTP клиентов в одном домене, с более высоким номером ревизии.
- Сохраняет информацию о настройках VLAN в файле vlan.dat во flash.
- Client:
- Нельзя создавать, изменять и удалять VLAN из командной строки коммутатора,
- Передает объявления от других коммутаторов,
- Синхронизирует свою базу данных VLAN при получении информации VTP,
- Сохраняет информацию о настройках VLAN в файле vlan.dat во flash.
- Transparent:
- Можно создавать, изменять и удалять VLAN из командной строки коммутатора, но только для локального коммутатора,
- Не генерирует объявления VTP,
- Передает объявления от других коммутаторов,
- Не обновляет свою базу данных VLAN при получении информации по VTP,
- Сохраняет информацию о настройках VLAN в NVRAM,
- Всегда использует configuration revision number 0.
В версии 3 VTP добавился новый режим работы и изменились некоторые режимы работы, по сравнению с предыдущими версиями:
- Server:
- Добавилась поддержка Private VLAN
- Могут анонсироваться VLAN из расширенного диапазона
- Client:
- Настройки VLAN сохраняются в NVRAM и в режиме клиента
- Добавилась поддержка Private VLAN
- Могут анонсироваться VLAN из расширенного диапазона
- Transparent:
- без изменений
- Off:
- Новый режим работы VTP, который добавился в 3 версии.
- Не передает объявления VTP.
- В остальном аналогичен режиму Transparent
[править] Диапазоны VLAN
Диапазоны VLAN:
- VTP версии 1 и 2 не анонсирует эти VLAN, они не могут быть исключены (pruned):
- 1 — нормальный (normal) диапазон,
- 1002-1005 — нормальный (normal) диапазон,
- 1006-4094 — расширенный (extended) диапазон,
- VTP версии 1 и 2 анонсирует эти VLAN, они могут быть исключены (pruned)
- 2-1001 — нормальный (normal) диапазон.
[править] VLAN database
Сервера VTP должны иметь возможность сохранять информацию, полученную в обновлениях VTP от других серверов, без участия администратора.
Для этого в коммутаторах Cisco под управлением IOS используется VLAN database.
Это отдельный файл, который хранится во флеш и называется vlan.dat.
При обнулении конфигурации коммутатора, VLAN database не затрагивается, поэтому зачастую получается, что информация о VLAN и настройках VTP сохраняется после обнуления и перезагрузки коммутатора.
Для того чтобы удалить VLAN database необходимо удалить файл vlan.dat.
Можно изменить название файла в котором хранится VLAN database:
sw(config)# vtp file <filename>
[править] Настройка VTP на коммутаторах Cisco
[править] Настройка VTP версии 2
Имя VTP-домена (от 1 до 32 символов):
sw(config)# vtp domain <domain-name>
Настройка пароля, который будет использоваться для аутентификации в VTP-домене (от 1 до 32 символов):
sw(config)# vtp password <password>
Настройка второй версии протокола VTP:
sw(config)# vtp version 2
Настройка режима VTP:
sw(config)# vtp mode <client | server | transparent>
[править] Настройка VTP версии 3
|
|
Версия 3 VTP доступна:
|
Имя VTP-домена (от 1 до 32 символов):
sw(config)# vtp domain <domain-name>
Настройка пароля, который будет использоваться для аутентификации в VTP-домене (от 1 до 32 символов):
sw(config)# vtp password <password> [hidden | secret]
- hidden — означает, что пароль будет показан в show vtp password в зашифрованном формате (не clear text);
- secret — чтобы указать пароль в зашифрованном формате.
Настройка версии протокола VTP:
sw(config)# vtp version 3
Если настроены VLAN расширенного (extended) диапазона, переводить VTP обратно в версию 2 или 1 из третьей запрещается.
Настройка режима VTP:
sw(config)# vtp mode <client | server | transparent | off> [vlan | mst | unknown]
[править] VTP Primary Server
sw# vtp primary-server [vlan | mst] [force]
[править] Включение/отключение VTP на интерфейсах
Отключить VTP на интерфейсе:
sw(config-if)# no vtp
[править] Просмотр информации о настройках VTP
sw# show vtp status
sw# show vtp added counters
sw# show vtp password
Для 3 версии VTP:
sw# show vtp devices [conflict]
Информация об интерфейсах (для 3 версии):
sw# show vtp interface [int-id]
[править] Дополнительная информация
- Understanding VLAN Trunk Protocol (VTP) (англ.)
- VTP: Which VTP Server Generated The Most Recent Update? — Интересная заметка об определении того какой VTP-сервер отправил обновление (англ.)
- Managing vlan.dat in Cisco Catalyst Switches Running Cisco IOS Software — VLAN database (англ.)
- Распространяем VLANы на все устройства — Пошаговое руководство по распространению VLAN database в Cisco Packet Tracer (рус.)
| |
|
|---|---|
| Стандарты, протоколы и основные понятия | 802.1Q • VLAN ID • ISL • VTP • GVRP • Native VLAN |
| В операционных системах |
|
| В сетевом оборудовании |
|
| Разное | man vconfig • Безопасность VLAN • 802.1X и RADIUS • Cisco Private VLAN |
| |
|
|---|---|
| Устройства | Cisco 871 • Cisco Router • Cisco Switch • Сisco Сatalyst • Cisco IPS • Cisco ASA • PIX • Dynamips |
| Безопасность (коммутаторы и маршрутизаторы) |
Cisco Security • Port security • DHCP snooping • Dynamic ARP Protection • IP Source Guard • Аутентификация при доступе к сети • 802.1X в Cisco • Zone-Based Policy Firewall • Cisco NAT • NAT в Cisco • Cisco SSH |
| Cisco ASA | Cisco ASA/NAT • Cisco ASA/Troubleshooting • Cisco ASA/IPS • Cisco ASA failover • Cisco ASA/Transparent firewall • Cisco ASA/Site-to-Site_VPN • Cisco ASA/Easy_VPN • Cisco ASA/WebVPN • Объединение OSPF-сетей туннелем между двумя системами ASA (без GRE) • Центр сертификатов на Cisco ASA |
| VPN | IPsec в Cisco • Cisco IOS Site-to-Site VPN • DMVPN • Cisco Easy VPN • Cisco Web VPN • Cisco ipsec preshared |
| Канальный уровень | CDP • VLAN в Cisco • ISL • VTP • STP в Cisco • Cisco Express Forwarding • Агрегирование каналов • Зеркалирование трафика • QinQ • Frame Relay |
| Сетевой уровень | Маршрутизация в Cisco • RIP • EIGRP • IS-IS • OSPF • BGP • PIM • Multicast • GLBP • VRRP • HSRP • DHCP • IPv6 • IPv6 vs IPv4 • Резервирование Интернет-каналов без использования BGP • Использование BGP для резервирования Интернет-каналов |
| Разное | Режим ROMMON в Cisco • Опция 82 DHCP • 802.1X и RADIUS • SNMP в Cisco • QoS в Cisco • EEM • Troubleshooting • Автоматизация работы устройств Cisco • Cisco NTP • Cisco IP SLA • Cisco Enhanced Object Tracking |
Общие сведения.
VTP — VLAN Trunking Protocol, позволяет облегчить администрирование коммутаторов, а именно управление VLAN-ами на коммутаторах Cisco. С VTP можно создавать, изменять или удалять VLAN-ы на VTP сервере и все эти изменения автоматически перенесутся на все коммутаторы в одном домене VTP. Что избавляет администратора от конфигурирования VLAN на каждом коммутаторе.
Существует три режима работы VTP (VTP mode):
1. VTP Server — серверный режим.В этом режиме можно создавать, удалять и изменять VLAN-ы, а так же задавать различные параметры, такие как версию протокола (vtp version), vtp фильтрацию (vtp pruning) для всего VTP домена. VTP сервер извещает о своей конфигурации VLAN-ов другие коммутаторы, находящиеся в том же VTP домене, и синхронизирует их конфигурацию VLAN. Так же VTP сервер может синхронизировать свою конфигурацию с конфигурацией VTP клиента, если у клиента выше номер ревизии конфигурации. Обмен VTP информацией проиcходит через ТРАНКВЫЕ порты.
2. VTP Client — режим клиента. На коммутаторе с режимом VTP Client нельзя создавать, удалять или изменять VLAN-ы. Всю настройку VLAN-ов коммутатор берёт от VTP сервера.
3. VTP Transparent — прозрачный режим. В этом режиме коммутатор не применяет себе конфигурацию VLAN от VTP сервера и не извещает о своей конфигурации другие коммутаторы, но позволяет пропускать через свои транковые порты VTP извещения от других коммутаторов.
Перед настройкой VTP нужно знать:
— Все коммутаторы в сети должны иметь одно и тоже имя домена VTP (VTP domain)
— Все коммутаторы в одном VTP домене должны использовать одну и туже версию протокола VTP (VTP version)
— Все коммутаторы в одном VTP домене должны использовать один и тот же VTP пароль, если он установлен (VTP password)
— Все VTP сервера, должны иметь одинаковый номер ревизии конфигурации, и этот номер должн быть наибольшим в VTP домене (VTP revision number)
— При смене режима Transparent на Server, VLAN-ы которые были на коммутаторе в прозрачном режиме должны существовать на VTP сервере.
— В версии протокола 1 и 2 анонсируются VLAN-ы только из основного ( VLAN 1-1005) диапазона, если нужен расширенный диапазон (VLAN 1006-4094), то следует использовать версию VTP 3.
Настройка Cisco VTP.
Конфигурирование VTP, в зависимости от устройства и версии IOS, осуществляется либо в режиме VLAN database либо в режиме глобального конфигурирования.
Настройка Cisco VTP в режиме глобального конфигурирования:
Войти в привилегированный режим и перейти в режим глобального конфигурирования:
sw1#
sw1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
sw1(config)#
Все возможные параметры для настройки VTP можно посмотреть командой «vtp ?«
sw1(config)#
sw1(config)#vtp ?
domain Set the name of the VTP administrative domain.
file Configure IFS filesystem file where VTP configuration is stored.
interface Configure interface as the preferred source for the VTP IP updater address.
mode Configure VTP device mode
password Set the password for the VTP administrative domain
pruning Set the administrative domain to permit pruning
version Set the administrative domain to VTP version
В общем случае необходимо выбрать коммутатор, который будет работать в режиме VTP Server, определиться с названием VTP домена, VTP паролем и версией протокола. Настроить коммутатор в качестве VTP server (Задать vtp mode server, vtp domain, vtp password) остальные коммутаторы в режиме VTP client (задать vtp mode client, vtp domain, vtp password), соединить их через транковые порты. Произвести настройку VLAN на коммутаторе VTP Server.
Настройка Cisco VTP в режиме VLAN database:
Войти в привилегированный режим и запустить команду «vlan database«, появится режим конфигурирования VLAN:
sw1#
sw1#vlan database
sw1(vlan)#
Все возможные параметры для настройки VTP можно посмотреть командой «vtp ?»
sw1(vlan)#
sw1(vlan)#vtp ?
client Set the device to client mode.
domain Set the name of the VTP administrative domain.
password Set the password for the VTP administrative domain.
pruning Set the administrative domain to permit pruning.
server Set the device to server mode.
transparent Set the device to transparent mode.
v2-mode Set the administrative domain to V2 mode.
После проведения настройки VTP следует выйти из режима конфигурирования VLAN, командой «exit» или «end»
Анализ Cisco VTP.
Для получения информации о конфигурации VTP можно использовать команду: «show vtp status» — она отобразит общую информацию о VTP (в каком VTP режиме работает коммутатор, какое имя VTP домена, какова версия протокола и прочее).
Узнать VTP пароль можно командой: «show vtp password«
Привет.
Протокол VTP (VLAN Trunk Protocol) является одним из самых известных вендорских протоколов, занимающихся L2-задачами в корпоративных сетях. Знания и навыки работы с VTP нужны по многим причинам – ну, по крайней мере чтобы понимать, что из функционала реально приобретается, если в сети есть поддержка этого протокола, а что – нет. Это необходимо для ухода от крайностей как вида “раз цисковский протокол, то без него / его поддержки жить нельзя в принципе, надо сразу удавиться”, так и “раз его не смогло разработать опенсорсное коммунити, то это не нужный протокол”.
История протокола VTP достаточно продолжительна – первый раз он появляется в CatOS 2.1 (это Cisco Catalyst 2900 и 5000), после чего слегка модернизируется до второй версии и живёт очень долго. Третья версия, в которой реально много полезных изменений, вышла несколько лет назад, но до сих пор не поддерживается на многих устройствах начального уровня. Однако это не обозначает, что её не нужно изучать.
Изучение данного протокола то добавляется фирмой Cisco в треки CCNA Routing and Switching и CCNP Routing and Switching, то убирается – поэтому у нас он дополнительно изучается как на курсах Cisco ICND2 3.0 и Cisco SWITCH 2.0, так и в составе трека Advanced CCNA и в части углублённых вопросов – в отдельном занятии трека Advanced CCNP.
Поэтому имеет смысл разово изучить VTP, чтобы разобраться что и как.
Оглавление
- Зачем нужен VTP
- Как технически реализован VTP
- Как работает протокол VTP
- VTP pruning – что это?
- Базовая настройка протокола VTP
- Расширенная настройка протокола VTP
- Типовые ошибки настройки VTP
- Ситуация с добавлением нового коммутатора в существующую VTP-инфраструктуру
- Протокол VTPv3
Зачем нужен VTP
Ключевое назначение протокола VTP – это решать вопрос синхронизации базы данных с информацией о VLAN’ах между коммутаторами в кампусной сети предприятия. В данном процессе, кстати, могут участвовать и маршрутизаторы – в случае, если у них установлена специальная карта, являющаяся по сути мини-коммутатором (т.н. switchboard – например, достопочтимая NM-16ESW, благодаря которой и dynamips иногда за коммутатор сойдёт).
Протокол VTP помогает упрощать операции с VLAN’ами в организации – добавление, удаление, изменение параметров, а также оптимизирует сетевой трафик, благодаря наличию функции vtp pruning. VTP современной версии – третьей – ещё и помогает жить протоколу MST (который 802.1s), плюс исправляет древние проблемы с безопасностью у VTP первой и второй версий.
Логическая модель работы VTP
Cisco VTP объединяет физически напрямую подключённые друг к другу коммутаторы (т.е. не через роутер или другой свич, не поддерживающий VTP) в именованные области, называемые доменами VTP. В одной организации таких доменов может быть несколько, главное – чтобы они непосредственно не контачили друг с другом, т.к. процедура междоменного взаимодействия не проработана. Предполагается, что VTP используется в “классической” кампусной сети, где много коммутаторов и есть задача “чтобы можно было подключить абонента в нужный VLAN на любом коммутаторе”. У современных сетей такая конструкция встречается всё реже и реже, она вытесняется L3-связями у distribution-коммутаторов и другими моделями взаимодействия, которые обеспечивают большую гибкость и скорость передачи данных по внутренней сети благодаря уходу от L2-доменов со Spanning Tree на топологии с L3-связями и ECMP.
Как технически реализован протокол VTP
Технологически протокол VTP реализован как SNAP-вложение в кадры ISL или 802.1Q. Работать может на 802.3 (Ethernet) и 802.5 (Token Ring). А также поверх LANE, но, надеюсь, эта некрофилия вас не коснётся.
Нужно отметить, что служебные данные VTP вкладываются не сразу в кадр 802.3, а после транкового заголовка. Выглядит это так:
- Обычный заголовок стандартного 802.3 (Destination MAC, Source MAC, тип вложения – например, в случае 802.1Q это будет
0x8100) - Подзаголовок LLC-уровня (это “верхний” подуровень канального уровня – кто проходил CCNA, тот знает, что у уровней модели OSI бывают подуровни, подробнее есть в нашем бесплатном вебинаре про LLC и CNAP, входящем в трек Advanced CCNA), содержащий SSAP/DSAP коды
0xAA 0xAA, обозначающий, что далее идёт SNAP-вложение. - Подзаголовок SNAP – Subnetwork Access Protocol, показывающий, что после будет не заголовок сетевого уровня, а дальнейшее разделение на субпротоколы канального уровня. В нашем случае SNAP несёт уже конкретную информацию, что вложен будет протокол, идентифицируемый как Cisco’вский протокол VTP (OUI = Cisco, Protocol = 0x2003).
А далее – уже данные самого протокола VTP, относящиеся к одному из типов VTP-сообщений. Это могут быть:
- Код 0x01 – Анонс-оглавление (Summary advertisement);
- Код 0x02 – Данные для анонса (Subset advertisement);
- Код 0x03 – Запрос на повторную информацию (Advertisement request);
- Код 0x04 – Данные для pruning (VTP join message);
Замечу, что про 802.1Q можно почитать в статье про 802.1Q и 802.1ad или посмотреть на нашем YouTube вебинар из серии Advanced CCNA про типы транкинга.
Так вот, далее.
Весь трафик Cisco VTP идёт на специальный “cisco’вский” мультикастовый MAC-адрес 01-00-0C-CC-CC-CC – на этот же адрес идёт и трафик протокола CDP, например, т.к. он тоже разработан фирмой Cisco. Как их разделяют?
Используется схема разделения по SNAP полю “протокол” – для CDP он будет 0x2000, для VTP – 0x2003. Этакое мультиплексирование канального уровня.
Роли устройств в домене VTP
На уровне взаимодействия и ролей устройств протокол VTP достаточно прост. Все коммутаторы делятся на три вида или роли:
- VTP Server – те, на которых можно создавать новые VLAN’ы, удалять старые, изменять существующие – в общем те, где можно полноценно изменять всю базу VLAN’ов. Устройства с Read+Write доступом к vlan database, говоря иначе.
- VTP Client – те коммутаторы, которые будут получать по сети анонсы от других VTP-устройств и не будут иметь возможности локально исправлять информацию (устройства с Read-only доступом).
- Те, кто во всём этом участвовать не хочет и хочет иметь свою, локальную базу VLAN’ов и свободно их настраивать – “прозрачные” для VTP коммутаторы. Их роль будет называться VTP Transparent.
- Отдельно и только в VTPv3 – те, кто во всём этом участвовать не хочет и не собирается передавать на другие порты полученные по транкам VTP-кадры – VTP Off.
Понятное дело, что в сети надо иметь хотя бы 1 устройство с ролью VTP сервера – а если коммутатор в сети всего один, то имеет смысл включить его сразу в режим VTP transparent. Вообще, “прозрачный режим” удобен тем, что коммутатор, если принимает кадр протокола VTP на любом порту, сразу передаёт этот кадр на все остальные транковые порты – просто ретранслирует этот кадр, не обрабатывая его. Этим (переключением в vtp transparent mode) заранее ликвидируется потенциальная возможность, что какой-то другой коммутатор злонамеренно повлияет на конфигурацию. Как понятно, это всё – только на портах в режиме транка.
Хранение информации о VLAN’ах и их настройках
В разных ролях VTP это реализовано различными способами:
- Коммутатор с ролью VTP Server будет хранить настройки в файле
vlan.datна указанном устройстве хранения (один из flash’ей устройства) - Коммутатор с ролью VTP Transparent или VTP Off будет хранить настройки в конфигурации (это
config.text, или, говоря проще, NVRAM) - Коммутатор с ролью VTP Client будет хранить настройки в оперативной памяти (их не будет видно в конфигурации или на flash)
Домены VTP
Домены VTP, как уже указано выше – это подмножества непосредственно подключенных друг к другу коммутаторов.
Для идентификации принадлежности устройства к домену VTP используется сравнение названия домена и хэша пароля (безусловно, не друг с другом, а между устройствами – т.е. оба этих параметра должны совпадать, чтобы VTP-устройства могли корректно общаться). Название домена VTP – это текстовая строка длиной до 32 байт (в случае, если название короче, оно добивается нулями – zero-padding), пароль – тоже текстовая строка, в чистом виде в сети не передающаяся, хранящаяся в случае работы устройства в роли VTP Server в файле vlan.dat, а в случае работы в режиме VTP Transparent – в NVRAM.
Обратите внимание на следующие два важных момента. Первый – то, что название домена является case-sensitive, потому что строки сравниваются побайтово. Поэтому коммутаторы из домена Domain и из домена DOMAIN работать друг с другом не будут. Второй – работа с паролем. В кадрах передаётся хэш пароля, а не хэш кадра. Поэтому этот пароль нужен только для идентификации принадлежности к домену и никак не подтверждает целостность сообщения VTP. Его можно просто разово заснифить и добавлять в VTP-сообщения для придания им “легитимности”.
Что же передают друг другу коммутаторы, обладающие ролями VTP Client и VTP Server?
Как работает протокол VTP
Протокол VTP в основном занимается полезной вещью – он передаёт базу данных VLAN между устройствами. Делает он это в следующих случаях:
- Если Вы изменили базу данных VLAN’ов на устройстве с ролью VTP Server (т.е. провели успешную запись – не важно, какую – добавили VLAN, удалили VLAN, переименовали VLAN), то изменение будет передано немедленно после проведения записи.
- Если после последней успешной записи (см. выше) прошло 300 секунд.
VTP версий 1 и 2 передаёт только данные по VLAN’ам с номерами от 1 до 1005. Увы, наследие страшных времён, CatOS, десятибитовые номера vlan’ов, чугунные игрушки, соображения совместимости и прочие причины. Зато в VTPv3 это успешно решено и обмен данными про VLAN’ы охватывает весь диапазон – от 1 до 4094.
Заметьте, что хоть стартовым инициатором рассылки VTP может быть только устройство с ролью VTP Server, но пересылать обновление могут любые коммутаторы – т.е. устройству с ролью VTP Client совсем необязательно быть непосредственно подключённому к VTP Server. Клиент, получив от сервера рассылку с новой версией базы данных VLAN’ов, передаст её на все другие транковые порты, за которыми опять же могут быть другие VTP Client’ы и VTP Transparent, и так – до упора. Ограничения стандарта 802.1D на максимальный диаметр “поля” коммутаторов здесь не действуют.
Итак, обновление базы данных – штука достаточно несложная. Вы – VTP Server, на Вас обновлена БД vlan’ов, Вы разослали во все транковые порты анонс, все коммутаторы, поддерживающие VTP, его прочитали, и, если они VTP Client или VTP Server, то применили к себе и отправили дальше, а если VTP Transparent – то не применили к себе, но отправили дальше. Как же определяется, какая база данных актуальнее? При помощи системы версий.
У каждой базы vlan’ов будет своя версия. В случае, если устройством получено обновление, которое старше по номеру, чем имеющаяся БД, то имеющаяся БД заменяется новой. Целиком, без всяких join/merge.
Также весьма полезной функцией VTP будет являться т.н. pruning:
VTP Pruning
Задача этой функции проста – каждый коммутатор будет “считать” фактически используемые VLAN’ы, и в случае, когда по VTP приходит неиспользуемый VLAN, уведомлять соседа, что этот трафик не имеет смысла присылать. Под этот механизм будут подпадать только первые 1000 VLAN’ов, исключая самый первый (т.е. pruning работает только для VLAN’ов с номерами от 2 до 1001). Более того, под pruning будет подпадать только уникастовый и неизвестный мультикастовый трафик, поэтому, к примеру, BPDU протоколов семейства STP фильтроваться не будут.
Т.е. допустим, у нас есть два коммутатора – A и B. Коммутатор A имеет роль VTP Server, а B – VTP Client. Между ними – транковый канал, 802.1Q. На коммутаторе B включен vtp pruning.
Допустим, на коммутаторе A в базу VLAN добавлены VLAN 10 и VLAN 20. Соответственно, коммутатор A уведомит по протоколу VTP своего соседа – B – о новой ревизии базы VLAN’ов. Сосед B добавит эти VLAN’ы в базу и теперь, когда подключенный к коммутатору A клиент, например, передаст броадкаст в VLAN’е 10, этот броадкаст дойдёт и до коммутатора B. Невзирая на то, что у коммутатора B может вообще не быть ни одного порта и интерфейса в VLAN 10, а также не быть других транков (т.е. трафик 10го VLAN’а коммутатору B совсем не нужен). Вот в данном случае механизм pruning сможет сэкономить полосу пропускания канала между коммутаторами A и B просто не отправляя трафик неиспользуемого VLAN’а коммутатору B.
Как же всё это будет настраиваться?
Базовая настройка протокола VTP
Первым делом – нарисуйте топологию сети, в которой собираетесь применять протокол VTP. Посмотрите, какие версии протокола поддерживаются устройствами (обычно везде есть VTPv2). Выберите устройство, которое будет сервером (ему не надо быть каким-то особо быстрым, это не STP, специфической нагрузки на VTP Server нет, ему лишь желательно обладать максимальным uptime). Если не хотите использовать VTP (например, из соображений безопасности) – тогда просто переведите все устройства в режим VTP Transparent (либо off, если поддерживается оборудованием и ОС).
Настройка имени домена VTP
host(config)#vtp domain имя_домена
Стереть имя домена штатно нельзя, только сменить. Т.е. если стартово заменили дефолтное значение, которое NULL, на своё, то всё.
Настройка пароля VTP
host(config)#vtp password пароль
Пароль можно сбросить на пустой, если ввести команду no vtp password. Запомните, пароль VTP хранится небезопасно (у VTP Server – в файле vlan.dat, у VTP Transparent – в NVRAM), поэтому если пользуетесь VTP, делайте такой пароль, который более нигде не дублируется, т.к. получить пароль VTP – относительно несложно. Всё, от чего защищает этот пароль – это, например, случайное добавление в сеть неправильно настроенного коммутатора и последующие проблемы. Пароль VTP не защищает передаваемую между коммутаторами информацию.
Настройка версии VTP
host(config)#vtp version версия
На момент написания статьи версии были от 1й до 3й.
Настройка VTP pruning
Включение выполняется командой:
host(config)#vtp pruning
а выключение –
host(config)#no vtp pruning
Настройка режима VTP
host(config)#vtp mode режим
Где режим – это server, client, transparent или off. Режим off получится поставить только на устройствах, поддерживающих VTPv3; на коммутаторах, которые поддерживают только VTPv1 и VTPv2 отключить протокол нельзя.
Расширенная настройка протокола VTP
Настройка дополнительных полезных опций VTP
Коммутатор, находящийся в режиме vtp server, как уже упоминалось выше, хранит информацию на флэше. Если потенциальных мест хранения несколько, то нужное можно указать в явном виде, командой
host(config)#vtp file имя_файловой_системы
Понятное дело, для vtp client и vtp transparent это не имеет особого смысла.
Также имеется возможность упростить траблшутинг, указав в явном виде интерфейс, с которого будет браться IP-адрес, пишущийся в результатах вывода команды show vtp status. То есть это влияет на выбор того адреса, который будет указываться в у клиентов в строчке вида
Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00
Делаться это будет такой командой:
host(config)#vtp interface интерфейс
Где интерфейс – это, например, loopback 0.
Устранение неисправностей (troubleshooting) протокола VTP
Неисправностей в VTP может быть очень, очень много. Давайте перечислим основные из них. Запомните эти лица, может пригодиться в дальнейшем.
Проверяем каналы между коммутаторами
- Проверьте физическую доступность интерфейсов
- Проверьте корректность режима дуплекса и скорости
- Проверьте, что корректно согласовался транк
- Проверьте, совпадают ли native vlan’ы
Проверяем настройки VTP
- Участвующие коммутаторы должны быть непосредствено подключены друг к другу
- Должен быть хотя бы один VTP Server
- Версии VTP, а также имя домена и пароль должны быть идентичны у всех устройств
Теперь чуть подробнее об известном артефакте поведения протокола VTP
Проблема добавления нового коммутатора
Как Вам уже известно, новый коммутатор при добавлении делает следующее – он слушает трафик VTP и при получении первого же advertisement берёт из него настройки (имя домена и пароль). Также известно, что дефолтная настройка коммутатора – это режим VTP Server (т.е. когда Вы достаёте коммутатор из коробки, Вы сразу можете на нём создавать VLAN’ы, в случае VTP Client это было бы невозможно).
Соответственно, возможна неприятная ситуация. Состоит она в том, что можно взять коммутатор, заранее его сконфигурировать, внеся больше изменений, чем есть сейчас в инфраструктурном VTP, задать правильные параметры домена и подключить к сети. Тогда коммутатор своей базой затрёт существующую. Почему так произойдёт и как это может быть? Рассмотрим подробнее.
Вы покупаете новый коммутатор и вводите его в эксплуатацию. Отдельно от других, которые работают в VTP. Ну, вот так сложилось – допустим, в филиале организации его ставите, где он не является непосредственно подключенным к другим коммутаторам. ОК, начинаете с ним работать. Работаете интенсивно – добавляете на него vlan’ы, удаляете их, переименовываете. Каждое действие плюсует единицу к revision number. Вдруг через некоторое время возникает ситуация – филиал закрывается. Коммутатор перевозят в основной офис и Вы подключаете его к другим. И тут выясняется следующее. У данного коммутатора ревизия числовО выше, чем у местного VTP Server. Имя домена и пароль совпадают. Как только транк поднимается, новый коммутатор выстреливает advertisement, который начинают слушать все остальные коммутаторы и ретранслировать дальше. Это штатный функционал – Вы не можете ограничить получение VTP-данных только от одного, “правильного” сервера. Соответственно, эта волна накрывает все коммутаторы в режиме Client и тот, который в Server. Это тоже штатное поведение – VTP Server, получив VTP-данные с бОльшим номером ревизии, чем у себя, перезаписывает свою базу. И всё, Вы имеете большие проблемы – вместо Вашей базы VLAN’ов у Вас на всех коммутаторах та, которая была в филиале.
Чтобы избежать этого, можно поступить по-разному. Например, не делать у этого коммутатора имя домена и пароль, как в основной VTP-сети. Но можно и проще – ведь чтобы этого всего не произошло, надо просто сбросить номер ревизии. Для этого достаточно переименовать домен у коммутатора в какое-нибудь временное название и после вернуть назад. Ревизия сбросится. После не забудьте включить режим VTP Client.
Как понятно, именно из-за этой ситуации использование VTP в production-сети с высоким уровнем безопасности является нежелательным. Злоумышленник может провести достаточно простую атаку – ему хватит доступа к транковому порту и возможности отправить, допустим, vtp-уведомление о том, что пришла база с версией 10000 и одним vlan’ом, и всё – вся VTP-инфраструктура примет это как нормальное положение вещей и остальные vlan’ы пропадут. Поэтому в безопасных сетях все коммутаторы работают в VTP transparent, где такая ситуация невозможна в принципе.
Протокол VTPv3
Третья версия протокола принесла множество изменений и нововведений. Например:
Поддержка полного диапазона VID в 802.1Q
Протоколы VTP первой и второй версии поддерживали только первую тысячу VLAN’ов. VTPv3 работает со всем диапазоном, от 1 до 4094го.
Поддержка Private VLAN
Если Вы использовали private vlan (т.е. назначали порты как promiscuous / isolated / community и определяли их в отдельные группы), то Вы знаете, что VTP не работал с этим механизмом. Третья версия работает.
Поддержка 802.1s (MST)
Теперь через VTP можно обмениваться данными не только БД vlan’ов, но и базу маппингов MST, что значительно упрощает конфигурирование 802.1s
Настраиваем VTPv3
Первое, что нужно сделать, чтобы включить поддержку VTPv3 – задать имя vtp-домена в явном виде. В предыдущих версиях протокола это было не нужно – коммутатор стартово обладал именем vtp-домена “NULL” и менял его на другое, получив первое VTP-сообщение. Теперь же до включения протокола VTPv3 Вы должны задать не-дефолтное имя VTP домена в явном виде. Команда, впрочем та же – host(config)#vtp domain имя_vtp_домена.
Второе – надо включить поддержку 802.1t, называемого чаще extended system-id. Соответствие данному стандарту будет подразумевать, что в параметре BID во всех BPDU будет не два поля – приоритет и Base MAC, а три – приоритет, VLAN ID и Base MAC. То есть, если без 802.1t на приоритет отдавалось 16 бит, то после его включения формат bridge ID (BID) будет выглядеть так:
- 4 бита на приоритет
- 12 бит на VLAN ID
- 48 бит на Base MAC
Про этот стандарт и его основное применение (в протоколах семейства Spanning Tree), думается, лучше написать отдельно, а для нас будет достаточно то, что он меняет формат BID и что его надо включать, чтобы можно было переключиться в VTPv3. Включается поддержка 802.1t командой host(config)#spanning-tree extend system-id.
После этого уже можно переключаться – host(config)#vtp version 3. Убедиться, что переключение произошло, можно сделав host#show vtp status и увидев в первых строчках такое:
VTP Version capable : 1 to 3
VTP version running : 3
Ну, а подробно разобрать VTPv3 придётся в отдельной статье – иначе эта превратится в мини-книжку.
Вот, кстати, ссылка на неё: Протокол VTPv3.
Возможно, вам будет также интересно почитать другие статьи про VTP на нашей Knowledge Base
- Теория
- Практика
- Домашка
VLAN Trunk Protocol – проприетарный протокол компании Cisco (работает только на cisco-устройствах), предназначенный для динамического распространения базы VLAN-ов на сетевых устройствах.
VTP домен – область, состоящая из одного или нескольких коммутаторов, которые, благодаря vtp, используют одну базу vlan.
Режимы работы VTP
Выставляя режим работы VTP, вы предоставляете коммутатору те или иные права.
- VTP server – коммутатор может создавать, изменять и удалять VLAN-ы. В этом режиме устройство распространяет информацию о своей базе VLAN, в пределах настроенного домена. Этот режим включен по умолчанию.
- VTP client – коммутатор не может создавать, изменять и удалять VLAN-ы. В этом режиме устройство слушает сеть на предмет vtp-обновлений и время от времени обновляет базу VLAN.
- VTP transparent(прозрачный) – коммутатор может создавать, изменять и удалять VLAN-ы. В этом режиме устройство не объявляет и не обрабатывает приходящие vtp-обновления, но при этом все приходящие обновления передаются дальше (вероятно поэтому этот режим называется прозрачным).
- VTP off – коммутатор может создавать, изменять и удалять VLAN-ы. В этом режиме устройство не объявляет и не обрабатывает приходящие vtp-обновления.
VTP-обновления распространяются только по trunk портам.
Общая информация
Packet Tracer version: 6.2.0
Рабочий файл: скачать
Тип: Теория и практика
Версия файла: 2.0
Уже получили: 153 пользователей
Часто задаваемые вопросы
Код активации:
Код активации можно получить выполнив практическое задание
Уже получили 161 пользователей
Начальные данные
В данной практической работе будет использоваться схема сети, которая представлена на рисунке ниже.
Компьютеры вокруг коммутаторов служат для массовки. Коммутаторами можно управлять с компьютера PC0. Между коммутаторами настроены trunk, разрешающие прохождение всех vlan. Коммутаторы доступны по адресам:
- SW_1 – 192.168.20.1, пароль cisco123
- SW_2 – 192.168.20.2, пароль cisco123
- SW_3 – 192.168.20.3, пароль cisco123
- SW_4 – 192.168.20.4, пароль cisco123
Цели
-
Настроить vtp-domen из 4-х коммутаторов.
- SW_1 – server mode
- SW_2 – client mode
- SW_3 – transparent mode
- SW_4 – client mode
- Изучить выводы команды
showсвязанные с vtp. - Изменить конфигурацию SW_3 на vtp server, изучить как это повлияет на vtp домен.
Выполнение
-
Настроить vtp-domen из 4-х коммутаторов
Для начала изучим какие команды доступны для настройки VTP.
SW_1#conf t Enter configuration commands, one per line. End with CNTL/Z. SW_1(config)#vtp ? domain Set the name of the VTP administrative domain. mode Configure VTP device mode password Set the password for the VTP administrative domain version Set the adminstrative domain to VTP version
Проблем с пониманием возникнуть не должно. Что бы коммутаторы принадлежали одному и тому же домену, надо что бы у них было одинаковое имя домена и пароль (не обязательный параметр, но желательный). Поменять режим мы можем с помощью команды
vtp mode <имя режима>. Так же есть возможность выбрать версию протокола VTP, если ее жестко не установить, то она будет первой, мы же будем устанавливать вторую версию (разницу в версиях придется изучать самостоятельно, их 3).Данные, которые будут настроены на всех коммутаторах (что бы получить достижение, следует использовать такие же переменные):
- Имя VTP домена – clearning
- Пароль VTP домена – cisco
Настроим коммутатор SW_1.
SW_1(config)#vtp mode server Device mode already VTP SERVER. //"устройство уже в server mode", т.к. это режим по умолчанию SW_1(config)#vtp domain clearning Changing VTP domain name from NULL to clearning SW_1(config)#vtp password cisco Setting device VLAN database password to cisco SW_1(config)#vtp version 2
Аналогично надо настроить остальные коммутаторы, согласно целям этой практической работы. Для ускорения процесса вы можете использовать “копипасты”.
Показать “копипасты”
-
Изучить выводы команды
showсвязанные с vtpКоммутаторы настроены, можно переходить к изучению результатов работы.
SW_1#sh vtp ? counters VTP statistics password VTP password status VTP domain status SW_1#sh vtp status VTP Version : 2 Configuration Revision : 1 Maximum VLANs supported locally : 255 Number of existing VLANs : 5 VTP Operating Mode : Server VTP Domain Name : clearning VTP Pruning Mode : Disabled VTP V2 Mode : Enabled VTP Traps Generation : Disabled MD5 digest : 0xE9 0xE9 0x52 0xAC 0x09 0x96 0x93 0xAA Configuration last modified by 192.168.20.1 at 3-1-93 00:05:57 Local updater ID is 192.168.20.1 on interface Vl1 (lowest numbered VLAN interface found) SW_1#sh vtp password VTP Password: cisco
С помощью команды
show vtp status, мы можем посмотреть какая версия vtp используется (2), какой режим используется на данном устройстве (server), имя vtp домена (clearning), кол-во vlan на этом устройстве(5), когда и кем последний раз изменялась база vlan. Это важно, поэтому разберем подробнее. 192.168.20.1 – в понятии vtp, просто id устройства в vtp домене (строчкой ниже можно увидеть, что этот локальный id, принадлежит SW_1) и дата 3-1-93 00:13:08 (время не настраивал, поэтому 3-е января 1993).Вызовем команду
show vtp statusна коммутаторе SW_4.SW_1#192.168.20.4 //устанавливаем telnet соединение с коммутатора SW_1 Trying 192.168.20.4 ...Open User Access Verification Password: SW_4#sh vtp status VTP Version : 2 Configuration Revision : 1 Maximum VLANs supported locally : 255 Number of existing VLANs : 5 VTP Operating Mode : Client VTP Domain Name : clearning VTP Pruning Mode : Disabled VTP V2 Mode : Disabled VTP Traps Generation : Disabled MD5 digest : 0x31 0x7E 0x3A 0xE0 0xCD 0xC5 0xF0 0x54 Configuration last modified by 192.168.20.1 at 3-1-93 00:00:45
Важная информация, конфигурация последний раз была изменена устройством с id 192.168.20.1, как мы уже выяснили, это id SW_1.
Теперь добавим несколько VLAN на коммутатор SW_1 (на коммутаторах с режимом vtp client создавать vlan-ы нет возможности, но можете попробовать 🙂 ).
SW_4#exit //получается очень удобно, изначально я установил telnet сессию с SW_1 на SW_4, а когда из нее вышел, то вернулся на SW_1 [Connection to 192.168.20.4 closed by foreign host] SW_1#conf t Enter configuration commands, one per line. End with CNTL/Z. SW_1(config)#vlan 12 SW_1(config-vlan)#name green-vlan SW_1(config-vlan)#vlan 15 SW_1(config-vlan)#name blue-vlan SW_1(config-vlan)#vlan 25 SW_1(config-vlan)#name yellow-vlan SW_1(config-vlan)#exit SW_1(config)#exit SW_1#sh vtp status VTP Version : 2 Configuration Revision : 7 //номер ревизии, изменяется при добавлении, удалении или изменении vlan Maximum VLANs supported locally : 255 Number of existing VLANs : 8 VTP Operating Mode : Server VTP Domain Name : clearning VTP Pruning Mode : Disabled VTP V2 Mode : Enabled VTP Traps Generation : Disabled MD5 digest : 0xAB 0x33 0xF3 0x2F 0xD8 0x66 0x36 0xAD Configuration last modified by 192.168.20.1 at 3-1-93 00:23:05 Local updater ID is 192.168.20.1 on interface Vl1 (lowest numbered VLAN interface found)
Посмотрим как изменилась конфигурация на SW_4.
SW_4#sh vtp status VTP Version : 2 Configuration Revision : 7 //номер ревизии, изменяется при добавлении, удалении или изменении vlan Maximum VLANs supported locally : 255 Number of existing VLANs : 8 VTP Operating Mode : Client VTP Domain Name : clearning VTP Pruning Mode : Disabled VTP V2 Mode : Enabled VTP Traps Generation : Disabled MD5 digest : 0xAB 0x33 0xF3 0x2F 0xD8 0x66 0x36 0xAD Configuration last modified by 192.168.20.1 at 3-1-93 00:23:05 SW_4#sh vlan VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa0/1, Fa0/2, Fa0/4, Fa0/5 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 12 green-vlan active 15 blue-vlan active 25 yellow-vlan active 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup
Обратите внимание на строчку “Configuration Revision : 7” (номер ревизии), изначально она была равна 1. Эта строчка фиксирует изменения в базе vlan. Каждый раз, когда база vlan на SW_1 изменяется, изменяется и “номер ревизии”. Следует так же обратить внимание, что это значение влияет на обработку приходящих обновлений. Если в пришедшем обновлении “номер ревизии” меньше, уже имеющегося на устройстве, то это обновление не применяется.Как можно видеть, в коммутаторе SW_4 обновилась база vlan, сразу после добавления их на SW_1. Теперь осталось назначить порты определенным vlan. Здесь мы делать этого не будем, но надо понимать, что в реальной сети, мы создаем vlan на VTP server, а после назначаем его на интерфейс, например, коммутатора в режиме VTP client.
Еще раз. Важно понимать, что vtp только распространяет базу vlan по всем коммутаторам внутри vtp домена. Определять принадлежность порта к vlan должен администратор, самостоятельно на каждом коммутаторе. -
Изменить конфигурацию SW_3 на vtp server, изучить как это повлияет на vtp домен
Суть этого задания показать самую частую ошибку, которая происходит при использовании vtp – когда коммутатор настраивался отдельно от сети, а после его подключили с большим “номером ревизии”.
Подключимся к коммутатору SW_3, далее выключим на нем порты Fa0/2 и Fa0/3 (транки к SW_2 и SW_4). Настроим vtp аналогично как на SW_1 и создадим несколько vlan так, что бы “номер ревизии” был больше, чем у SW_1.
SW_3(config)#interf range fa 0/2-3 SW_3(config-if-range)#shut SW_3(config-if-range)#exit SW_3(config)#vtp doma SW_3(config)#vtp domain clearning Changing VTP domain name from NULL to clearning SW_3(config)#vtp passw cisco Setting device VLAN database password to cisco SW_3(config)#vtp mode server Setting device to VTP SERVER mode. SW_3(config)#vtp ver 2 VTP mode already in V2. SW_3(config)#vlan 11 SW_3(config-vlan)#name delete SW_3(config-vlan)#vlan 22 SW_3(config-vlan)#name all SW_3(config-vlan)#vlan 33 SW_3(config-vlan)#name vlans SW_3(config-vlan)#vlan 44 SW_3(config-vlan)#name now SW_3(config-vlan)#vlan 55 SW_3(config-vlan)#name oh_yeah_baby SW_3(config-vlan)#exit SW_3(config)#do sh vtp sta VTP Version : 2 Configuration Revision : 10 Maximum VLANs supported locally : 255 Number of existing VLANs : 10 VTP Operating Mode : Server VTP Domain Name : clearning VTP Pruning Mode : Disabled VTP V2 Mode : Enabled VTP Traps Generation : Disabled MD5 digest : 0x69 0xB9 0xDD 0x2C 0xE1 0xBC 0xE0 0xAA Configuration last modified by 192.168.20.3 at 3-1-93 01:39:34 Local updater ID is 192.168.20.3 on interface Vl1 (lowest numbered VLAN interface found)
Теперь включаем порты Fa0/2 и Fa0/3 на SW_3 и посмотрим как это отразится на остальных устройствах.
SW_3(config)#interf range fa 0/2-3 SW_3(config)#no shut
SW_1#sh vtp status VTP Version : 2 Configuration Revision : 10 Maximum VLANs supported locally : 255 Number of existing VLANs : 10 VTP Operating Mode : Server VTP Domain Name : clearning VTP Pruning Mode : Disabled VTP V2 Mode : Enabled VTP Traps Generation : Disabled MD5 digest : 0x69 0xB9 0xDD 0x2C 0xE1 0xBC 0xE0 0xAA Configuration last modified by 192.168.20.3 at 3-1-93 01:39:34 Local updater ID is 192.168.20.1 on interface Vl1 (lowest numbered VLAN interface found) SW_1# SW_1#sh vlan VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa0/2, Fa0/3, Fa0/4, Fa0/5 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 11 delete active 22 all active 33 vlans active 44 now active 55 oh_yeah_baby active 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsupVlan-ов 12 (green-vlan), 15 (blue-vlan), 25 (yellow-vlan) больше нет! И их никак не вернуть! Так как у SW_3 “номер ревизии” был больше, все коммутаторы, принимая обновления от него, перезаписали свои базы vlan (удалили старые, добавили новые). Будьте аккуратны при использовании этого протокола.
Общая информация
Packet Tracer version: 6.2.0
Рабочий файл: скачать
Тип: Самостоятельная работа
Версия файла: 2.1
Уже получили: 153 пользователей
Часто задаваемые вопросы
Код активации:
Код активации можно получить выполнив практическое задание
Уже получили 153 пользователей
Начальные данные
В данной лабораторной работе будет использоваться схема сети, которая представлена на рисунке ниже.
В существующую, рабочую сеть добавили новый коммутатор SW_NEW. Младший сотрудник уже выполнил предварительные настройки: настроил trunk, назначил коммутатору ip адрес и настроил telnet сервер. Вы являетесь новым старшим сотрудником, ваша задача завершить настройку коммутатора (если что-то пойдет не так, подключайте консольный кабель, но ваша задача научиться обходиться без него).
Все настройки следует производить при помощи PC0. Рабочие коммутаторы доступны по следующим адресам:
- SW_1 – 10.7.1.15, пароль cisco123
- SW_2 – 10.7.1.16, пароль cisco123
- SW_3 – 10.7.1.17, пароль cisco123
- SW_NEW – 10.7.1.18, пароль cisco123
Задания
- Настроить коммутатор SW_NEW
- Установить локальное имя SW_4
- Добавить в существующий vtp домен. Проверить локальную базу vlan. Подсказка. Всю необходимую информацию по vtp домену вы можете найти на других коммутаторах.
- Добавить новый VLAN – VLAN 22, c именем guest-vlan. Подсказка. Новые VLAN добавляются только на VTP сервере.
- Предоставить PC5 и PC2 доступ в vlan22, PC8 в vlan 20.
- Теория
- Практика
- Домашка
Если вы нашли в тексте ошибку, выделите текст и нажмите Ctrl + Enter
ID: 136 Created: Oct 19, 2016 Modified Sep 13, 2017
Сертификации R&S больше нет, но данная информация по-прежнему полезна.
CCNA R&S 6.0 Bridging Course часть 2, содержит урок 3 — для тех, кто готовился на сертификацию версии 3 и будет сдавать экзамены:
- Interconnecting Cisco Networking Devices Part 2 exam (ICND2 200-105), which is associated with the CCNA Routing and Switching certification;
- CCNA Routing and Switching composite exam (200-125), which can be taken instead of the ICND1 and ICND2 exams.
Вторая часть побольше, да и информация тут поинтереснее. По непонятной причине в последнем варианте CCNA версии 2 выкинуто всё про VTP. В версии 3 обратно вернули на место и здесь, в уроке 3, данный пробел восполняется.
Общая схема для курса:

Урок 3
Scaling Networks (ScaN)
3.1: VTP, Extended VLANs, and DTP
Обзор VTP
VLAN trunking protocol (VTP) позволяет администратору управлять VLAN на коммутаторе, сконфигурированному как VTP-сервер. VTP-сервер распространяет и синхронизирует информацию о VLAN через транки на коммутаторах, где VTP включен. Это минимизирует проблемы с неверной конфигурацией VLAN в сети.
Примечание. VTP работает только на стандартном диапазоне VLAN (VLAN IDs 1 to 1005). Расширенный диапазон VLAN (IDs greater than 1005) не поддерживается VTP версии 1 и версии 2. VTP версии 3 поддерживает расширенный диапазон VLANs, но не рассматривается в этом курсе.
Примечание. VTP сохраняет VLAN конфигурацию в файле базы данных vlan.dat на флеш.
Компоненты VTP
Домен VTP:
- Состоит из одного или нескольких соединенных коммутаторов;
- Все коммутаторы в домене делятся конфигурацией VLAN, используя сообщения VTP;
- Коммутаторы в различных доменах VTP не обмениваются сообщениями VTP;
- Маршрутизатор или коммутатор уровня 3 определяет границы каждого домена.
Анонсы VTP:
- Каждый коммутатор в VTP домене посылает периодические анонсы глобальной конфигурации через каждый свой транковый порт на зарезервированные для этого мультикастовые адреса;
- Соседние коммутаторы получают эти анонсы и обновляют свои VTP и VLAN конфигурации, если это необходимо.
Режимы VTP — каждый коммутатор может быть сконфигурирован как сервер, клиент или прозрачный клиент (transparent).
Пароль VTP — коммутаторы могут быть настроены на использование пароля для обмена сообщениями VTP.
Примечание. Коммутаторы не обмениваются сообщениями VTP, если транк неактивен.
Режимы VTP
Коммутатор может быть сконфигурирован в 1 из 3 режимов VTP.
VTP-сервер:
- Рассылает анонсы о VLAN-конфигурации на все остальные коммутаторы, настроенные на работу с VTP, в пределах VTP домена;
- Сервер хранит информацию о VLAN для всего домена в NVRAM;
- На сервере VLAN могут быть созданы, удалены или переименованы для всего домена;
- По умолчанию каждый коммутатор сконфигурирован в режиме VTP сервера с именем домена NULL.
VTP-клиент:
- VTP-клиент функционирует так же как и сервер, но на клиенте нельзя менять информацию о VLAN;
- VTP-клиент хранит информацию о VLAN только пока включен;
- Перезагрузка клиента удаляет информацию о VLAN;
- Нужно сконфигурировать коммутатор чтобы он работал как клиент.
VTP-transparent:
- Прозрачный VTP коммутатор не принимает участие в VTP, за исключением форвардинга анонсов к клиентам и серверам;
- VLAN создаваемые, удаляемые или изменяемые на прозрачном VTP коммутаторе являются локальными по отношению к этому коммутатору;
- Для того чтобы сконфигурировать VLAN из расширенного диапазона коммутатор должен быть прозрачным VTP коммутатором.

Суммарная информация в таблице:

Тут требуется уточнение, во всех источниках указано, что VTP Server/Client хранят конфигурацию в файле vlan.dat на флеш, при этом данный официальный курс, видно из таблицы, напирает на NVRAM. Как же быть? Внимательно читаю все страницы курса и вот оно: The VTP configuration revision number is stored in NVRAM (or Flash on some platforms)..
Примечание. Коммутатор в режиме сервера или клиента с номером ревизии конфигурации выше, чем в оставшейся части домена VTP, обновляет конфигурацию во всем домене VTP.
Анонсы VTP
VTP включает 3 типа анонсов:
- Summary advertisements – Информирует смежные коммутаторы о имени VTP домена и номере ревизии конфигурации.
- Advertisement request – Это ответ на summary advertisement сообщение в том случае, когда summary advertisement содержит номер ревизии конфигурации выше, чем текущее значение на коммутаторе.
- Subset advertisements – Содержит VLAN информацию, включающую любые изменения VTP конфигурации.
По умолчанию коммутаторы Cisco отправляют summary анонсы каждые 5 минут. Эти анонсы информируют о имени VTP домена и о номере ревизии текущей конфигурации.
Номер ревизии конфигурации это 32-битный номер. Каждый коммутатор, участвующий в VTP домене, отслеживает номер ревизии конфигурации.
Процесс VTP
Когда коммутатор получает summary анонс он сравнивает имя VTP домена и если имя отличается, то отбрасывает пакет. Если имя домена совпадает, тогда коммутатор сравнивает номер ревизии конфигурации анонса со номером ревизии своей конфигурации, если номер анонса меньше или равен — пакет отбрасывается. Если собственный номер ниже, тогда коммутатор посылает requaest анонс, чтобы получить subset анонс с изменениями в конфигурации.

Версии VTP
Коммутаторы в одном домене VTP должны иметь одну и ту же версию VTP.

Примечание. VTPv2 мало отличается от VTPv1 и используется в основном, если нужна поддержка устаревшего Token Ring.
Default VTP Configuration


В таблице говорится о VTP Pruning, но дальше этот режим не объясняется в курсе. VTP Pruning нужен для экономии полосы пропускания, когда коммутатору не присылается трафик для VLANs, в которых у него нет портов.
Предостережение о VTP
Добавление в коммутатора с включенным VTP в существующий VTP домен, может затереть конфигурацию VTP домена, если номер ревизии конфигурации у нового коммутатора выше, чем у VTP-сервера. Это произойдет независимо от того в режиме клиента или сервера находится новый коммутатор.
Примечание. Перед добавлением нового коммутатора в существующий домен VTP, проверьте его номер ревизии конфигурации и скиньте его при необходимости.

Существуют две возможности скинуть номер ревизии конфигурации:
- Сменить имя VTP домена на коммутаторе на несуществующее, а потом обратно;
- Сменить режим VTP коммутатора на прозрачный, а затем обратно к прежнему режиму.
Ну и конечно же можно стереть startup-configuration и удалить vlan.dat из flash-памяти.
Конфигурирование VTP
Используется следующая топология:

Все коммутаторы используются с настройками по умолчанию во избежание случаев с номерами ревизий конфигурации.
Сервер
Конфигурирование в режиме сервера производится командой режима глобальной конфигурации:
vtp mode server

Затем можно проверить настройку с помощью команды:
show vtp status

Нужно обратить внимание, что configuration revision number всё ещё 0, а количество существующих VLAN равно 5. Так происходит потому что VLAN не сконфигурированы и коммутатор не принадлежит домену VTP. Существующие VLAN это 1 и 1002-1005.
Конфигурирование имени и пароля домена VTP
Имя домена конфигурируется в режиме глобальной конфигурации с помощью команды:
vtp domain domain-name

Примечание. Имя домена VTP чувствительно к регистру вводимых символов.
После этого S1 начнёт рассылать анонсы VTP на S2 и S3. S2 и S3 имеют настройки по умолчанию с именем домена VTP — NULL, оба эти коммутатора примут CCNA как новое имя домена VTP, так как они находятся в режиме сервера. Коммутаторы же в режиме клиента сначала должны получить правильное имя домена VTP и только затем начнут принимать анонсы VTP для этого домена.
По причинам безопасности пароль домена VTP должен быть сконфигурирован с помощью команды:
vtp password password
Все коммутаторы домена должны иметь одинаковый пароль.

Проверить VTP пароль можно с помощью команды:
show vtp password

Примечание. Установка пароля является опциональной.
Клиент
vtp mode client vtp domain domain-name vtp password password

Конфигурирование VLAN на сервере VTP
Конфигурирование:

Проверка:

Следует обратить внимание, что номер ревизии конфигурации увеличился с 0 до 6, так получилось из-за того, что 3 новых, именованных VLAN было добавлено. Каждый раз когда администратор делал изменение в базе данных VTP, номер ревизии конфигурации увеличивался на 1. Номер увеличивался на 1 когда добавлялась новая VLAN и на 1 когда VLAN присваивалось имя.
Проверка на клиентах
С помощью команд show vlan brief и show vtp status нужно убедиться, что информация синхронизирована с сервером.
При попытке добавить VLAN на клиенте будет выдано сообщение о невозможности сделать это:

Nolmal and Extended VLANs
Типы VLAN

Примечание. Catalyst 2960 может поддерживать до 255 VLAN из нормального и расширенного диапазона. Однако, большое число VLAN влияет на производительность коммутатора. По умолчанию 2960 не поддерживает VLAN из расширенного диапазона.

Если все же требуются VLAN именно из расширенного диапазона, то коммутатор должен быть переведен в режим VTP transparent.


DTP Trunking Modes
Dynamic Trunking Protocol (DTP) помогает коммутаторам устанавливать 802.1Q транковую связь. DTP проприетарный протокол CISCO. Порт коммутатора поддерживает несколько режимов DTP. Режим DTP определяет как порт устанавливает транковую связь с другим портом.
Режим DTP конфигурируется с помощью команды в режиме интерфейса порта:
switchport mode {access | dynamic {auto | desirable} | trunk}

Режимы DTP:

Комбинации режимов DTP:

Следует обратить внимание на интересный момент, если с одной стороны линка режим Trunk, а с другой Access, то остаётся передача информации по VLAN 1, если VLAN 1 является Native VLAN для транкового порта (здесь номер 1 для примера, он может быть другим). Почему так происходит? Порт в режиме Access отбрасывает тегированные 802.1Q кадры, но в Native VLAN кадры передаются без тега.
Примечание. DTP также может быть отключен на транковом порте с помощью команды интерфейса:
switchport nonnegotiate
Просматривать информацию по порту и его режиму DTP можно с помощью команды:
show interfaces fa0/11 switchport
Защита от DTP атак
Порты на коммутаторах CISCO по умолчанию имеют режим Dynamic Auto (или Dynamic Desirable), что позволяет потенциальному злоумышленнику подключить своё оборудование и сформировать транковый порт. Это даёт возможность отправлять кадры в любой VLAN.
Меры защиты:
- Перевести все пользовательские порты явно в режим Access;
- Перевести все транковые порты явно в режим Trunk и отключить обработку DTP пакетов командой switchport nonnegotiate.
Защита от атак на Native VLAN
Атака с двойным тегированием: данная атака невозможна, если пользовательские порты на коммутаторе в режиме Access, поскольку в этом случает тегированный кадр будет отброшен на Access порту. Однако часто используется схема, когда к 1 порту подключен IP-телефон и к нему уже компьютер.
Порт в этом случае будет транковым, злоумышленник посылает кадр с двумя тегами (двойной тег). По прибытии на коммутатор первый тег срезается, а второй остаётся нетронутым. Почему так происходит? Коммутаторы обрабатывают трафик аппаратно с помощью микросхем ASICs, которые в большинстве случаев оптимизированы для просмотра 1 тега.
Далее кадр распространяется через Native VLAN, поскольку целевой MAC назначения находится в другой VLAN, то коммутатор рассылает кадр через все порты, принадлежащие Native VLAN, а также через восходящий транк к другому коммутатору. Поскольку кадр пересылается через транк для Native VLAN, то он пересылается без дополнительного тегирования.
По прибытии на второй коммутатор, коммутатор видит несрезанный второй тег, обрабатывает кадр и кадр попадает в нужную злоумышленнику VLAN (атакуемая VLAN). Таким способом можно отсылать кадры для VLAN, даже если она не разрешена для пересылки между коммутаторами.
Меры защиты:
- Native VLAN не должен совпадать ни с 1 из пользовательских VLANs.
3.2: Troubleshoot Multi-VLAN Issues
Удаление VLAN
Возникают случаи когда нужно удалить VLAN. Если VLAN удаляется на коммутаторе, который является сервером VTP домена, то эта VLAN автоматически удаляется со всех остальных коммутаторов в домене. Если же VLAN удаляется на прозрачном коммутаторе, то удаление происходит только на этом коммутаторе либо на стеке из коммутаторов.
Примечание. Нельзя удалить VLAN 1, 1002-1005.
VLAN 99 присвоены порты с F0/18 до F0/24:

Для удаления VLAN нужно ввести команду:
no vlan vlan_number
После удаления VLAN 99, присвоенные ей порты становятся неактивными и не присутствуют в списке.

Эти порты остаются ассоциированными с удаленной VLAN, пока их вручную не присвоят другой VLAN. В таком состоянии порты называются осиротевшими (orphaned) и не могут нормально функционировать, поэтому прежде чем удалять VLAN нужно назначить порты другой VLAN.
Troubleshoot DTP Issues

Основные команды:
show interfaces fa0/11 switchport
show interfaces fa0/11 trunk
Первая позволяет посмотреть режим DTP (Administrative Mode) и состояние (Operational Mode).
Пример. Если режим DTP для порта Trunk, а состояние Down, значит с другой стороны линка порт в режиме Access.
Вторая команда позволяет просмотреть Native VLAN и VLANs, разрешённые на транке.
Troubleshoot VTP Issues

Дополнительные материалы по VTP:
- https://www.atraining.ru/protocol-vtp2/
- http://xgu.ru/wiki/VTP
3.3: STP
Концепция соединения коммутаторов в стек
Для соединения коммутаторов в стек используется порт StackWise, можно соединить до 9 коммутаторов. Один из коммутаторов в стеке выступает в роли master и контролирует функционирование стека. Стек работает на уровнях 2 и 3 как единое устройство.

Каждый коммутатор имеет в стеке уникальный номер stack member number. Все коммутаторы стека доступны для выбора в качестве master. Если master становится недоступен, то запускается автоматический процесс по выбору нового master. Один из критериев выбора — stack member priority value, коммутатор с самым высоким значением становится master. Одним из преимуществ стека — это управление через единый IP-адрес, адрес является системным значением и не относится ни к master-коммутатору, ни к другим коммутаторам стека. Доступность стека через этот адрес сохраняется после удаления любого коммутатора стека, включая master.
Master хранит running-config и startup-config, таким образом управляется все через одну конфигурацию, как на одиночном коммутаторе. Конфигурация включает настройки уровня system — для всего стека и настройки уровня interface — для каждого коммутатора в стеке. Каждый member стека хранит конфигурацию в целях бекапа.
Стек управляется как единое устройство, включая VLAN’s, пароли и интерфейсы.
Spanning Tree и стек коммутаторов
Другим преимуществом стека является возможность добавить больше коммутаторов в один экземпляр STP без увеличения диаметра STP. Диаметр STP — это максимальное количество коммутаторов, которые вы пересекаете, если вести линию на схеме включения между двумя любыми коммутаторами. IEEE рекомендует максимальный диаметр STP в 7 коммутаторов для таймеров STP по умолчанию. На рисунке диаметр 9 коммутаторов, что нарушает рекомендации IEEE.

Соединение в стек уменьшает диаметр STP. В стеке все коммутаторы используют единый Bridge ID, таким образом на рисунке диаметр STP равен 3.

Рекомендованный диаметр STP базируется на таймерах STP по умолчанию:
- Hello Timer (2 seconds) — The interval between BPDU updates;
- Max Age Timer (20 seconds) — The maximum length of time a switch saves BPDU information;
- Forward Delay Timer (15 seconds) — The time spend in the listening and learning states.
Дополнительную информацию по расчету таймеров в зависимости от диаметра STP в нестандартных ситуациях можно найти:
- //www.cisco.com/c/en/us/support/docs/lan-switching/spanning-tree-protocol/19120-122.html
3.4: Implement HSRP
HSRP Operation
Hot Standby Router Protocol (HSRP) был разработан CISCO чтобы обеспечить избыточность шлюза по умолчанию без какой-либо дополнительного конфигурирования на конечных устройствах. Маршрутизаторы, сконфигурированные с HSRP, представляют собой единый виртуальный шлюз по умолчанию для конечных устройств. Один из маршрутизаторов выбирается в качестве активного. Он выполняет роль шлюза по умолчанию. Второй маршрутизатор находится в режиме standby, если активный маршрутизатор откажет, то standby маршрутизатор автоматически становится активным. На конечных устройствах никакой настройки не требуется.

Active и standby маршрутизаторы предоставляют единый адрес шлюза по умолчанию. Это виртуальный IP адрес и виртуальный MAC адрес, который разделен между обоими маршрутизаторами. Именно этот адрес используют конечные устройства как адрес шлюза по умолчанию. Виртуальный IP адрес назначается администратором. Виртуальный MAC создается автоматически. Независимо от того, какой физический маршрутизатор используется, конечные устройства отправляют пакеты всегда на виртуальный адрес. Однако только активный маршрутизатор может обрабатывать трафик, отправленный на шлюз по умолчанию. Если активный маршрутизатор откажет или же связь с активным маршрутизатором пропадёт, то standby маршрутизатор возьмёт на себя роль активного.
Версии HSRP
Версия по умолчанию для IOS 15 это версия 1. Версия 2 имеет следующие улучшения:
- HSRPv2 расширяет число поддерживаемых групп. HSRP version 1 поддерживает номера групп с 0 до 255. HSRP version 2 с 0 до 4095;
- HSRPv1 использует мультикастовый адрес 224.0.0.2. HSRP version 2 использует IPv4 мультикастовый адрес 224.0.0.102 или IPv6 мультикастовый адрес FF02::66 для рассылки hello пакетов;
- HSRPv1 использует диапазон виртуальных MAC адресов с 0000.0C07.AC00 до 0000.0C07.ACxx, где последние две шестнадцатиричные цифры это HSRP номер группы. HSRP v2 использует диапазон MAC адресов с 0000.0C9F.F000 до 0000.0C9F.Fxxx для IPv4 и с 0005.73A0.0000 до 0005.73A0.0xxx для IPv6 адресов. Для обоих IPv4 и IPv6, последние три шестнадцатиричные цифры в MAC адресе это HSRP номер группы;
- В HSRPv2 добавлена поддержка для MD5 аутентификации, которая вне пределов данного курса.
Примечание. Номера группы используются для расширенного конфигурирования HSRP и не изучаются в данном курсе. Для данного курса используется номер группы 1.
HSRP Priority and Preemption
Роль активного и резервного маршрутизатора определяется в результате выборов HSRP. По умолчанию маршрутизатор с более высоким IP адресом становится активным. Однако всегда лучше знать как заставить вашу сеть будет функционировать в нужных вам параметрах, чем оставлять это на волю случая.
HSRP Priority используется чтобы определить активный маршрутизатор. Маршрутизатор с более высоким приоритетом станет активным. По умолчанию приоритет равен 100. Если приоритеты равны активным будет выбран маршрутизатор с более высоким IP. Для того, чтобы сконфигурировать приоритет нужно использовать команду режима интерфейса:
standby [group-number] priority number
Диапазон приоритета от 0 до 255.
HSRP Preemption
По умолчанию активный маршрутизатор остаётся активным даже если другой маршрутизатор был выключен и включается с более высоким приоритетом.
Для того, чтобы включить preemption и принудительно запустить процесс перевыборов HSRP нужно использовать команду интерфейса:
standby [group-number] preempt
HSRP Preemption — это способность HSRP маршрутизатора запускать процесс перевыборов активного маршрутизатора. С включённым preemption, маршрутизатор с более высоким приоритетом, после загрузки получит роль активного маршрутизатора HSRP и заменит текущий активный.
Preemption позволяет только маршрутизатору с более высоким приоритетом становиться активным. Если приоритеты равны, то даже при наличии боле высокого IP адреса маршрутизатор не заменит текущий активный.

Пример. R1 был сконфигурирован с приоритетом 150, в то время как R2 имеет приоритет по умолчанию 100. Preemption включен на R1. С более высоким приоритетом, в процессе выборов, R1 становится активным и R2 standby. После сбоя электричества R1 становится недоступным и роль активного маршрутизатора принимает R2. После восстановления питания R1 снова online, поскольку preemption на R1 включён и R1 имеет более высокий приоритет, принудительно запускается процесс перевыборов. R1 снова получает роль активного маршрутизатора и R2 снова становится резервным.
Примечание. С выключенным preemption маршрутизатор, который первым загрузится — становится активным, если нет других маршрутизаторов online в процессе выборов.
Состояния HSRP
Маршрутизатор может быть или активным, передающим трафик для сегмента сети, или же резервным, находящимся в режиме ожидания на случай, если активный откажет. Когда интерфейс маршрутизатора сконфигурирован с HSRP или впервые активирован для уже существующей HSRP конфигурации — маршрутизатор отсылает и принимает hello пакеты для того чтобы запустить процесс, определяющий его роль в HSRP группе. В таблице представлены состояния HSRP, которые принимает маршрутизатор в процессе определения своей роли:

Когда выборы Active маршрутизатора закончены, все маршрутизаторы находятся в 3 состояниях:
- Active — 1 маршрутизатор;
- Standby — 1 маршрутизатор;
- Listen — все остальные маршрутизаторы.

Таймеры HSRP
Активный и резервный маршрутизаторы отсылают hello пакеты на мультикастовый адрес группы HSRP каждые 3 секунды по умолчанию (hellotime). Резервный маршрутизатор становится активным, если он не получает hello пакеты от активного маршрутизатора после истечении 10 секунд (holdtime). Можно уменьшить эти интервалы чтобы ускорить процесс перевыборов и повысить отказоустойчивость. Однако, чтобы избежать излишней нагрузки на CPU маршрутизатора и излишней смены ролей, не нужно устанавливать hello таймер менее 1 секунды и таймер удержания менее 4 секунд.
Значение таймеров для всех маршрутизаторов в одной группе должно быть одинаковое. Значения таймеров маршрутизатор может получить от active маршрутизатора.
Изменение таймеров HSRP на интерфейсе:
standby [group-number] timers hellotime holdtime
Параметры команды:
- hellotime — по умолчанию 3 секунды. Значение в секундах, диапазон значений от 1 до 255;
- holdtime — по умолчанию 10 секунд. Значение в секундах, диапазон значений от 1 до 255.
HSRP Configuration Commands
Для того чтобы выполнить конфигурацию HSRP, выполните следующие шаги:
- Step 1. Сконфигурируем версию 2 для HSRP;
- Step 2. Сконфигурируем виртуальный IP адрес для группы;
- Step 3. Сконфигурируем приоритет желаемого активного маршрутизатора со значением выше чем 100;
- Step 4. Сконфигурируем на активном маршрутизаторе preempt для случаев, когда активный маршрутизатор загружается позже резервного маршрутизатора.
Вся конфигурация происходит в режиме конфигурации интерфейса:

Пример конфигурации


Проверка
Чтобы убедиться в правильности настройки HSRP, введите команду:
show standby


Также можно использовать команду:
show standby brief

Примечание. Можно сменить имя группы по умолчанию с помощью команды режима конфигурации интерфейса:
standby [group-number] name group-name
HSRP Troubleshooting
Основные причины сбоев
- Сбой успешного выбора активного маршрутизатора, который контролирует виртуальный IP группы;
- Сбой резервного маршрутизатора в отслеживании активного маршрутизатора;
- Сбой при определении момента когда роль активного маршрутизатора должна быть передана резервному;
- Неправильное конфигурирование виртуального IP группы на конечных устройствах.
HSRP Debug Commands
Команды отладки HSRP позволяют просмотреть текущие операции HSRP, в то время как маршрутизатор дал сбой или же производится административная настройка. Варианты команд отладки HSRP можно просмотреть так:
debug standby ?

Используйте команду debug standby packets для того чтобы посмотреть отправляемые и получаемые каждые 3 секунды пакеты hello. HSRP маршрутизатор мониторит эти пакеты и затем инициирует смену состояния, если не получено пакетов hello за 10 секунд от соседнего маршрутизатора.

Примечание. Поведение HSRP отличается в зависимости от того, был ли активный маршрутизатор выключен администратором или же дал сбой.
Используйте команду debug standby terse, для того чтобы посмотреть события HSRP во время сбоя активного маршрутизатора. R1 дал сбой и R2 принимает на себя роль активного маршрутизатора.

Теперь R1 снова online и поскольку на нём настроено standby 1 preempt, он инициирует смену ролей. R2 активно прослушивает пакеты hello, он теперь в режиме Speak, пока не выясняется, что R1 новый активный маршрутизатор, а R2 новый резервный маршрутизатор.

Теперь интерфейс G0/1 маршрутизатора R1 административно погашен. R1 посылает сообщение сообщение показывающее всем маршрутизаторам HSRP на этом линке, что R1 складывает с себя полномочия активного маршрутизатора. Через 10 секунд R2 принимает на себя роль активного маршрутизатора.


Запомните, что R2 начинает отсчет таймера для R1 (172.16.10.2). По истечении 3 минут таймера 172.16.10.2 destroyed, это означает, что R1 удаляется из конфигурации HSRP.
Наиболее частые вопросы конфигурирования HSRP
Команды debug были приведены чтобы просмотреть операции HSRP. Также возможно использовать эти команды чтобы решить следующие проблемы конфигурирования HSRP:
- HSRP маршрутизатор не подсоединён к тому же сегменту сети. Хотя это может быть проблемой физического уровня, это также может быть вопросом конфигурирования VLAN для подынтерфейса.
- HSRP маршрутизатор сконфигурирован с IP адресом из другой подсети. HSRP hello пакеты — локальные. Они не маршрутизируются между сегментами сети. Таким образом, резервный маршрутизатор не может узнать, что активный маршрутизатор дал сбой.
- HSRP маршрутизаторы сконфигурированы с разными виртуальными IP адресами. А виртуальный IP адрес — шлюз по умолчанию для конечных устройств.
- HSRP маршрутизаторы сконфигурированы с разным номером группы HSRP. Каждый маршрутизатор при этом становится активным.
- Конечные устройства не сконфигурированы с правильным IP адресом шлюза по умолчанию. Хотя это напрямую не связано с HSRP, настройка DHCP сервера с реальным IP адресом одного из HSRP маршрутизаторов, будет означать, что конечные устройства смогут обмениваться пакетами с удаленными сетями только когда этот HSRP маршрутизатор находится в роли активного.
Ссылка на материал, который показывает почему должен использоваться HSRP версии 2 с включенным MD5. В материале есть ошибки конфигурирования, но всё равно он полезен.
3.5: Troubleshoot OSPF
OSPF сложная и объемная тема, перед тем как изучать устранение неполадок OSPF, необходимо обладать следующими знаниями и умениями:
- Понимать как процесс OSPF хранит, выбирает и распространяет информацию о маршрутизации;
- Знать как передается информация внутри области OSPF и между областями;
- Знать команды Cisco IOS покрывающие данную тему.
Структура данных OSPF с несколькими областями
OSPF хранит данные в четырых основных таблицах:
- Interface table — Эта таблица включает в себя список всех активных интерфейсов, которые добавлены для работы с OSPF. LSA типа 1 содержит все подсети ассоциированные с каждым активным интерфейсом;
- Neighbor table — Эта таблица используется для управления смежными соседями через hello и dead таймеры. Сосед добавляется или обновляется когда hello-сообщение получено. Сосед удаляется когда dead таймер истекает;
- Link-state database — Это главная таблица, используемая OSPF для того чтобы сохранять топологию сети. Она включает полную информацию о топологии каждой области, к которой OSPF-роутер подключен, также как и другие пути, которые доступны для того чтобы достигнуть другие сети или автономные системы;
- Routing table — После того как SPF алгоритм рассчитан, лучший маршрут для каждой сети представлен в таблице маршрутизации.
Сценарий
Используется следующий сценарий:


Основные моменты неполадок в OSPF для нескольких областей сводятся к следующим:
OSPFv2
- Ошибка при указании номера области когда вводится команда network, в результате сеть указывается для области, в которой этой сети нет. Решение — исправить номер области;
R3(config)# router ospf 1 R3(config-router)# no network 172.16.1.64 0.0.0.31 area 0 R3(config-router)# network 172.16.1.64 0.0.0.31 area 2
- Указание интерфейса как пассивного, в результате нет отношений смежности на этом интерфейсе. Решение — отключить команду passive-interface для интерфейса;
R1(config)# router ospf 1 R1(config-router)# no passive-interface G0/0
- При при изменении настроек они не вступают в силу или неправильное поведение процесса OSPF. Решение — удалить процесс OSPF, затем заново его добавить:
R3(config)# no router ospf 1 R3(config)# router ospf 1 R3(config-router)# router-id 3.3.3.3 R3(config-router)# network 172.16.1.32 0.0.0.31 area 2 R3(config-router)# network 172.16.1.64 0.0.0.31 area 2
- Различаются таймеры hello и dead интервалов для нескольких маршрутизаторов, в результате нет отношений смежности. Решение — выставить одинаковые (а лучше стандартные) интервалы для всех маршрутизаторов;
R3(config)# router ospf 1 R3(config-router)# router-id 3.3.3.3 R3(config-router)# ip ospf hello-interval 10 R3(config-router)# ip ospf dead-interval 40
- Не передаётся маршрут по умолчанию. Решение — на роутере (обычно это ASBR) ввести команду default-information originate;
ASBR2(config)# router ospf 10 ABR2(config-router)# default-information originate
OSPFv3
Для OSPFv3 учитывается всё вышесказанное для OSPFv2. Также нужно помнить, что процесс OSPFv3 работает через link-local IPv6 адреса.
- Не включена IPv6 маршрутизация. Решение — включить;
R2(config)# ipv6 unicast-routing
- В отличие от OSFPv2 — OSPFv3 настраивается на интерфейсах. Решение — произвести настройку на соответствующем интерфейсе;
R2(config)# interface g0/0 R2(config-router)# ipv6 ospf hello-interval 10 R2(config-router)# ipv6 ospf dead-interval 40
- Если нет IPv4 интерфейсов Loopback или активных физических интерфейсов IPv4 , то маршрутизатор не получит идентификатор роутера для OSPFv3. Решение — всегда указывать вручную router-id для OSPFv3;
ABR2(config)# ipv6 router ospf 10 ABR2(config-router)# router-id 6.6.6.6




