www.SAMURAJ-cz.com 

24.04.2024 Jiří Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Cisco IOS 20 - VLAN access-map - VLAN map - VACL

Pátek, 29.05.2009 15:05 | Samuraj - Petr Bouška |
Access Control List (ACL) je seznam pravidel, která řídí nebo identifikují provoz na nějakém objektu (například port nebo VLAN). VLAN map je rozšíření, jehož základem je ACL, které omezuje provoz v rámci VLANy. Navíc se jedná o veškerý provoz, tedy switchovaný i routovaný. Tento článek popisuje princip, použití a konfiguraci VLAN map.

Obecné informace o ACL, včetně dělení a popisu Standard, Extended a Named ACL, je obsaženo v článku Cisco IOS 8 - Access Control List. Znalost ACL a jejich konfigurace je potřebným předpokladem pro použití VLAN map.

Co je to VLAN map / VACL?

VLAN mapy slouží k řízení (omezování a povolování) provozu v rámci VLANy. Pomocí VLAN map se kontroluje veškerý provoz, který vstupuje do VLANy (třeba přes port nebo z jiné VLANy) a může být zakončený ve stejné VLANě nebo jiné. Takže se pomocí něj kontroluje, jak routovaný provoz (L3, na který se jinak používá Router ACL), tak i bridgovaný - switchovaný provoz (L2, pro který máme Port ACL). Provoz může být kontrolovaný na základě IP nebo MAC adres.

VLAN mapy jsou ve své formě podobné jako route map u Policy Based Routingu. VLAN mapa se skládá z jedné nebo více číslovaných sekvencí. Uvnitř sekvence se používá klíčové slovo match a využije se IP Standard, IP Extended, IP Named Standard, IP Named Extended  nebo MAC Named Extended ACL.

Pozn.: VLAN map nejsou podporovány na nižších řadách switchů, jako je Catalyst 2960.

Vlastnosti VLAN map

  • kontroluje všechny pakety (routované i bridgované - switchované), takže můžeme kontrolovat provoz mezi zařízeními v rámci jedné VLAN
  • pro IPv4 se používají L3 adresy (IP), pro ostatní L2 adresy (MAC)
  • pakety mohou do VLANy vstupovat buď přes switch port nebo přes routovaný port (jiná VLAN přes routing)
  • zpracovávají se v HW = jsou rychlé
  • nepoužívá určení směru in/out - rozlišení provedeme použitím ACL s danou zdrojovou a cílovou adresou
  • VLAN map jsou založené na IP Standard, Extended, Named ACL
  • MAC VLAN map jsou založené na MAC Named Extended ACL
  • samozřejmě můžeme kontrolovat pouze provoz, který prochází switchem, na kterém VLAN map nastavíme
  • pokud VLAN map obsahuje nějakou match podmínku, tak výchozí akce je drop, pokud paket nevyhovuje žádné podmínce
  • prázdná VLAN map forwarduje vše
  • používá metodu First-match - seznam pravidel prochází v daném pořadí a při první shodě provede přiřazenou akci (a dále nepokračuje)
  • není zde možnost logování
  • uvnitř VLAN map používáme ACL k identifikaci provozu, který chceme blokovat nebo povolit, pro identifikaci slouží pouze klíčové slovo permit, deny akce se ignorují
  • uvnitř VLAN map můžeme kombinovat IP ACL a MAC ACL, abychom filtrovali veškerý provoz
  • můžeme používat dohromady Port ACL, Router ACL i VLAN map, ale Port ACL má největší prioritu, potom je Router ACL a teprve poslední VLAN map

Následující obrázek schematicky (z důvodu přehlednosti není vše úplně přesné, například zobrazení sféry VLAN a s tím související aplikace VLAN map na vstupu do VLANy) zobrazuje místa, kde se aplikují (uplatňují) různé typy ACL (s důrazem na VLAN map - VACL), při komunikaci mezi klienty v rámci jedné nebo dvou VLAN. Ve schématu je vidět i možnost kombinace VLAN map a Port ACL při komunikaci z Host A na Host C. A kombinace VLAN map, Router ACL a Port ACL při komunikaci z Host A na Host B. Není zde ale znázorněna preference jednotlivých ACL před jinými.

Schéma aplikace VLAN map, Route ACL a Port ACL

