www.SAMURAJ-cz.com 

26.04.2024 Oto Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Cisco IOS 12 - IEEE 802.1x a pokročilejší funkce

Středa, 24.10.2007 16:42 | Samuraj - Petr Bouška |
V minulém díle jste mohli nalézt popis protokolu IEEE 802.1x a jeho základní konfiguraci (pouze povolení přístupu uživatele k portu) jak na Cisco Switchi, tak na Microsoft IAS serveru (tedy RADIUSu) a Windows klientovi. Tento díl pokračuje dále a popisuje konfiguraci dalších zajímavých možností. Nejzajímavější je patrně možnost zařazovat port do určité VLANy podle autentizace uživatele a jeho zařazení ve skupině v AD nebo povolení přístupu (do určité části sítě) uživateli, který neprošel autentizací.

Přiřazování VLAN

Protokol 802.1x (ve spolupráci s Cisco switchem) nám dává možnost dynamicky zařazovat porty do VLAN podle autentizačních údajů. Takže pak nemusíme konfigurovat správnou VLANu pro každý port (ale přesto je třeba všechny porty zařadit do nějaké VLANy a dobře to rozmyslet) a uživatel získá svoji VLANu na různých místech a počítačích. To ale obecně funguje pouze, když používáme autentizaci uživatele a ne počítače.

Konfigurace v Cisco IOSu

Pokud máme protokol 802.1x správně nakonfigurovaný a chceme přidat podporu pro přiřazování VLAN z RADIUS serveru, použijeme následující příkaz. Ten zařídí, že se pro síťové služby (jako je i přiřazení VLANy) bude používat RADIUS autorizace.

SWITCH(config)#aaa authorization network default group radius

V případě, že RADIUS server nepošle VLAN (nebo je 802.1x vypnuto), tak se port zařadí do své přístupové VLANy (access VLAN, která je nastavena na portu).

Pozn.: Pokud by byla zaslána chybná (například neexistující) VLANa, tak ji switch odmítne.

Pokud potřebujeme řešit problémy či chceme sledovat, jak probíhá komunikace, tak můžeme použít příkaz debug a logovat určité operace, například:

SWITCH#debug dot1x events      // logování dot1x událostí
SWITCH#show logging            // zobrazení logu

Pozn.: Dot1x se nedá použít na trunk porty a dynamické porty.

Konfigurace na MS IAS (RADIUS) serveru

Opět vycházím z toho, že již máme nakonfigurované ověřování uživatelů. Abychom odeslali VLANu, tak musíme pouze přidat tři Vendor-specific atributy. To uděláme v naší Remote Access Policy na záložce Advanced.

Vendor-specific atributy na RADIUSu

Jedná se o následující atributy:

  • [64] Tunnel-Type = VLAN (type 13)
  • [65] Tunnel-Medium-Type = 802 (type 6)
  • [81] Tunnel-Private-Group-ID = VLAN name or VLAN ID

Výše uvedený postup zařídí, že všichni uživatelé/stanice (na které se uplatní tato Remote Access Policy) budou zařazeni do nastavené VLANy. To není příliš dynamické, protože v praxi chceme zařazovat různé uživatele do různých VLAN. Jedno z možných řešení je následující.

Nejprve potřebujeme mít v Active Directory vytvořeny skupiny pro každou VLANu a v nich zařazeny patřičné uživatele. Například když máme VLANy podle oddělení, tak skupinu pro oddělení.

Na RADIUS serveru pak musíme vytvořit Remote Access Policy pro každou VLANu. Většina parametrů bude (asi) stejná. Upravit musíme podmínky (conditions), podle kterých se přiřazuje politika k požadavku. Tam nastavíme podmínku na Windows-Groups a zadáme skupinu nebo skupiny z Active Directory, pro které se nastaví jedna VLANa. Potom nastavíme číslo VLANy na Advanced záložce politiky (jak bylo uvedeno výše).

Policy conditions pro VLAN

Politiky se testují v pořadí odshora (číslo 1) dolů a ve chvíli, kdy dojde ke shodě, tak se politika použije. Takže můžeme nastavit několik politik pro různé speciální skupiny a na konec umístit obecnou politiku, která nastaví VLANu všem ostatním.

Různé politiky pro různé VLANy

Problém s neobnovením adresy na klientovi

