1I tre piani
Quello che fa uno switch si divide in tre categorie, e serve saperle distinguere perché questo capitolo sta quasi tutto nella terza.
| Piano | Di cosa si occupa |
|---|---|
| Data plane | inoltro materiale dei frame: lettura dei MAC, forward, filter |
| Control plane | controlla il data plane: STP, negoziazione di velocità e duplex |
| Management plane | gestione dell'apparato: console, Telnet, SSH, monitoraggio |
2Proteggere l'accesso alla CLI
Di default la porta console non chiede nessuna password, mentre l'accesso via Telnet e SSH è del tutto bloccato. In produzione va sistemato. Ci sono tre approcci, in ordine di serietà crescente.
A. Password condivise
Il metodo più semplice, tipico dei laboratori: una sola password per tutti, senza username. Sulla console:
Switch(config)# line console 0
Switch(config-line)# password <chiave>
Switch(config-line)# login
Il comando login è quello che dice allo switch di chiedere davvero la password. Senza, la password c'è ma non viene mai richiesta.
Per l'accesso remoto si configurano le linee virtuali VTY, di solito numerate da 0 a 15:
Switch(config)# line vty 0 15
Switch(config-line)# password <chiave>
Switch(config-line)# login
Switch(config-line)# transport input all
Per la modalità privilegiata si usa un comando globale:
Switch(config)# enable secret <chiave>
Esiste anche il vecchio enable password, ma enable secret è preferibile perché salva la password cifrata nella configurazione invece che in chiaro.
B. Username e password locali
Ogni amministratore ha le proprie credenziali, create sullo switch. Il vantaggio pratico è nei log: quando qualcuno modifica qualcosa, si sa chi.
Switch(config)# username <nome> secret <password>
Switch(config)# line console 0
Switch(config-line)# login local
Switch(config)# line vty 0 15
Switch(config-line)# login local
login local è il comando che dice di verificare le credenziali contro il database locale invece che contro la password della linea.
C. Server AAA
In una rete aziendale creare gli utenti su ogni singolo switch è ingestibile. Si centralizza su un server AAA (Authentication, Authorization, Accounting), a cui lo switch inoltra le credenziali usando RADIUS o TACACS+.
Da ricordare
- Console senza password di default, VTY bloccate di default.
- Senza
loginla password della linea non viene mai chiesta. enable secretcifra,enable passwordno.login localusa il database di username dello switch.- AAA centralizza tutto con RADIUS o TACACS+.
3Configurare SSH
Cinque passi, e all'esame vengono chiesti spesso proprio in quest'ordine.
Switch(config)# hostname SW1
SW1(config)# ip domain name esempio.com
SW1(config)# crypto key generate rsa
SW1(config)# ip ssh version 2
SW1(config)# line vty 0 15
SW1(config-line)# login local
SW1(config-line)# transport input ssh
Il nome di dominio non è un dettaglio burocratico: insieme all'hostname forma l'FQDN, che serve a generare le chiavi. Senza uno dei due, crypto key generate rsa non parte.
Le chiavi vanno almeno a 768 bit per supportare SSH versione 2, ma nella pratica si usano 1024 o 2048.
L'ultimo comando, transport input ssh, è quello che disabilita Telnet lasciando solo connessioni cifrate.
Per verificare: show ip ssh dice se SSH è attivo e in quale versione, show ssh elenca le sessioni in corso.
4Mettere in sicurezza la WebUI
SW1(config)# no ip http server
SW1(config)# ip http secure-server
SW1(config)# ip http authentication local
SW1(config)# username <nome> privilege 15 password <chiave>
Si spegne l'HTTP in chiaro sulla porta 80 e si accende l'HTTPS sulla 443. Il livello di privilegio 15 serve perché l'utente possa usare tutte le funzioni dell'interfaccia, non solo guardare.
5Indirizzo IP di gestione
Uno switch di livello 2 non usa indirizzi IP per inoltrare i frame, ma gliene serve uno per farsi raggiungere in SSH o per mandare dati di monitoraggio.
Siccome non si può assegnare un IP a una porta fisica di uno switch layer 2, si usa un'interfaccia virtuale, la SVI (Switch Virtual Interface), cioè un'interfaccia VLAN. Di default è la VLAN 1, dove stanno inizialmente tutte le porte.
SW1(config)# interface vlan 1
SW1(config-if)# ip address 192.168.1.200 255.255.255.0
SW1(config-if)# no shutdown
SW1(config-if)# exit
SW1(config)# ip default-gateway 192.168.1.1
Il ip default-gateway è indispensabile: senza, lo switch parla solo con chi sta nella sua stessa subnet, e la gestione da remoto diventa impossibile.
In alternativa può prendere tutto via DHCP:
SW1(config)# interface vlan 1
SW1(config-if)# ip address dhcp
SW1(config-if)# no shutdown
Verifiche: show interfaces vlan 1 per vedere l'interfaccia "up and up" con il suo indirizzo, show ip default-gateway per il gateway, show dhcp lease se l'IP arriva da DHCP.
Da ricordare
- SSH richiede hostname e ip domain name prima di generare le chiavi.
transport input sshchiude Telnet.- L'IP di gestione va su una SVI, non su una porta fisica.
- Senza
ip default-gatewaynon c'è gestione da subnet remote.
6Comandi che salvano i laboratori
Niente di teorico, ma tolgono metà della frustrazione durante le esercitazioni.
| Comando | Cosa evita |
|---|---|
logging synchronous | che i messaggi syslog ti spezzino il comando mentre lo digiti |
no ip domain-lookup | l'attesa di un minuto quando sbagli a scrivere un comando e IOS prova a risolverlo come nome DNS |
exec-timeout 0 0 | la disconnessione automatica per inattività |
history size <n> | di restare limitato ai soli ultimi 10 comandi |
I primi tre vanno sotto line console 0 o line vty, tranne no ip domain-lookup che è globale.
Acronimi da sapere a memoria
CLI, VTY, SVI, AAA, RADIUS, TACACS+, SSH, RSA, FQDN, DHCP, NVRAM, STP.