Visualizzazione post con etichetta cisco. Mostra tutti i post
Visualizzazione post con etichetta cisco. Mostra tutti i post

giovedì 4 aprile 2013

Storm Control su Cisco Catalyst 2960

Un "traffic storm", che possiamo riportare in italiano come "tempesta di traffico", è una situazione durante la quale il traffico che attraversa una LAN è talmente elevato da degradarne le prestazioni, con conseguente disservizio. Ovviamente, si tratta di un evento che è bene limitare per quanto possibile, utilizzando meccanismi di Storm Control da configurare sugli switch cui sono connessi host (possibili sorgenti di traffico anomalo). In questo tutorial vedremo come realizzare uno Storm Control su Catalyst Cisco della serie 2960, equipaggiati con IOS 12.2(35).

Lo Storm Control, così come implementato nello IOS Cisco, permette il controllo del traffico di tipo:
  • broadcast;
  • unicast;
  • multicast.
Il funzionamento si basa sul conteggio dei pacchetti che vengono ricevuti su una determinata porta nell'intervallo di 1 secondo, utilizzando una delle seguenti metriche, per ciascuna delle tipologie di traffico:
  • Larghezza di banda (bandwidth) utilizzata in percentuale rispetto al totale teorico disponibile (100%);
  • Numero di pacchetti al secondo;
  • Numero di bit al secondo.
Qualunque sia la metrica utilizzata, la porta viene bloccata quando il traffico raggiunge il limite superiore. La porta rimane in stato di blocco fino a che il traffico non scende al di sotto del limite inferiore, se definito. Se non è impostato alcun limite inferiore, il traffico viene bloccato finché non scende al di sotto del limite superiore. In generale, come è ovvio, più alto è il limite superiore e meno efficace sarà il meccanismo di Storm Control (un limite superiore del 20% consente meno traffico "storm" di un livello del 50%). Il grafico seguente mostra uno schema di traffico entrante in una porta su cui è configurato lo Storm Control.

Fonte: www.cisco.com
Come è evidente, il traffico broadcast eccede il limite massimo impostato durante l'intervallo (durata = 1s) T1-T2 e T4-T5: ciò provoca l'azione dello Storm Control che blocca il traffico nei successivi intervalli temporali, rispettivamente T2-T3 e T5-T6. 

Nei casi estremi, un limite superiore del 100% comporta che tutto il traffico è consentito, mente un valore dello 0% implica che tutto il traffico sarà bloccato. Per default, lo Storm Control è disabilitato e quindi tutto il traffico è consentito, ovvero è come se fosse impostato un limite superiore del 100%.

Lo Storm Control deve essere abilitato sullo interfaccie fisiche dello switch (anche EtherChannel); nell'esempio seguente si riporta la configurazione applicata su un range di porte di un Catalyst 2960, dove è stato necessario limitare il traffico di broadcast al 20% della larghezza di banda totale disponibile:

Switch(config)#interface range GigabitEthernet 0/1 - 20

Switch(config-if-range)#storm-control broadcast level 20

Switch(config-if-range)#storm-control action trap

L'ultimo comando specifica l'azione che deve essere intrapresa dallo switch quando viene raggiunto il limite superiore, scegliendo tra
  • shutdown, che spegne la porta mettendola in error-disable;
  • trap, che invia un trap SNMP. 
Per verificare la configurazione dello Storm Control su utilizza il seguente comando di "show":

Switch# show storm-control [interface-id] [broadcast | multicast | unicast]

Nel caso del Catalyst 2960 configurato nell'esempio questo è l'output prodotto dal comando:

Switch#show storm-control GigabitEthernet 0/5

Interface  Filter State   Upper        Lower        Current
---------  -------------  -----------  -----------  ----------
Gi0/5      Forwarding      20.00%       20.00%        0.00%


Per analizzare più approfonditamente il controllo del traffico sui Catalyst Cisco della serie 2960 si rimanda alla pagina ufficiale della documentazione.

martedì 2 aprile 2013

802.1x su Catalyst 3750 utilizzando daloRADIUS

In questo tutorial viene descritta dapprima la procedura di installazione e configurazione di un server RADIUS, e successivamente il suo impiego per l'autenticazione di host collegati ad un Catalyst Cisco serie 3750 (multilayer switch). Il server RADIUS utilizzato è una implementazione di FreeRADIUS, denominata daloRADIUS, che fornisce dei semplici meccanismi di autenticazione configurabili da interfaccia web. L'intero sistema è scritto in PHP e JavaScript ed è dotato di un database abstraction layer che consente di impiegarlo con i backend maggiormente diffusi: MySQL, PostgreSQL etc. 

Installare daloRADIUS su ESXi


Tutte le informazioni sul progetto sono reperibili all'indirizzo www.daloradius.com, compresa la virtual appliance pacchettizzata in formato OVA (Open Virtualization Archive). Per effettuare il deploy su un Hypervisor VMWare ESXi (nel mio caso versione 4.1) è necessario innanzitutto modificare il file .ovf interno al pacchetto OVA, descrivendo correttamente l'hardware utilizzato, come riportato nella procedura seguente:

Download del pacchetto OVA