Občas může dojít k tomu, že se klient zařadí do správné VLANy, ale nedostane adresu od DHCP serveru. Tento problém se netýká jenom této kapitoly, častěji se vyskytuje třeba u zařazování do hostovské VLANy. Je to způsobeno různými timeouty. Když se klient začne připojovat do sítě, tak pošle DHCP požadavek a zároveň začne proces autentizace. Pokud autentizace trvá déle, než vyprší timeout na DHCP, tak klient nedostane správnou adresu. V případě Windows XP SP1 by měl klient po krátké době provést znovu vyjednání adresy.

Pokud klient nedostane adresu, tak většinou pomůže provedení příkazů pro získání adresy. To je, ale asi pouze pro testování, ostrý provoz bychom měli vyladit, aby fungoval.

ipconfig /release
ipconfig /renew

Podrobnější nastavení dot1x

Automatická re-autentizace

Standardně je tato funkce vypnuta, ale můžeme ji zapnout a potom switch po určité době provádí novou autentizaci klienta. Je řada situací, kdy je tato funkce vhodná, například když se nejprve ověří počítač, tak po přihlášení uživatele se provede reauntetizace. Na druhou stranu se pak reautentizace provádí pořád, což již nemusí být dobré.

Standardní čas pro reautentizaci je 3600 s.

SWITCH(config-if)#dot1x timeout reauth-period 4000  // nastavení času reautentizace na 4000 s
SWITCH(config-if)#dot1x reauthentication            // zapnutí reautentizace na portu

Reautentizaci můžeme vyvolat i ručně na switchi

SWITCH#dot1x re-authenticate interface gigabitethernet0/1

Reset dot1x konfigurace portu

Pokud chceme resetovat dot1x nastavení portu na výchozí hodnoty, můžeme použít příkaz:

SWITCH(config-if)#dot1x default

Pozn.: Tímto se i vypne dot1x na portu, ale nesmaže se nastavení guest a restricted VLAN.

Host mode

Port, kde je zapnuté dot1x, může pracovat v jednom ze dvou módů:

  • Single host - pouze jeden klient může být připojen k portu.
  • Multiple host - více klientů může být připojeno k jednomu portu. V tomto případě se autentizací prvního klienta ověří celý port a ostatní mohou přistupovat.

Defaultně je mód single host, pokud chceme nastavit multiple

SWITCH(config-if)#dot1x host-mode multi-host

Různé timeouty

Pokud switch nemůže autentizovat klienta (například chyba v komunikaci, ale také když klient zadá špatné heslo), čeká zadanou dobu (standardně 60 s) a pak to zkusí znovu. Často se hodí tento čas zkrátit.

SWITCH(config-if)#dot1x timeout quiet-period 10

Switch odesílá požadavek na autentizační údaje (EAP-request/identity rámec) a následně čeká určitý čas (standardně 30 s) na odpověď, pokud ji nedostane, tak znovu odešle rámec s dotazem. V určitých speciálních případech můžeme tento interval (Switch-to-Client Retransmission Time) změnit.

SWITCH(config-if)#dot1x timeout tx-period 15

K tomu se váže také hodnota (Switch-to-Client Frame-Retransmission Number), kolikrát (standardně 2krát) switch odešle dotaz při neobdržení odpovědi.

SWITCH(config-if)#dot1x max-req 5

V případě, že používáme Guest VLANu a v této síti DHCP, tak může dojít k tomu, že autentizační proces a zařazení do Guest VLANy trvá déle, než vyprší timeout pro získání adresy z DHCP, proto se v tomto případě doporučuje překonfigurovat hodnoty quiet-period a tx-period. Přesná hodnota záleží na typu klienta, ale například:

SWITCH(config-if)#dot1x timeout quiet-period 3
SWITCH(config-if)#dot1x timeout tx-period 15

Accounting - účtování

Protokol 802.1x se stará o autentizaci (authentication - potvrzení, že uživatel je ten za koho se vydává) a autorizaci (authorization - řízení přístupu ke zdroji; zde je to například zařazení do VLANy). Funkce můžeme doplnit o účtování (accounting - jinak řečeno logování údajů), které nám uchovává informace o:

  • autentizaci uživatele
  • odlogování
  • link-down
  • re-autentizaci

Microsoft IAS nám automaticky (pokud povolíme v nastavení) ukládá do logu informace při autentizaci uživatele. Pro accounting se používá jiný port (standardně 1646 či 1813) než pro autentizaci a autorizaci (standardně 1645 či 1812). Informace o accountingu se zasílají na RADIUS server pomocí párů atribut a hodnota.