Situací, kdy je vhodné použít VLAN map, je celá řada. Jedná se ovšem o něco složitější aplikaci nežli běžné ACL, takže je třeba domyslet všechny důsledky.  Pokud chceme blokovat komunikaci v rámci subnetu, tak bychom mohli použít Port ACL, ale to bychom museli aplikovat na všechny porty, kdežto VLAN map aplikujeme globálně pro celou VLAN na switchi. Podobně, když chceme blokovat provoz mezi VLANami, tak můžeme použít Router ACL na centrálním L3 switchi/routeru, ale pak nám komunikace dojde z access switche na core a teprve tam se blokuje.

Na závěr ještě jedna úvaha. VLAN map se aplikuje na VLANu lokálně na daném switchi. Takže řídí provoz, který prochází tímto switchem. Pokud budeme mít druhý switch, kde VLAN map neaplikujeme, tak v rámci tohoto switche k žádnému omezení nedojde. Ale pokud na druhém switchi připojíme stanici A, na prvním (kde je VLAN map) stanici B. Potom, když stanice A chce komunikovat se stanicí B, provoz přichází přes trunk port a zde se uplatní VLAN map stejně jako na access portu (nenalezl jsem na internetu potvrzení této myšlenky, ale praktické odzkoušení to ukazuje).

Konfigurace VLAN map v Cisco IOSu

Obecný postup konfigurace:

  1. vytvoříme standard IP, extended IP, named nebo named extended MAC ACL
  2. vytvoříme VLAN map a vložíme akce
  3. aplikujeme na VLANu

Konfigurace VLAN map spočívá v tom, že si nejprve připravíme běžné ACL (standard IP, extended IP, named IP nebo named extended MAC). Více v článku Cisco IOS 8 - Access Control List.

Potom vytvoříme VLAN map s vybraným jménem. Ta se může skládat z více sekvencí, které odlišujeme číslem. Provádí se pak sekvenčně od nižších čísel k vyšším.

SWITCH(config)#vlan access-map Provoz 10  // vytvoří VLAN map Provoz, sekvence 10

Ke každé sekvenci určujeme akci, která se má provést s pakety, které odpovídají ACL (pokud má sekvence alespoň jednu match klauzuli a paket ji neodpovídá, tak se provede zahození drop). Můžeme nastavit zahození drop nebo odeslání forward (to je výchozí akce, takže se nemusí použít).

SWITCH(config-access-map)#action drop  

Dále v sekvenci zadáváme jeden nebo více příkazů match. Buď spolu s klíčovým slovem ip address zadáme IP ACL nebo s mac address zadáme MAC ACL. Do jednoho příkazu můžeme zadat i více ACL oddělených mezerou.

SWITCH(config-access-map)#match ip address 10      // podle jakého IP ACL vybíráme provoz (zde ACL číslo 10)
SWITCH(config-access-map)#match mac address banka  // podle jakého MAC ACL vybíráme provoz (zde ACL jméno banka)

Na závěr aplikujeme VLAN map na určitou VLANu. Můžeme použít i rozsah VLAN pomocí pomlčky či vyjmenování VLAN oddělených čárkou.

SWITCH(config)#vlan filter Provoz vlan-list 100,200-205

Zobrazení informací o nakonfigurované VLAN map můžeme provést (klasicky) nahlédnutím do běžící konfigurace nebo máme k dispozici dva speciální show příkazy.

SWITCH#show vlan access-map // zobrazí VLAN map
SWITCH#show vlan filter     // zobrazí aplikaci VLAN map na VLAN

VLAN map příklad

Zde je uveden komplexnější (umělý) příklad, kde by mohly být patrnější možnosti konfigurace. Ve VLANě 800 je blokovaný ICMP provoz (ping apod.), ale veškerý ostatní provoz je povolen.

SWITCH(config)#ip access-list extended icmp-match
SWITCH(config-ext-nacl)#permit icmp any any
SWITCH(config-ext-nacl)#exit

SWITCH(config)#ip access-list extended match-all 
SWITCH(config-ext-nacl)#permit ip any any
SWITCH(config-ext-nacl)#exit

SWITCH(config)#vlan access-map drop-icmp 10 
SWITCH(config-access-map)#action drop 
SWITCH(config-access-map)#match ip address icmp-match
SWITCH(config-access-map)#exit

SWITCH(config)#vlan access-map drop-icmp 20 
SWITCH(config-access-map)#action forward
SWITCH(config-access-map)#match ip address match-all
SWITCH(config-access-map)#exit

SWITCH(config)# vlan filter drop-icmp vlan-list 800

