.. meta:: :language: it :description language=it: Networking Fundamentals: configurazione di switch :description language=en: Networking Fundamentals: switch configuration :keywords: Networking Fundamentals, switch configurations :author: Luciano De Falco Alfano P2/5 Configurazione di switch ====================================== .. contents:: :local: 5.0 introduzione ------------------- 5.0.1 benvenuto ^^^^^^^^^^^^^^^^^^^ **5.0.1.1 capitolo 5 configurazione dello switch**. Il compito dello switch consiste nel dirigere e controllare il flusso dei dati a livello del layer di accesso. Questo livello presenta il requisito della semplicità d'uso, in quanto utilizzato da utenti che possono non essere esperti di informatica. Ma, in quanto esposto agli utenti, è necessario sia anche sicuro. Gli switch Cisco non richiedono configurazione, ma, se necessario, possono essere configurati manualmente ad es. per la velocità delle porte, la banda passante e requisiti di sicurezza. Inoltre posssono essere gestiti localmente o da remoto. In quest'ultimo caso richiedono l'impostazione di un indirizzo IP e del default gateway. **5.0.1.2 attività di classe - stand by me** 5.1 configurazione di base dello switch ---------------------------------------- 5.1.1 configurare uno switch con il settaggio iniziale ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **5.1.1.1 sequenza di avvio dello switch**. Quando di accende uno switch, esegue questa sequenza di avvio: #. viene caricato il POST che effettua la diagnosi di base dell'hardware. #. alla conclusione del POST parte il boot loader. #. il boot loader inizializza la CPU, #. quindi inizializza il file system della memoria flash su scheda madre; #. ed infine individua, carica e avvia il sistema operativo IOS. #. IOS inizializza le interfacce usando i comandi che trova nel file *startup-config* nella memoria NVRAM. L'individuazione del sistema operativo avviene con questo processo: * il boot loader tenta di leggere la sua locazione dalla variabile d'ambiente BOOT, se ha il dato esegue l'attività, * altrimenti ricerca in sistema operativo nel file system della flash una sottodirectory per volta, con logica deep-first. La variabile d'ambiente BOOT si può impostare con il comando:: S(config)# boot system flash:/c2960-lanbasek9-mz.150-2.SE/c2960-lanbasek9-mz.150-2.SE.bin **5.1.1.2 riavviare dopo un crash di sistema**. Il boot loader è dotato di un gruppo di comandi utilizzabili in caso di guasto al file system di avvio. Ci si connette al boot loader come segue: #. connettere un Pc con cavo console alla porta console dello switch; avviare nel PC il software di emulazione terminale con i parametri 9600/8/n/1/n. #. disalimentare lo switch; #. rialimentare lo switch ed entro 15 secondi premere e tenere premuto il pulsante **Mode**; #. quando il *System LED* da flashing green passa brevemente ad ambra e poi a solid green, rilasciare il pulsante *Mode*; #. comparirà il prompt del boot loader: **Switch:**. Con la shell del boot loader è possibile: * formattare il file system della flash; * rinstallare il sistema operativo; * sbloccare una password dimenticata; * visualizzare l'elenco dei file con il comando:: Switch: dir flash: ... **5.1.1.3 indicatori LED dello switch**. I LED che permettono di visualizzare al volo lo stato dello switch differiscono a seconda del modello. Ad esempio, nel modello Catalyst 2960 sono posti nel frontale, sopra le porte, e a sinistra, vi è il pulsante *Mode* e il LED che indica la modalità corrente. Il pulsante *Mode* cambia l'indicazione fornita dal led per la corrispondente porta. Nel seguito si riportano le modalità previste per il catalyst 2960. Viene indicato il relativo led che indica lo stato (nel pannelino del mode button) e successivamente le indicazioni visualizzate dai led di porta in quel particolare stato. * **system LED** - alimentazione e funzionamento, se spento non arriva corrente allo switch; verde -> ok, ambra -> malfunzionamento. * **redundant power system LED** (RPS) - spento -> RPS off, green -> ok, blinking green -> connesso ma non disponibile (altro device alimentato in emergenza), ambra -> guasto, ambra blinking -> RPS sta alimentando lo switch (alimentatore principale guasto). * **port status LED** - è il default mode; se acceso i port led si comportano come segue: green -> link presente, green blinking -> attività in corso, green-ambra alternanti -> guasto al link, ambra -> porta bloccata per evitare il loop dei dati, ambra blinking -> porta bloccata per prevenire un loop possibile nel forwarding domain. * **port duplex LED** - se acceso i port led indicano: green -> full duplex, off -> half duplex. * **port speed LED** - se acceso i port led indicano: off -> 10 Mb/s, green -> 100 Mb/s, green blinking -> 1Gb/s. * **Power over Ethernet mode LED** - spento -> POE disabilitato, blinking amber -> PoE disabilitato ma almeno una porta ha negato alimentazione o ha avuto malfunzionamento, se green i port led indicano: off -> poE off, green -> PoE on, green-amber alternati -> PoE negato (richiesta troppa potenza), blinking amber -> PoE off per guasto, amber -> PoE disabilitato. **5.1.1.4 preparazione di base dello switch per la gestione**. Se lo switch deve essere gestito con accesso da remoto, è necessario impostare un indirizzo IP e netmask. Se la getione avviene da altra rete si deve impostare anche il default gateway. La configurazione riguarda la Switch Virtual Interface (SVI), che, essendo virtuale, non è una porta fisica. SVI è legata al concetto di VLAN (vedi questa :ref:`panoramica delle VLAN <6.1.1-panoramica-riguardo-le-VLANs-label>`). Di default usa la VLAN 1, che colleziona tutte le porte dello switch. Si suggerisce, per sicurezza, di configurare manualmente un'altra VLAN. Si ricordi che in ogni caso lo switch non fa routing IP. Questo indirizzo serve solo per renderlo raggiungibile da un end device. *5.1.1.5 configurazione di base per la gestione dello switch con IPv4**. **Step 1. Configurare la Management Interface** Utilizzando la VLAN 99 come SVI dovremo eseguire i seguenti comandi:: S(config)# vlan 99 # crea la VLAN 99 S(config-vlan)# name accesso-remoto S(config-vlan)# exit S(config)# interface vlan 99 # configura SVI su VLAN 99 S(config-if)# ip address 172.17.99.11 255.255.255.0 S(config-if)# no shutdown S(config-if)# interface fa0/1 # assegna la porta 0/1 a VLAN 99 S(config-if)# switchport access vlan 99 S(config-if)# no shutdown in questo modo il PC collegato alla porta fa0/1 può gestire lo switch da remoto. **Step 2. Configurare il Default Gateway** Se il remoto è veramente tale, il PC di gestione può essere su un'altra rete. In questo caso è necessario impostare un router come default gateway:: S(config)# ip default-gateway 172.17.99.1 **Step 3. Verificare la configurazione** usando:: S# show ip interface brief Interface IP-Address OK? Method Status Protocol FastEthernet0/1 unassigned YES manual up up ... Vlan1 unassigned YES manual administratively down down Vlan99 172.17.99.11 YES manual up up dove si osserva la VLAN 99 con indirizzo IP e avviata. **5.1.1.6 lab - configurazione di base dello switch** 5.1.2 configurare le porte dello switch ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **5.1.2.1 comunicazione duplex**. Nella comunicazione full duplex invio e ricezione dei dati su una porta dello switch può avvenire contemporaneamente. Questo è possibile in LAN micro-segmentate. Una LAN micro-segmentata ha un unico device collegato alla porta dello switch, ed opera in modalità full-duplex. In questo caso non vi è dominio di collisione. La comunicazione half-duplex invece è unidirezionale. Invio e ricezione dei dati devono avvenire in momenti diversi. Le performance sono inferiori anche perché vi possono essere collisioni. Ethernet 1Gb/s e 10Gb/s richiedono connessioni full-duplex, usando circuti diversi del cavo per l'invio e la trasmissione dati. Gli hub Ethernet classici, con linee sherate, hanno un uso dell'ordine del 50 - 60% della banda passante teorica. Uno switch in full-duplex mode permette l'utilizzo del 100% della banda passante teorica, in entrambe le direzioni di trasmissione, dando una possibilità di utilizzo del potenziale del 200%. **5.1.2..2 configurare le porte dello switch a livello fisico**. **Duplex e velocità**. Le porte possono essere configurate manualemnte come segue:: S(config)# interface FastEthernet 0/1 S(config-if)# duplex full S(config-if)# speed 100 Di default il catalyst 2960 è configurato per l'autonegoziazione automatica sia per il duplex che per la velocità. Questa è la configurazione migliore quando non si conosce il tipo di device da collegare, o se il device può cambiare. Quando si connettono device di infrastruttura conosciuti (server, altri switch, ...) è il caso di impostare manualmente la configurazione della porta. In caso di problemi di connessione, controllare questi parametri di collegamento. Se non vi è accordo tra switch ed end device si possono avere problemi di connessione intermittenti. Tutte le porte a fibra ottica, come la 1000BASE-SX operano solo a velocità costante e in full-duplex. **5.1.2.3 auto-MDIX**. Vi sono due tipologie di cavi elettrici di connessione: straight-through o crossover (dritto o incrociato). Di norma si usano cavi incrociati per connettere lo stesso tipo di apparati (switch con switch o PC con PC, e cavi dritti per connettere apparati di tipo diverso (es. PC con switch). Ora le porte di uno switch possono utilizzare una funzione detta *automatic medium-dependent interface crossover* (auto-MIX). Quando questa funzione è abilitata l'interfaccia analizza il tipo di cavo collegato e si configura di conseguenza. Di seguito un esempio per rimettere in autonegoziazione i parametri di una porta [#]_:: S(config)# interface FastEthernet 0/1 S(config-if)# duplex auto S(config-if)# speed auto S(config-if)# mdix auto Per controllare i parametri in questione usare il comando:: S# show controllers ethernet-controller fa 0/1 phy **Nota**. Questo comando non funziona in Packet Tracer. **5.1.2.4 verifica della configurazione della porta dello switch**. I seguenti comandi di visualizzazioen sono utili:: S# show interfaces fa0/1 # stato e configurazione dell'interfaccia FastEthernet0/1 is up, line protocol is up (connected) Hardware is Lance, address is 0030.f230.4701 (bia 0030.f230.4701) ... Full-duplex, 100Mb/s ... 956 packets input, 193351 bytes, 0 no buffer Received 956 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort ... 2357 packets output, 263570 bytes, 0 underruns 0 output errors, 0 collisions, 10 interface resets 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out S# show startup-config S# show running-config S# show flash S# show version S# show history # storia dei comandi S# show ip interface vlan 99 Vlan99 is up, line protocol is up Internet address is 172.17.99.11/24 Broadcast address is 255.255.255.255 Address determined by setup command ... S# show mac-address-table Tra i più usati sono: *show running-config* e *show interfaces interf-id* **5.1.2.5 problemi al network access layer**. Per controllare problemi alla porta si può usare:: S# show interfaces fa0/1 FastEthernet0/1 is up, line protocol is up (connected) .... 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort ... 2357 packets output, 263570 bytes, 0 underruns 0 output errors, 0 collisions, 10 interface resets 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out La prima line dell'output è importante perché indica: * interface status (il primo up) * line protocol status (il secondo up). Una linea operativa deve presentare gli stati up/up. Un down/down indica problemi alla interfaccia. Altri suggerimenti: * up/down - encapsulation type mismatch, problema hw, ...; * down/down - no cavo, interfaccia non abilitata, ... **input errors** riporta le statistiche degli errori nell frame in ingresso. Alcuni errori non sono particolarmente rilevanti ma possono influire sulle prestazioni della rete. errori interessanti: * runt frames - frame ethernet più corte di 64 byte (il minimo ammesso). Di solito sono causate da NIC guaste, ma possono essere causate anche da collisioni. * giants - frame di dimensioni superiori al max ammissibile. * CRC errors - questi si solito sono errori dovuti al mezzo di trasmissione. Ad es. interferenze elettriche, danneggiamenti al cablaggio, ... **Output errors**. Tra questi: * collisions - in half-duplex può essere. Non vi devono essere in full-duplex. * late collisions - collisioni dopo l'invio dei primi 512 bits dlla frame. Questi possono essere dovuti a cavi di lunghezza eccessiva, o errori di configurazione del duplex. queste collisioni non dovrebbero esistere. **5.1.2.6 troubleshooting di problemi al network access layer**. Si seguano queste linee guida. * con il comando *show interfaces interf-id* si visualizza lo stato della porta * se l'intefaccia è down: * controllare che il cavo sia corretto, verificare i connettori, * se l'interfacia rimane down, controlare un eventuale disallineamento delle velocità; eventualmente impostare entrambe le velocità manualmente; * se l'interfaccia è up ma vi sono problemi: * controllae se vi è eccesso di rumore: troppi runts, giants, CRC errors. Trovare e imuovere la sorgente di rumore. Verificare la lunghezza del cavo e controllare il tipo di cavo utilizzato; * se non risulta troppo rumore, controllare le collisioni. Se vi sono, controllare la configurazione del duplex su entrambi gli apparati, eventualmente impostarli entrambi manualmente. 5.2 sicurezza dello switch ---------------------------- 5.2.1 mettere in sicurezza l'accesso remoto ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **5.2.1.1 operatività SSH**. SSH è un protocollo che fornisce una connessione sicura (criptata) verso un device remoto. A differenza di Telnet, i dati trasmessi tramite SSH non possono essere visualizzati in chiaro quando vengono intercettati. Per poterlo utilizzare sul catalyst 2960 è necessario avere una versione di IOS che includa la criptografia. Questa feature è presente nei file IOS con il nome che include la sigla "k9". **5.2.1.2 configurare SSH** **step 1 verificare il supporto SSH** con il comando:: S# show ip ssh un IOS senza supporto SSH non riconosce questo comando. **Step 2 configurare il dominio IP** con:: S(config)# ip domin-name nome-di-dominio **step 3 generare le coppie di chiavi RSA**:: S(config)# ip ssh version 2 S(config)# crypto key generate rsa general-keys modulus 1024 la lunghezza del modulo della chiave di 1024 è ritenuto un buon compromesso tra sicurezza e prestazioni. per cancellare una coppia di chiavi RSA usare il comando:: S(config)# crypto key zeroize rsa **step 4 configurare l'autenticazione dell'utente**. Un utente può essere autenticato localmente llo switch o con l'ausilio di un server. Per l'autenticazione locale:: S(config)# username nome-utente secret password-utente **step 5 configurare le linee vty**:: S(config)# line vty 0 15 S(config-line)# transport input ssh S(config-line)# login local **5.2.1.3 verificare SSH**. Usare un client SSH compatibile (ad es. Putty) per connettersi allo switch. **5.2.1.4 packet tracer configurare SSH** 5.2.2 sicurezza delle porte dello switch ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **5.2.2.1 mettere in sicurezza le porte non utilizzate**. Le porte non utilizzate possono essere disabilitate con il comando:: S(config)# interface range type/1st_port-last_port S(config-if)# shutdown **5.2.2.2 port security: operazioni**. Un modo per aumentare la sicurezza è il *port security* che consiste nel limitare il numero di MAC validi ammessi su una porta: uno o più. Se il MAC è uno, solo quel device si potrà connettere. Se la porta è configurata come *secure port* e si raggiunge il numero massimo di MAC, ogni tentativo ulteriore di connessione genera un segnale di violazione della sicurezza. Le configurazioni possono essere: * static secure MAC address - i MAC sono assegnati manualmente:: S(config-if) switchport port-security mac-address MAC questi indirizzi sono registrati in address table e nel running-config. MAC è il MAC address (48 bit) permesso. * dynamic secure MAC addresses - i MAC sono appresi dinamicamente e registrati solo in address table. vengono rimossi al riavvio dello switch o in caso di malfunzionamento della porta. * sticky secure MAC Addresses - configurati manualmente o appresi dinamicamente, sono memorizzati in address table e in running-config:: S(config-if)# switchport port-security mac-address sticky [maximum MAX] oppure:: S(config-if)# switchport port-security mac-address sticky MAC [maximum MAX] MAX è il numero massimo di indirizzi MAC che lo switch associa alla porta. **sticky secure mac addresses**. Quando si abilita lo sticky learning lo switch converte gli indirizzi appresi dinamicamente (anche precedentemente) in indirizzi *adesivi* aggiungendoli anche alla configurazione running. Se la config. running è copiata in startup, i relativi indirizzi MAC vengono salvati permanentemente e ricaricati al riavvio dello switch. Si può disabilitare lo sticky learning con il comando:: S(config-if)# no switchport port-security mac-address sticky in questo caso i MAC address appresi rimangono nella address table, ma sono rimossi dal running config. **5.2.2.3 port security: violation modes**. Esistono tre possibili configurazioni di una porte in relazione alle violazioni di sicurezza: +----------+--------+-------------+---------------+--------------------+------------+ |violation |forwards|sends syslog | display error | increase violation | shuts down | |mode |traffic |messages | message | counter | port | +==========+========+=============+===============+====================+============+ |protect | no | no | no | no | no | +----------+--------+-------------+---------------+--------------------+------------+ |restrict | no | yes | no | yes | no | +----------+--------+-------------+---------------+--------------------+------------+ |shutdown | no | no | no | yes | yes | +----------+--------+-------------+---------------+--------------------+------------+ * protect - se si raggiunge il limite di MAC permessi, le frame successive con MAC sconosciuto vengono cestinate, finché non vengono rimossi dei MAC registrati o non viene incrementato il numero di MAC permessi. * restrict - se si raggiunge il limite di MAC permessi, si comporta come *protect*, ed in più notifica la violazione di sicurezza. * shutdown - è il default, quando si ha una violazione la porta viene disabilitata. Per riabilitarla è necessario dare il comando *shutdown*, seguito da un successivo *no shutdown*. Queste modalità si impostano con:: S(config-if)# switchport port-security violation {protect|restrict|shutdown} **5.2.2.5 verificare la configurazione port-security**. La verifica serve per controllare che sia settato correttamente il port security e che gli indirizzi MAC indicati siano corretti. Si usa:: S#show port-security interface interf-id Ad esempio, per configurare la porta fa/01 a *sticky MAC address*, e *violation protect*:: S(config)# interface fa0/1 S(config-if)# switchport mode access # obbligatorio S(config-if)# switchport port security # idem: abilita port security S(config-if)# switchport port-security maximum MAX # imposta il numero massimo di MAC associabili alla port S(config-if)# switchport port-security mac-address sticky S(config-if)# switchport port-security violation protect Con questa configurazione per fa0/1 abbiamo:: S#show port-security interface fa0/1 Port Security : Enabled Port Status : Secure-up Violation Mode : Restrict Aging Time : 0 mins Aging Type : Absolute SecureStatic Address Aging : Disabled Maximum MAC Addresses : 1 Total MAC Addresses : 0 Configured MAC Addresses : 0 Sticky MAC Addresses : 0 Last Source Address:Vlan : 0000.0000.0000:0 Security Violation Count : 0 **5.2.2.6 porte nello stato error disabled**. Quando si verifica una violazione di sicurezza in una porta sicura, di default viene disabilitata e messa nello stato *error disabled*. **Dopo** avere verificato ed eliminato la causa della violazione alla sicurezza la porta si può riabilitare dando la sequenza di comandi:: S(config-if)# shutdown S(config-if)# no shutdown **5.2.2.7 packet tracer - configurare il port security in uno switch** **5.2.2.6 packet tracer - trableshooting di Switch port security** **5.2.2.7 lab - configurare le funzioni di Switch security** 5.3 sommario ------------- 5.3.1 conclusioni ^^^^^^^^^^^^^^^^^^^^^ **5.3.1.1 attività - switch trio** **5.3.1.2 packet tracer - sfida di integrazione degli skill** **5.3.1.3 capitolo 5: configurazione di switch** ---------------------- .. [#] Fonti in Internet indicano che quando si imposta `mdix auto`, anche full duplex e speed devono esere in modalità `auto`.