Na switchi můžeme použít jiný zápis pro definování RADIUSu, kde určíme porty pro jednotlivé služby (jinak se použijí defaultní).

SWITCH(config)#radius-server host 192.168.0.10 auth-port 1812 acct-port 1813 key 123456

Pro zasílání accounting informací okolo dot1x na RADIUS použijeme:

SWITCH(config)#aaa accounting dot1x default start-stop group radius

Pozn.: default je pro výchozí seznam (a běžné situace), group radius znamená, že se informace budou zasílat na všechny definované RADIUSy.

Accounting můžeme použít pro řadu údajů, které chceme sledovat a ukládat, takže pár příkladů z jiných oblastí.

Zasílání informací o restartu switche

SWITCH(config)#aaa accounting system default start-stop group radius

Zasílání informací o příhlášení uživatele ke switchi (do exec modu)

SWITCH(config)#aaa accounting exec default start-stop group radius

Zasílání informací o použití příkazů levelu 15

SWITCH(config)#aaa accounting commands 15 default start-stop group radius

Restricted VLAN

Často můžeme chtít, aby uživatel/počítač, který neprojde autentizací (například proto, že u nás nemá účet), byl přesto vpuštěn do nějaké části sítě. Standardně se port přepne do neautorizovaného stavu a blokuje komunikaci. Běžným příkladem je, když přijde nějaká návštěva a potřebuje se dostat na internet. My máme vytvořenu VLANu pro hosty a do ní je chceme automaticky zařadit. Pokud jejich OS podporuje protokol 802.1x, tak se po připojení bude dotazovat na autentizaci (pokud nemají nastaveno automatické vyplnění). A pokud máme nakonfigurovánu restricted VLAN, tak se při zadání špatných údajů (neověření klienta) přepne port do této VLANy.

SWITCH(config-if)#dot1x auth-fail vlan 40            // restricted VLAN je 40
SWITCH(config-if)#dot1x auth-fail max-attempts 1     // počet pokusů o autentizaci (1 až 3)

Pozn.: Pro restricted VLAN musí být port v single-host modu.

restricted VLAN stejně jako guest VLAN můžeme narazit na nějaké problémy. Často pomůže snížení timeoutů, jak je uvedeno výše. Také se vyskytuje problém s přidělením adresy z DHCP, který je také popsán výše.

Guest VLAN

Podobná situace jako restricted VLAN je guest VLAN. Tu využijeme pro klienty, kteří nepodporují 802.1x (například, aby si stáhli klienta pro dot1x). Do guest VLANy klient zařazen, pokud nepodporuje protokol 802.1x (neodešle EAPOL paket ani neodpoví na EAP-request).

SWITCH(config-if)#dot1x guest-vlan 20

Ve starších verzích IOSu do verze 12.2(25)SEE se používalo upravené chování guest VLANy, které bylo v důsledku podobné restricted VLAN. Nejprve bylo třeba pro celý switch přepnout chování.

SWITCH(config)#dot1x guest-vlan supplicant

A následně se normálně konfigurovala guest VLAN pro porty a uplatnila se na neověřené klienty.

SWITCH(config-if)#dot1x guest-vlan 5

Kontrola a debug

Informace o 802.1x

SWITCH#show dot1x interface f0/1       // informace o 802.1x konfiguraci na portu
SWITCH#show dot1x all                  // informace o 802.1x ze všech portů, kde je zapnuto
SWITCH#show dot1x all details          // kompletní informace o všech 802.1x portech
SWITCH#show dot1x all statistics       // statistiky o použití 802.1x na portu
SWITCH#show dot1x all summary          // stručné informace o stavu dot1x portů

Debugging 802.1x

U nasazování 802.1x asi jednoduše narazíme na různé problémy a potřebujeme vidět, co se na switchi děje. Proto je nejlepší použít debugování daných informací.

SWITCH#debug dot1x events              // logování dot1x událostí
SWITCH#debug dot1x all                 // logování všeho okolo dot1x
SWITCH#show debugging                  // zobrazí na co je nastaven debug
SWITCH#undebug dot1x all               // zruší debug všeho okolo 802.1x
SWITCH#show logging                    // zobrazí log

Informace o AAA a RADIUS

SWITCH# show radius statistics         // statistiky z RADIUSu
SWITCH# show aaa servers               // statistiky z AAA a napojení na RADIUS
SWITCH# show aaa method-lists all      // seznam metod a které jsou použité
SWITCH# debug radius accounting        // logování accounting informací posílaných na radius

