VTP verze 3 Lukáš Zajac, Marek Wasniowski Abstrakt: Práce si klade za cíl popsat a seznámit čtenáře s novými možnostmi protokolu VTP ve své zatím nejnovější verzi 3. Hlavní zaměření se týká rozdílů a novinek oproti předchozím verzím 1 a 2 a podrobněji rozebírá nově zavedený princip ochrany proti přepisu databází. Klíčová slova: VTP, CISCO, VLAN, VTPv3 1 Co je VTP.....................................................................................................................3 2 Vývoj VTP protokolu...................................................................................................4 3 Novinky VTPv3............................................................................................................4 3.1 Základní rozdíly od VTPv1-2 ..............................................................................4 3.2 Role VTPv3..........................................................................................................5 3.3 Princip ochrany proti nežádoucímu přepsání databází.........................................6 4 Základní konfigurace ...................................................................................................7 5 Testování.......................................................................................................................9 6 Závěr...........................................................................................................................12 7 Zdroje informací.........................................................................................................12
květen 2013
1/11
1 Co je VTP VTP = VLAN Trunking Protocol Síťoví správci musí zajistit nové a měnící se požadavky na provozovanou síť. Musí se vypořádat s různorodou a často časově náročnou prací, při které snadno dojde k chybě. Za účelem zefektivnění jejich práce byl navržen protokol VTP, který si klade za cíl usnadnit a zjednodušit práci s VLANy. Jedná se o signalizační protokol na druhé vrstvě ISO/OSI modelu vyvinutý společností CISCO. Usnadňuje práci při přidání, odstranění, změně stavu ( active / suspended ), nebo změně charakteristiky (např. jména ) VLANů. VTP umožňuje správci nastavit VLANy na jednom přepínači ( nastaví databázi VLANů nacházející se v souboru vlan.dat ), který je následně bude propagovat dalším přepínačům v síti. Přepínač může vystupovat v roli VTP serveru nebo VTP klienta. Změny v nastavení se prování na přepínači plnící roli VTP serveru, jenž následně rozešle tyto změny zbylým přepínačům v roli klientů. Tímto se zamezí nekonzistentnímu nastavení VLANů v síti. Na následujícím obrázku 1 je jednoduše ukázán základní princip činnosti VTP.
Obrázek 1: Princip VTP [2]
Aktualizace se šíří pouze ve stejné VTP doméně, skrze porty běžící v režimu TRUNK.
květen 2013
2/11
2 Vývoj VTP protokolu VTP protokol se od svého vzniku vyvinul až do součásné aktuální verze s označením 3. VTPv1 • • •
Podpora pro základních 1024 VLANů. Podpora VLAN pruning. Ethernet, FDDI
Verze 2 je až na pár drobných změn identická s verzí 1, hlavním přínosem je přidání podpory pro Token Ring. VTPv2 •
Token Ring
Velký pokrok nastal až s příchodem třetí verze, která je velmi odlišná od dvou přechozích a přináší velké množství změn a vylepšení. VTPv3 • • • • • • •
Zachovává zpětnou kompatibilitu s verzí 2 a 1. Podpora pro strukturované a zabezpečené prostředí ( privatní VLANy neboli PVLAN ). Podpora pro 4094 VLANů. Ochrana před nechtěným přepsáním databáze při přidání nového přepínače. Volba mezi uchováním v klasickém textu, nebo šifrovaným uložením. Konfigurace zaměřena na porty a ne pouze na celkové schéma. Vylepšeno ukládaní zdrojů a efektivnější předávání informací. Podpora nových databází např. MST ( Multiple Spannig Tree ).
3 Novinky VTPv3 3.1 Základní rozdíly od VTPv1-2 VTPv3 přenáší databáze a nekomunikuje přímo s procesem spravujícím VLANy, jako je tomu u VTPv1-2. Tímto je umožněn přenos jiných databází, než pouze VLAN ( např. MST, do budoucna mohou přibýt další ). Každá databáze může mít svůj vlastní přepínač v roli primárního serveru, nebo lze mít i jeden společný. Změny v databázích je možné provádět pouze na primárních serverech, což zajišťuje ochranu při přidání nakonfigurovaného přepínače do VTP domény, kde v předchozích verzích mohlo dojít k přepsání databází, jestliže měl nově připojený přepínač vyšší verzi databáze. Toto bude podrobněji rozepsáno později. VTPv3 dokáže zpětně komunikovat pouze s VTPv2, pokud někde běží VTPv1 je nutné provést změnu na v2. Přejít na nižší verzi VTP než 3 je možné pouze pokud nepoužíváme MST mode.
květen 2013
3/11
3.2 Role VTPv3 Stejně jako u VTP verze 1 a verze 2, VTP verze 3 využívá koncept rolí jednotlivých síťových zařízení. Kromě třech klasických rolí, známých z předchozích vezí - tj. client, server a transparent, VTPv3 představuje novou čtvrtou roli off. Tato role se již neváže na fyzické zařízení (přepínač atd.), ale přímo na instanci operací VTPv3, tj. na VLAN nebo MST (Multiple Spanning Trees). •
Client Zařízení využívá lokální dočasný úložný prostor ( př. DRAM ) pro uchovávání informací, které pro svůj běh získalo přes VTP. Tyto informace jsou se používají pro aktualizaci ostatních zařízení (př. zařízení typu Server). Lokální konfigurace zařízení v této roli není povolená. Po startu zařízení podává žádost o konfigurační informace z ostatních VTP zařízení. V případě MST je při startu do doby, než přijdou konfigurační informace přes VTPv3 protokol použita výchozí konfigurace MST.
•
Transparent Zařízení využívá lokální permanentní úložný prostor ( př. NVRAM) pro uchovávání lokálně vytvořené konfigurace VLANů ( př. VLAN DB ). Zprávy VTP nejsou ani posílány ven ani vyhodnocovány při příjmu. Revision number lokální konfigurace je vždy 0. Pokud je VLAN 1 nastaven na forwarding, přijímané VTP zprávy jsou přeposílány z trunku, kterým VTP zpráva nepřišla.
•
Off Tato nová role funguje podobně jako role transparent. Na rozdíl od role transparent však zařízení v této roli VTP zprávy nepřeposílá. V rámci VTPv3 lze tento režim nakonfigurovat globálně nebo na jednotlivé porty přepínače ( př. pro trunk ).
•
Server Role server je ve VTPv3 značně rozšířená. V rámci této role ještě rozlišujeme i tzv. subroli primary server, která může být přiřazena pouze jednom zařízení v celé doméně. Zařízení s rolí klient nebo secondary server (subrole pro zařízení role server, které nejsou výchozí server) získávají konfigurační informace z primary serveru. 1. Secondary server ukládá přijatou konfiguraci VLAN v lokálním permanentním úložném prostoru zařízení ( př. NVRAM ) a aktualizuje tuto konfiguraci v ostatních zařízeních v dané doméně. Naproti role server ve VTPv1 a VTPv2, zařízení s rolí secondary server nemůže být manuálně konfigurováno ( CLI, SNMP ), ale může podobně jako client přijímat VTP updates. 2. Jeden server může být povýšen na roli primary server. Změny konfigurace lze provádět pouze na primárním serveru prostřednictvím CLI (telnet nebo SSH) nebo SNMP protokolu. Role primárního serveru pro VLAN databázi a MST databázi může být rozdělena mezi dvěma samostatnými fyzickými zařízeními nebo můžou být obě databáze obslouženy zařízením jedním. Primary server může být v jedné doméně v rámci jedné instance ( VLAN/MST ) vždy pouze jeden.
květen 2013
4/11
3.3 Princip ochrany proti nežádoucímu přepsání databází Pokud přidáme do existující VTP domény nový přepínač, mohl nastat ve VTP verzi 1 nebo 2 problém s přepisem databáze VLANů. Tento problém byl zapříčiněn, že v nově přidaném přepínači byla uložena jiná konfigurace, která měla vyšší číslo verze než zbývající ve VTP doméně, čímž byla tato konfigurace přijata okolními přepínači jako novější a rozšířena po celé VTP doméně. Tento problém řeší VTPv3 tím, že konfigurace lze měnit pouze na přepínači s rolí primárního serveru a okolní přepínače ve VTP doméně přijímají změny pouze od něho. Při připojení nového nakonfigurovaného přepínače do VTP domény, nedojde k žádné výměně databázi, ať má nový přepínač nastavenou jakoukoliv roli. VTP protokol totiž porovnává databáze a narazí na konflikt. To zda je konflikt ve VTP doméně a kterého přepínače se týka zjistíme použitím příkazu #show vtp devices. Pokud je konflikt mezi verzemi, jeho odstranění provedeme tím, že přepínač znovu povýšíme do role primárního serveru. Když je server zvolen jako primární, nejdříve se v celé doméně provede tzv. “sanity check”. Jeho cílem je hledání konfliktních zařízení tím, že hledá, zda již v doméně není jako primární nastavený jiný server, či není konflikt mezi rozdílnými verzemi databází. Pokud jsou konfliktní zařízení nalezena, je generována chybová hláška. Pokud zvolíme, že přepínač přesto chceme nastavit jako primary server, provede se update, který přepíše konfiguraci všech zařízení v doméně - včetně konfliktního. Zajišťuje se tak, ať je v jeden okamžik vždy pouze jeden primary server zároveň. Volba primárního serveru může být provedena i s užitím parametru force, který vynechá sanity check a rovnou přepíše konfigurace všech zařízení v doméně.
květen 2013
5/11
4 Základní konfigurace Je potřeba definovat jméno VTP domény, ve které se má přepínač používat. (config)#vtp domain
Zapnout spanning-tree extend system-id, který povolí běh až 4000 unikátních STP, každý s unikátním ID. (config)#spanning-tree extend system-id A následně můžeme aktivovat samotné VTP 3. (config)#vtp version 3 Zvolíme jakou roli reprezentuje přepínač a jakou databázi bude spravovat. (config)# vtp mode Nastavení hesla pro zabezpečení informací před neautorizovanými přepínači. (config)# vtp password {hidden|secret} Vybraný přepínač nakonec povýšíme do role primárního serveru, ten může být v celé VTP doméně pouze jeden. Pokud zadáme příkaz na jiném přepínači s rolí serveru, aktuální primary server bude přesunut do role serveru a tento přepínač převezme roli primary serveru. #vtp primary [mst|vlan] SW1# vtp primary vlan This system is becoming primary server for feature vlan No conflicting VTP3 devices found. Do you want to continue? [confirm] *Mar 1 00:39:22.919: %SW_VLAN-4-VTP_PRIMARY_SERVER_CHG: 0024.f9be.d980 has become the primary server for the VLAN VTP feature Finálně si ověříme aktuální konfiguraci VTP. #show vtp status SW1# show vtp status VTP Version capable : 1 to 3 VTP version running : 3 VTP Domain Name : cisco VTP Pruning Mode : Disabled VTP Traps Generation : Disabled Device ID : 0024.f99a.cd00 Feature VLAN: -------------VTP Operating Mode : Primary Server Number of existing VLANs : 5 Number of existing extended VLANs : 0 Configuration Revision : 1 Primary ID : 0024.f99a.cd00 Primary Description : SW4 MD5 digest : 0x80 0xDF 0x44 0x76 0x0F 0x17 0x9A 0x62 0xA4 0xC1 květen 2013
6/11
0x29 0x28 0x2E 0x6B 0xE0 0xC8 Feature MST: -------------VTP Operating Mode
: Transparent
Feature UNKNOWN: -------------VTP Operating Mode
: Transparent
Můžeme si také prohlédnout informace ohledně VTP konfigurovaných zařízeních v doméně. #show vtp devices SW1# show vtp devices Retrieving information from the VTP domain. Waiting for 5 seconds. VTP Feature -----------VLAN VLAN
Conf ---No No
Revision -------6 6
Primary Server Device ID -------------- -------------0024.f9be.d980 0024.f99a.cd00 0024.f9be.d980=0024.f9be.d980
Dev. Desc. ---------SW4 SW3
Tento příkaz aktivně prohledává doménu a vyobrazí všechny objevené zařízení. Na dotaz ale odpovídají pouze zařízení typu server a klient, takže v tabulce budou vystupovat pouze tyto role. Tímto příkazem lze také jednoduše zjistit přítomnost konfliktních zařízení ( sloupec Conf. ).
SW1# show vtp devices Retrieving information from the VTP domain. Waiting for 5 seconds. VTP Feature -----------VLAN VLAN
květen 2013
Conf ---Yes Yes
Revision -------6 6
Primary Server Device ID -------------- -------------0024.f9be.d980 0024.f99a.cd00 0024.f9be.d980=0024.f9be.d980
Dev. Desc. ---------SW4 SW3
7/11
5 Testování Za účelem testování jsme vytvořili jednoduché zapojení tří přepínačů Cisco Catalyst 3560 ( IOS verze 12.2(58)SE1 ), které je uvedené na následujícím obrázku 2.
Obrázek 2: Schéma testovacího zapojení
První test spočíval v klasickém zprovoznění VTP mezi třemi přepínači Cisco Catalyst 3560. Nejprve jsme zprovoznili propojení trunk porty a následně provedli nastavení VTPv3, jak je podrobně popsáno v sekci Základní konfigurace tohoto dokumentu. SW1 byl následně nastaven jako primární server pro databázi VLANů. Nastavení ověříme příkazem #show vtp status.
SW1#show vtp status VTP Version capable VTP version running VTP Domain Name VTP Pruning Mode VTP Traps Generation Device ID
: : : : : :
Feature VLAN: -------------VTP Operating Mode Number of existing VLANs Number of existing extended VLANs Configuration Revision Primary ID Primary Description MD5 digest 0x9A 0x62 0xA4 0xC1 0x29 0x28 květen 2013
1 to 3 3 cisco Disabled Disabled 0024.f99a.cd00
: : : : : : :
Primary Server 5 0 1 0024.f99a.cd00 SW1 0x80 0xDF 0x44 0x76 0x0F 0x17
0x2E 0x6B 0xE0 0xC8 8/11
Feature MST: -------------VTP Operating Mode
: Transparent
Feature UNKNOWN: -------------VTP Operating Mode
: Transparent
Na SW1 jsme následně přidali několik VLANů. Viz následující výpis. SW1#show vlan brief
VLAN Name Status Ports ---- -------------------- --------- -----------------1 default active Fa0/1, 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 10 admin active 20 users active 30 servis active 1002 fddi-default active 1003 token-ring-default active 1004 fddinet-default active 1005 trnet-default active Nastavení VLANů na přepínači 1 se automaticky rozešle přes trunk porty na přepínače 2 a 3, na kterých také běží VTP ve verzi 3, a které jsou umístěny ve stejné VTP doméně. Přepínač 2 je nastaven v režimu klient a přepínač 3 v režimu server. Při pokusu o editaci databáze VLANů na přepínači 3 v režimu server obdržíme následující chybovou hlášku: SW4(config)#vlan 40 VTP VLAN configuration not allowed when device is not the primary server for vlan database. Z tohoto je zřejmé, že ve VTPv3 nelze editovat databázi nikde jinde, než na primárním serveru. Nakonec si ještě ukážeme výpis z příkazu #show vtp devices: SW1#show vtp devices
květen 2013
9/11
Retrieving information from the VTP domain. Waiting for 5 seconds.
VTP Feature Conf Revision Primary Server Device ID Dev.Desc. ------------ ---- -------- -------------- -------------- --------VLAN No 6 0024.f9be.d980 0024.f99a.cd00 SW2 VLAN
No
6
0024.f9be.d980 0024.f95e.d9a1 SW3
Z příkazu je patrné, že se ve VTP doméně nacházejí ještě další 2 přepínače se shodnou verzí databáze bez zjevných konfliktů. Další část testu se týká ověření odolnosti proti přepisu databáze. Test spočíval v odpojení přepínače 3, jeho nastavení do role primárního serveru pro VLANy a editace jeho databáze přidáním dalších VLANů. Následně jsme přepínač 3 opět zapojili do sítě a zjišťovali, co se stane. Na přepínači 1 si příkazem #show vtp devices ověříme stav VTP domény. SW1#show vtp devices Retrieving information from the VTP domain. Waiting for 5 seconds.
VTP Feature Conf Revision Primary Server Device ID Dev.Desc. ------------ ---- -------- -------------- -------------- --------VLAN No 6 0024.f9be.d980 0024.f99a.cd00 SW2 VLAN
Yes
8
0024.f95e.d9a1=0024.f95e.d9a1 SW3
Jak lze vidět, ve VTP doméně je nalezen konflikt mezi primárními servery. I přesto, že je přepínač 3 v roli primárního serveru a disponuje vyšší verzí databáze, nedošlo k rozšíření této verze na ostatní přepínače, jelikož ty mají jako primární server zapsaný přepínač 1. Tento problém vyřešíme nastavením přepínače 1 opět do role primárního serveru. V průběhu volby nového primárního serveru budeme informování o nekonzistenci mezi primárními servery a musíme potvrdit, zda souhlasíme s přepisem databází na všech přepínačích na verzí umístěnou v novém primárním serveru.
květen 2013
10/11
6 Závěr VTPv3 je převratným krokem ve vývoji protokolu VTP. Přináší mnoho vylepšení a rozšíření oproti předchozím verzím VTP. Velkým přínosem je ochrana proti přepsání databází, která řeší častý problém s připojením nového přepínače do VTP domény. Nové vlastnosti jsme prakticky testovali na přepínačích řady Catalyst 3560 ( IOS verze 12.2(58)SE1 ), kde jsme se primárně zaměřili na onu ochranu proti přepisu databázi, která citelně chyběla v předešlých verzích VTP. Nastavení a použití není příliš složité a v základu se neodlišuje od předchozích verzí. Pokud vaše zařízení nabízí podporu VTP verze 3, určitě ji využijte, ušetříte si spoustu práce s nastavením a řešením chyb při konfiguraci.
7 Zdroje informací [1] Understanding VLAN Trunk Protocol (VTP). CISCO. [online]. [cit. 2013-04-26]. Dostupné z: http://www.cisco.com/en/US/tech/tk389/tk689/technologies_tech_note09186a0080094c52.shtml [2] VTP Version 3. CISCO. [online]. [cit. 2013-04-26]. Dostupné z: http://www.cisco.com/en/US/prod/collateral/switches/ps5718/ps708/solution_guide_c78_508010.html
květen 2013
11/11