Cliccando su questo link, raggiungibile anche dal sito www.daloradius.com, si può scaricare la versione corrente (ultimo aggiornamento settembre 2012) dell'appliance virtuale che nel mio caso ho copiato nella directory /home/marco/daloRADIUS del mio client Linux.

Modifica del contenuto del pacchetto OVA

Affinché il pacchetto OVA possa essere installato su un server VMWare ESXi (nel mio caso versione 4.1) è necessario modificarne il contenuto, e precisamente il file .ovf (Open Virtualization Format) per rappresentare correttamente l'hardware impiegato.

1. estrarre il contenuto del pacchetto OVA, tramite il seguente comando:

#marco@eulero ~/daloRADIUS tar xvf daloRADIUS\ VM.ova

che crea i seguenti file:

daloRADIUS VM-disk1.vmdk
daloRADIUS VM.mf
daloRADIUS VM.ova
daloRADIUS VM.ovf

2. Editare il file daloRADIUS VM.ovf:

#marco@eulero ~/daloRADIUS vim daloRADIUS\ VM.ovf

sostituendo

<vssd:VirtualSystemType>virtualbox-2.2</vssd:VirtualSystemType>

con

<vssd:VirtualSystemType>vmx-07</vssd:VirtualSystemType>

ed inoltre il seguente Item:

<Item>
    <rasd:Address>0</rasd:Address>
    <rasd:Caption>sataController0</rasd:Caption>
    <rasd:Description>SATA Controller</rasd:Description>
    <rasd:ElementName>sataController0</rasd:ElementName>
    <rasd:InstanceID>5</rasd:InstanceID>
    <rasd:ResourceSubType>AHCI</rasd:ResourceSubType>
    <rasd:ResourceType>20</rasd:ResourceType>
</Item>


con questo:

<Item>
   <rasd:Address>0</rasd:Address>
   <rasd:Caption>SCSIController</rasd:Caption>
   <rasd:Description>SCSI Controller</rasd:Description>
   <rasd:ElementName>SCSIController</rasd:ElementName>
   <rasd:InstanceID>5</rasd:InstanceID>
   <rasd:ResourceSubType>Lsilogic</rasd:ResourceSubType>
   <rasd:ResourceType>6</rasd:ResourceType>
</Item


3. Ricalcolare l'hash del file daloRADIUS VM.ovf con il seguente comando:

#marco@eulero ~/daloRADIUS sha1sum daloRADIUS\ VM.ovf

e sostituire il valore calcolato nel file daloRADIUS VM.mf (manifest) nella riga che riporta la direttiva

SHA1 (daloRADIUS VM.ovf)= #VALORE CALCOLATO con sha1sum#

4. Ricreare il pacchetto OVA, dopo aver cancellato il file daloRADIUS VM.ova, tramite il seguente comando:

#marco@eulero ~/daloRADIUS ovftool daloRADIUS\ VM.ovf daloRADIUS\ VM.ova

A questo punto il pacchetto OVA è pronto per il deploy su ESXi: nel mio caso ho utilizzato l'apposita procedura prevista nel client VMWare VSphere Client (Deploy OVF Template...)

Configurazione minimale daloRADIUS


Dopo il deploy della virtual appliance su ESXi è possibile avviare la macchina virtuale che, dopo aver assunto un indirizzo IP mediante DHCP (è possibile, e ovviamente preferibile, configurarlo staticamente), è completamente configurabile via web aprendo la pagina http://<INDIRIZZO_IP_ASSEGNATO>, come mostrato dalla figura seguente:


Per tutte le informazioni relative alle password di default e alla configurazione di dettaglio di daloRADIUS si rimanda alla guida di amministrazione, scaricabile da questo link. Aggiungiamo semplicemente un utente, cliccando su "daloRADIUS Platform" per verificare successivamente l'autenticazione tramite protocollo dot1x su Catalyst Cisco.

Configurazione 3750 per autenticazione 802.1x


Fonte: www.cisco.com
Di seguito l'elenco dei comandi da impartire allo switch per abilitare l'autenticazione dot1x su server RADIUS che, nel mio caso, è stato configurato con l'indirizzo IP statico 192.168.0.98/24 e password pass123:

1. Abilitare AAA:

Switch(config)# aaa new-model

2. Definizione di un server RADIUS esterno:

Switch(config)# radius server host 192.168.0.99 key pass123

3. Definizione di un metodo di autenticazione per 802.1x:

Switch(config)# aaa authentication dot1x default group radius

4. Abilitazione di 802.1x sullo switch:

Switch(config)# dot1x system-auth-control

5. Configurazione della porta che adotterà l'autenticazione 802.1x

Switch(config)# interface Gi1/0/2
Switch(config)# dot1x port-control auto

Il comportamento di default delle porte dove è abilitata l'autenticazione 802.1x è force-authorized, ovvero lo switch è forzato ad autorizzare il traffico di qualunque client si connette, mentre la direttiva auto (come nel mio caso), obbliga il client ad autenticarsi, mediante opportuna applicazione e/o configurazione.

6. Salvataggio della running-config

Switch# copy running-config startup-config

Ci sono momenti, luoghi...

...in cui ogni parola è di troppo. 19 agosto 2012, poco dopo le 7 del mattino, Monte Nuria (RI).