Zajímavé odkazy

zobrazeno: 29961krát | Komentáře [6]

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] bosomt

    tie porty su asi v jednom pripade zle ;)

    Pro accounting se používá jiný port (standardně 1646 či 1813) než pro autentizaci a autorizaci (standardně 1646 či 1813)

    Úterý, 01.09.2009 14:11 | odpovědět
  2. [2] Samuraj

    odpověď na [1]bosomt: Díky :-) opraveno

    Úterý, 01.09.2009 14:31 | odpovědět
  3. [3] tata_tulen

    Ahoj,

    cisco v novych IOSech dost zmenilo CLI prikazy, takze mnoho tech prikazu uz nefunguje, nebo minimalne nejsou v kongtextovy napovede.

    Pamatoval jsem si temer vsechno pomoci 'dot1x' prikazu a ted uz se dobry dve tretiny veci dela pomoci 'authentication' prikazu (bohuzel uz to na sebe 'deprecated" dot1x nepraskne, jak jsem byl zvyklej, a nez jsem nasel config guide pro aktualni IOS, tak to chvili dalo - buh vi proc neni nejnovejsi jako prvni, je tam nejkaka 12.1(xx), nejnovejsi je 12.2(53) - alespon pro 3560 :))

    Tady je nejnovejsi 802.1x guide, kterej jsem na Cisco nasel:

    http://www.cisco.com/en/US/docs/switches/lan/catalyst3560/software/release/12.2_52_se/configuration/guide/sw8021x.html

    Čtvrtek, 11.03.2010 13:31 | odpovědět
  4. [4] Michal

    Mam dotaz, mam nastaven radius(NAP na w2008) a c2960

    interface FastEthernet0/13

    description Access port VLAN100

    switchport access vlan 100

    switchport mode access

    authentication port-control auto

    dot1x pae authenticator

    spanning-tree portfast

    Vsechno funguje, tak jak by melo, ale neprijde mi normalni, ze pokud se ten PC(wXP) vypne tak se ten C2960 snazi furt posilat pozadavky na identifikaci toho PC.A to zhruba kazdy tri minuty

    3881: 010023: Jul 28 20:22:22.358: %DOT1X-5-FAIL: Authentication failed for client (Unknown MAC) on Interface Fa0/3 AuditSessionID C0A8F8030000000C0506F20E

    3884: 010044: Jul 28 20:22:22.366: %AUTHMGR-5-FAIL: Authorization failed for client (Unknown MAC) on Interface Fa0/3 AuditSessionID C0A8F8030000000C0506F20E

    Tech chyb pokud si zapnu debug na ciscu je vic.Ale prijde mi to, ze se proste stale snazi vsechny radius porty autorizovat.

    Nevite nekdo jak tomu zabranit?Je to normalni chovani, nebo mam nekde neco spatne.

    Jak rikam, vse bezi do doby nez se vypne PC, pak mi to zacne do syslogu generovat ty chyby.

    Diky za jakoukoliv radu

    • na komentář odpověděl [5]MZ
    Středa, 28.07.2010 22:44 | odpovědět
  5. [5] MZ

    odpověď na [4]Michal:

    Ty hlášky "Authentication failed for client (Unknown MAC)" znám. Pokud jsou na portu s vypnutým PC, tak to PC má povolenou funkci vzbuzení přes LAN. Takže PC je vypnuté, ale síťová karta je ve stavu UP a čeká na paket, který by počítač nastartoval. Pro switch se port tváří jako up a posílá žádosti o věření, na ty nepřichází odpověď. Proto port shodí do guest VLANy, protože nemá jak port ověřit.

    Řešením je u všech PC vypnout v BIOSu funkci wake up on LAN. Pak při vypnutí PC se vypne i síťová karta.

    Stejný problém nastává u IP telefonů, pokud za IP telefonem není nic připoeného. Pro switch je port up a switch neví, že k telefonu není nic připojeného, na datové VLANě očekává odpovědi na ověření a port pak dá taky do guest VLANy, protože nic nepřichází.

    Úterý, 21.01.2014 22:03 | odpovědět
  6. [6] Omega

    Problém s neobnovením adresy na klientovi se da vyresit prikazem:

    ip device tracking probe delay 5

    Pak vse nabiha korektne.

    Čtvrtek, 17.04.2014 10:18 | 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