SWITCH#show vlan access-map
Vlan access-map "drop-icmp"  10
  Match clauses:
    ip  address: icmp-match
  Action:
    drop
Vlan access-map "drop-icmp"  20
  Match clauses:
    ip  address: match-all
  Action:
    forward 

SWITCH#show vlan  filter
VLAN Map drop-icmp is filtering VLANs:
  800
zobrazeno: 23818krát | Komentáře [3]

Autor:

Související články:

Cisco IOS

Velký seriál o operačním systému aktivních prvků firmy Cisco.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

  1. [1] Samuraj

    Mám takové jedno dilema, jestli mi někdo poradíte. Jde o to, zda VLAN map, která neobsahuje žádnou match klauzuli, forwarduje nebo dropuje vše. Uvádím dvě citace z Cisco dokumentace, které vidím jako rozpor.

    If the VLAN map has at least one match clause for the type of packet (IP or MAC) and the packet does not match any of these match clauses, the default is to drop the packet. If there is no match clause for that type of packet in the VLAN map, the default is to forward the packet.

    If the VLAN map is configured with a match clause for a type of packet (IP or MAC) and the map action is drop, all packets that match the type are dropped. If the VLAN map has no match clause, and the configured action is drop, all IP and Layer 2 packets are dropped.

    Pondělí, 08.06.2009 16:46 | odpovědět
  2. [2] Zaram

    odpověď na [1]Samuraj:

    Dle mého z uvedených citací vyplývá, že "default action" je forwardovat vše. Pokud to chci negovat, tak zadám drop. To se ale týká jen situace kdy se jedná o všechny typy packetů

    Pokud mám alespoň jednu podmínku, všechny packety typu které jsou filtrovány pomocí připojeného třeba access listu (v tomto případě IP packety), ale neodpovídají podmínce (permit v acl) mají default action drop. Ty které jsou "match - permit" jsou forwardovány.

    Logika je dle mého taková, že pokud by default action pro všechny typy packetů byla drop, tak by nezkušený admin nadělal v síti více škody než užitku. Příklad: Chtěl by vyfiltrovat všechny ICMP packety, jak je vedeno v článku. Nastavil by vše jak má být, ale ejhle přestalo by mu fungovat např. routování - IS-IS - CLNS PDU by byly vyfiltrovány.

    Jinak klasický příklad toho, že Cisco ve většině volně dostupné dokumentace sice nelže, ale rozhodně se nesnaží ulehčit pochopení dané problematiky. Dokonce bych řekl, že se v tomoto "oboru" se dopracovali téměř k dokonalosti. Často nějaké téma vysvětlí takovým způsobem, že lépe to nečíst, neboť pochopit co píšou zvládne často jen ten, kdo téma již zná(a ten to číst většinou nepotřebuje). A nejen to, dané téma musí znát více do hloubky aby "ocenil" jak mazaně je to napsané. Holt kdo by si pak platil kurzy, kupoval drahé publikace často dost pochybné kvality, kdyby si vše mohl přečíst zadarmo. Aby se časem samuraj-cz nedostal na nějaký black-list, že kazí kšefty;-)

    Pondělí, 05.10.2009 09:49 | odpovědět
  3. [3] Martin

    Jenom jeste doplnim polopaticky (sice pozde, ale pro pripadne dalsi zajemce - pro me osobne totiz byly VACL zpocatku hodne nepochopitelne..

    1) VACL rozlisuji dva typy komunikace IP (IP access listy) a non-IP (MAC access listy)

    2) pokud neni pro dany typ komunikace uvedena match klauzule, je standarni akce na konci mapy forward (pouze pro dany typ)

    3) je-li uvedena match klauzule, je vychozi akce na konci mapy deny (opet pouze pro dany typ provozu). Je to analogie implicit deny v ACL.

    4) deny statementy se v ACL ignoruji -> jde se na dalsi statement v ACL (tzn. default deny v ACL nema u VACL vliv)

    V uvedenem prikladu by tedy nebyla non-IP (L2) komunikace filtrovana.

    Tak me tak napada, prosel by pres VACL pri filtraci non-IP trafficu napriklad CDP nebo STP pokud by nebyl explicitne uveden (resp. well known mac adresy v ACL)? Predpokladam ze ne pokud by byla VACL aplikovana na nativni VLANu. Bohuzel ale nemam "gear" kde to odzkouset.

    Jinak diky za super clanky.. Rad se sem vracim.

    Čtvrtek, 10.03.2011 01:56 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách