venerdì 19 aprile 2013

Ci sono momenti, luoghi...



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

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.

mercoledì 3 aprile 2013

Scatti d'artista

Uno dei soggetti fotografici che prediligo maggiormente e che, volendo utilizzare una nomenclatura diffusa, può essere fatto ricadere nella cosiddetta fotografia "street", è senza dubbio "l'artista" e più precisamente "il pittore". Non importa se sta immortalando una persona, un paesaggio o facendo una caricatura, ciò che voglio è fissare nel tempo un'arte, un talento. Il soggetto di questi scatti è la mano dell'artista, ed in seconda battuta ciò che sta dipingendo. Inoltre, in questo genere di fotografia preferisco il bianco e nero, che mi permette di far risaltare maggiormente il soggetto, senza la confusione cromatica dello sfondo.

Lo scatto in alto a sinistra è stato fatto a Roma, e difatti l'artista sta dipingendo la Fontana di Trevi; quello in basso a destra è stato fatto in Canada, a Quebec City. Quest'ultimo mi piace particolarmente perché si potrebbe immaginare che la pittrice stia facendo un autoritratto di se da ragazza: infatti, come si nota dalle mani, non era proprio giovanissima. Un'altra cosa notevole, che poi è il motivo per cui ho voluto scattare questa foto, è lo sguardo intenso e penetrante del soggetto pittorico (per vederlo meglio consiglio di cliccare sulla foto per ingrandirla).

Un pezzetto di storia dell'informatica

Fonte: apple-history.com
Oggi, sistemando alcuni documenti in ufficio, mi capita fra le mani una copia del libro "Apple //c, che cosa è, a che cosa serve" di Danny Goodman, edizione Supernova del 1984. Il libro, a quanto mi risulta da una rapida ricerca in Internet, è praticamente introvabile e la premessa è addirittura di un certo Stephen G. Wozniak (Co-fondatore della Apple Computer, Inc. e inventore del primo computer Apple II); la riporto di seguito come memoria storica:


Fin dal principio gli elaboratori della famiglia Apple II sono stati grandi amici dei loro utenti. Essi si sono comportati magnificamente come strumenti di lavoro, hanno incantato tutti con i loro giochi appassionati e meravigliosi e con il software didattico. Hanno soddisfatto persino i più esigenti tra noi, quelli che continuavano a mettere alla prova le macchine fino ai limiti estremi. Man mano che tutti noi imparavamo che cosa dovesse essere un personal computer, l'Apple II continuava a svilupparsi e a migliorare.
L'Apple //c è l'ultimo nato della famiglia Apple II e sotto molti aspetti è la realizzazione di un nostro sogno, quello di creare un Personal computer che possa essere utilizzato ed apprezzato da tutti. Il //c si guadagnerà senz'altro il posto di leader tra i Personal computer e la principale ragione di questo successo sarete voi. L'esperienza di questi anni ci ha insegnato quali siano i desideri e le aspettative degli utenti degli Apple II: l'Apple //c è stato creato proprio come risposta a questi desideri. Per questo motivo, il //c eredita il potente hardware dell'Apple II ed è in grado di utilizzare migliaia di pacchetti software preparati per questa macchina. Oltre a questo, troverete molte novità sul //c, scaturite dall'immaginazione e dalla creatività dei migliori "cervelli" della Apple.
L'Apple //c rende l'elaborazione personale facile, accessibile e vantaggiosa. Il sistema è leggero - pesa soltanto poco più di tre kg - e lo potete perciò portare con voi dovunque, in qualunque momento. Quando avete terminato di usarlo in ufficio, portatelo a casa per giocare con gli amici e con la famiglia. Inoltre l'Apple //c si presenta bene, è molto potente ed è anche accessibile economicamente. Potete attivarlo in pochi minuti, imparare ad usarlo in poche ore ed utilizzarlo per anni. Siamo convinti che sarete veramente soddisfatti di possederlo.
Il mondo è cambiato dall'apparizione del primo Apple II, soltanto sei anni fa. A volte penso che la storia dello sviluppo della Apple - il più colossale "sogno" di successo americano - sia riuscita ad oscurare addirittura l'influenza che gli elaboratori hanno avuto su tutti noi. I calcolatori ci permettono di lavorare con più facilità, di dar sfogo alla nostra creatività, o semplicemente di divertirci. Tutto considerato, la mia maggiore soddisfazione, oggi, è questa: la libertà che i computer Apple hanno procurato a tanta gente.
Una cosa è certa: l'uso del Personal computer può essere divertente ed affascinante. Se ne avete uno, probabilmente, lo sapete già. Se invece accarezzate l'idea di comprarvi un Apple //c, è bene che sappiate che sarà una grande festa.

Per chi volesse sapere di quale computer sta parlando "Woz", basta leggere questa pagina. Si tratta di una macchina con 128 kB di RAM, espandibili fino ad 1 MB.

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).