RETI – Fondamenti (Cisco based)

RETI – Fondamenti (Cisco based)

Switch e switching
Vlan
Router e routing
WAN
ACL
NAT
Enterprise Network Documentation
Lezioni di Italiano a Monaco di Baviera

Ports/applications

0-1023: well-known ports;
1024-49151: registered ports;
49152-65535: private ports.

20 tcp ftp-data
21 tcp ftp-control
23 tcp telnet
25 tcp smtp
53 tcp/udp dns
67 udp dhcp v4 client
68 udp dhcp v4 server
69 udp tftp
80 tcp http
110 tcp pop3
137 tcp/udp nbns
143 tcp imap4
161 udp snmp
443 tcp https
546 udp dhcp client
547 udp dhcp server

Pila iso/osi

7 application
6 presentation
5 session
4 transport
3 network
2 data link
1 physical

Pila tcp/ip

4 application
3 transport
2 internetwork
1 physical

Wireless – protocol

IEEE 802.11a – 5Ghz – max data rate 54 Mbps – non compatibile con i 2.4 Ghz
IEEE 802.11b – 2.4 Ghz – max data rate 11 Mbps – 46m indoor; 96 outdoor
IEEE 802.11c – 2.4 Ghz – max data rate b54 Mbps – compatibile con 802.11b
IEEE 802.11n – 2.4/5 Ghz – totalmente retrocompatibile – ancora in fase di sviluppo/ultimazione

Wireless – security

 

Lezioni di Italiano a Monaco di Baviera?

http://francescaromano.eu

 

Autenticazione:
open authentication = nessuna autenticazione richiesta
PSK (preshared keys) = ap e client con uguale chiave di criptazione dati
EAP (extensible authentication protocol) = autenticazione che si appoggia ad un server RADIUS
Criptazione dati
WEP (wired equivalency protocol) = chiave a 64, 128, raramente a 256 bits condivisa tra AP e tutte le STAs
WPA (wi-fi protected access) = chiave da 64 a 256 bits dinamica, ovvero generata a nuovo ogni volta che un client stabilisce connessione

Connessioni

dial-up = 56 Kbps
DSL = 512 Kbps e oltre
Cable modem = 5 Mbps – 10 Mbps
Satellite = 128-512 Kbps

Dedicated bandwidth options

medium size business:
T1 = 1.544 Mbps
E1 = 2.048 Mbps

large business:
T3 = 45 Mbps
E3 = 34.368 Mbps

large business with branch in the same city:
Metro Ethernet = 10 Gbps

Planning a network upgrade

Network requirements documentation (inventario dell’esistente):
device name; date of purchase; warranty information; location; brand and model; OS’s; logical addressing information; connection information; security informations.
1. requirements gathering
2. selection and design
3. implementation
4. operation
5. review and evaluation

IDF = intermediate distribution facility MDF = main distribution facility

Classificazione indirizzi IP (RFC1918: address allocation for private internets)

classe A 1-127 /8            privati: 10.0.0.0 – 10.255.255.255 /8
classe B 128-191 /16     privati: 172.16.0.0 – 172.31.0.0
classe C 192-223 /24     privati: 192.168.0.0 – 192.168.255.255
classe D 224-239 multicast
classe E 240-255 experimental use

127.0.0.0 loopback address (privato)
169.254.0.1 – 169.254.255.254 /16 riservato APIPA (automatic private ip addressing)

IPv4 address: 32 bits
IPv6 address: 128 bits (hex)

Negoziazione DHCP

dhcp discover – offer – request – acknoledgement

SWITCH CISCO e SWITCHING in generale

 

 

CAM: content addressable memory → high-speed memory che contiene la MAC address table
Aging time: tempo trascorso il quale lo switch cancella le entry non utilizzate dalla mac address table
Durante una sessione lo switch crea una virtual circuit tra le porte che stanno comunicando.
ASIC: caratteristica harware (e quindi anche software) dei multilayer switch.

Metodi di switching:

Store-and-forward (oggi più comune) → lo switch legge, controlla e stora ogni frame. Controlla il checksum (CRC), e se tutto è ok inoltra il frame.
Cut-through switching → tutto viene switchato in automatico, senza alcun controllo.
Può essere fastforward (il metodo più veloce, che non controlla nulla) oppure fragment-free (quando legge i primi 64 bytes del frame, che sono la misura minima di un frame ethernet – i più piccoli sono generalmente frutto di collisioni, e vengono scartati).
I moderni switch usano la forma mista detta adaptive cut-through switching: iniziano a forwardare i frame con il fast-forward ma controllando eventuali errori. Se gli errori superano un certo numero prestabilito, passano in Store-and-forward switching.

STP (Spanning Tree Protocol):

Si avvia di default sugli switch; è un open standard protocol. Disabilita alcune porte di link ridondati per evitare loops. Si riconfigura dinamicamente al variare della rete di switches.
Il root bridge è il “focal point”, quello switch che manda a tutti gli altri i BPDU (bridge protocol data units) ogni 2 secondi in multicast, che contengono informazioni sulla topologia della rete.
Nella negoziazione ogni porta passa vari stati:
1. blocking →20 sec circa → riceve solo i BPDU ma scarta tutti i frame contenenti altri dati → led steady amber
2. listening → 15 sec circa → calcola quali rotte possono essere usate senza creare loops → non forwarda nulla → led: flash amber
3. learning → 15 sec circa → riceve e processa tutto, impara i mac ma non forwarda nulla → led: flash amber
4. forwarding → processa BPDU e data frames, impara mac-addresses e inoltra i data frames attraverso la rete. → led steady green
Lo stato disabled corrisponde ad un “administratively down”.
Tempo di convergenza: circa 50 sec. → Non è grave solo se la rete è stabile e non sono previsti cambiamenti frequenti.
Implementazioni proprietarie Cisco minimizzano i tempi di convergenza:
PortFast → le access port vanno subito in forwarding state, senza aspettare la convergenza
UplinkFast → accelera la scelta della nuova root-port
BackboneFast → permette velocissima convergenza quando cambia qualcosa nella topologia dello spanning-tree; viene utilizzato nel distribution e nel core layer.

RSTP (Rapid Spanning Tree Protocol)

Open protocol. Permette la riconfigurazione in meno di 1 secondo. Le porte sono o in discarding state (che riassume i primi tre stati dello STP), o in forward state. Introduce il concetto di active topology.

Vari show:

C#show spanning-tree → display root ID, bridge ID, and port states
C#show spanning-tree summary → sommario delle porte
C#show spanning-tree root → status and information about the root bridge
C#show spanning-tree detail → information on the spanning-tree ports
C#show spanning-tree blockedports → view any port that are currently blocked by STP

S# show port security → mostra tutte le porte dove è attivo il port-security
S# show mac-address-table → mostra tutti i mac che lo switch ha imparato e le vlan associate alle porte.

 

Bridge-ID (BID) → identificativo dello switch, composto dal valore di bridge-priority (default 32.768) + mac-address più basso delle sue porte. Viene eletto root lo switch con il BID più basso.
Per variare la bridge-priority (e quindi forzare o meno l’elezione a root-bridge):
S(config)# spanning-tree vlan VLAN-ID priority <0-61440> → N.B. Di default è 32.768.

VLAN

 

Le ACCESS PORTS non creano loops perchè non sono connesse ad altri switches, sono connesse ad hosts terminali all’interno di una singola vlan.
Le TRUNKING PORTS possono connettersi ad altri switches e trasportano dati di varie vlans, quindi potenzialmente possono creare loops.

Vlan statiche

L’amministratore configura manualmente su ogni switch le vlan e le relative porte.
Vlan dinamiche
Appartenere ad una vlan dinamica significa avere un VLAN management policy server (VMPS), che contiene un database che mappa i mac address con le relative vlan di appartenenza. Quando un dispositivo si collega allo switch, il VMPS legge il mac e lo associa ad una certa vlan.

Creare una vlan:

S(config)#vlan <vlan_number> → assegno un numero alla vlan
S(config-vlan)#name <vlan_name> → assegno un nome alla vlan (è una best practice)
S(config)#exit
Assegnare una porta alla vlan:
S(config)#interface fa#/#
S(config-if)#switchport access vlan <vlan_number>
S(config)#exit
Assegnare un range di porte alla vlan:
S(config)#interface range fa#/start_of_range – end_of_range
S(config-if)#switchport mode access
S(config-if)#switchport access vlan <vlan_number>
S(config)#exit
Vari show:
S#show vlan → resoconto dettagliato delle vlan (possibile anche show vlan ID o show vlan NAME)
S#show vlan brief → resoconto più essenziale

IEEE 802.1Q (sintetizzato: dot1q)→ è lo standard per il frame tagging, grazie al quale il frame viene taggato con un campo di 4 byte che identifica la vlan di appartenenza e quindi permette il trunking (il passaggio dei frame da una vlan ad un’altra, quasi come fosse un routing).
Col protocollo 8201q il traffico non taggato diviene appartenente alla vlan nativa (VLAN1 di default).
Porte: access (interne ad una vlan, connesse a devices finali) o trunk (traffico inter-vlan, connesse ad altri switch, standard dot1q – dai Catalyst 6500 series viene supportato anche lo standard Cisco ISL).

Configurare porta trunk:

S(config)#interface fa#/#
S(config-if)#switchport mode trunk
S(config)#switchport trunk encapsulation <dot1q | isl | negotiate> (negotiate negozia l’encaps. di default)
Gli ultimi switch permettono anche il modo dynamic <desirable | auto> → in molti Cisco dot1q è già di default, quindi non occorre configurare quest’ultima parte del protocollo dot1q

Cambiare la vlan nativa (dalla 1 che è quella di default):

In ognuna delle porte trunk :
S(config-if)#Switchport trunk native vlan <vlan_ID>
Quando si cambia la vlan nativa è anche necessario configurare la subinterfaccia del router relativa alla vlan nativa, con:
R(config-subif)# encapsulation dot1q <native_vlan_id> native
Configurazione sotto-interfacce router:
Nella parte di confine, generalmente siamo connessi ad una interfaccia fastethernet del router, che riceve il link trunk dallo switch, e che funge da gateway per le vlan. Su quel link viaggeranno frame provenienti da vlan diverse, quindi con ip diversi. Per questo motivo configurerò varie sottointerfacce logiche di una stessa interfaccia fisica, a cui assegnerò ip address ed encapsulation dot1q. Ecco un esempio:
S(config)#interface fa0/2
S(config-if)#switchport mode trunk
S(config)#switchport trunk encapsulation dot1q
Poi sul router:
R(config)#interface fa 0/1
R(config-if)#no ip address
R(config-if)#no shutdown

R(config)#interface fa 0/10 → numero sottointerfaccia (0/10)
R(config-subif)#encapsulation dot1q 10 → tipo incapsulazione e numero vlan (10)
R(config-subif)#ip address 192.168.10.1 255.255.255.0 – indirizzo rete assegnata alla vlan 10.

Configurare la vlan per il management:

S(config)# interface vlan1 → è la management di default
S(config-if)#ip address <ip address> <subnet mask>
S(config-if)#no shutdown
S(config-if)#exit
S(config)#ip default-gateway <gateway ip address> → setta il default gateway
S(config)#end

Sicurezza: disabilitare funzione http server e shuttare tutte le porte non utilizzate:
S(config)#no ip http server

S(config)#interface range fastethernet 0/2 – 5 , fastethernet 0/11 – 24
S(config-if-range)#shutdown
S(config-if-range)#end

MAC ADDRESS STATICO

S(config)#mac-address-table static <mac address> vlan 1 interface fastethernet <n. porta, es 0/4> → configura il mac collegato all’interfaccia dello switch

STATIC SWITCH PORT SECURITY

S(config)# interface <type> <number>
S(config-if)# switchport mode access
S(config-if)# switchport port-security mac-address <mac address abilitato ad usare interfaccia>
S(config-if)# end

DYNAMIC SWITCH PORT SECURITY

S(config)# interface <type> <number>
S(config-if)# switchport mode access
S(config-if)# switchport port-security maximum <max num di mac che memorizzerà>
S(config-if)# switchport port-security → legge e stora il primo mac che si collega.
S(config-if)# end

STICKY SWITCH PORT SECURITY

S(config)# interface <type> <number>
S(config-if)# switchport mode access
S(config-if)# switchport port-security
S(config-if)# switchport port-security maximum <max num di mac che memorizzerà>
S(config-if)# switchport port-security mac-address sticky
S(config-if)# end → legge e stora i primi mac che si collegheranno e li stora nella startup-config

NB: per verificare la configurazione:
S# show port-security interface <type> <number> → impostazioni interf. specifica
S# show port-security → impostazioni generali della port-security
S# show port-security address → mostra tutti i mac memorizzati e quindi considerati sicuri

VTP (Vlan Trunking Protocol)

Permette la distribuzione e il management del database delle vlan da uno switch (o 2) che funge da server. Agisce all’interno di un dominio che ha nome univoco. Esiste la versione 1 (default) e la 2. La 1 non è compatibile con la 2.
Switches mode: VTP Server Mode (salva le vlan configuration information nella NVRAM e le invia attraverso le trunk port); VTP Client Mode (prende informazioni dal server e aggiorna le sue tabelle, se il numero di revisione dell’advertisement è superiore al proprio; inoltra poi i messaggi attaverso le trunk); VTP Transparent Mode (ignora tutte le informazioni ricevute pur inoltrandole sulle trunk; non manda aggiornamenti o richieste in seguito a variazioni nella propria vlan; è una sorta di “ripetitore”). Di default gli switches sono in server mode.
VTP Revision Number: per non incorrere in grossi problemi occorre azzerare il numero di revisione di uno switch prima di inserirlo in un dominio VTP → inserendolo in transparent mode e poi in client o server, oppure cambiando il nome di dominio vtp e poi rimettendo quello appropriato.
Tipi di messaggio VTP:
Summary advertisements: ogni 5 minuti o ogni volta che varia qualcosa nel dominio vtp; contengono nome di dominio vtp e il numero di revisione, che viene incrementato ad ogni variazione nel dominio vtp; gli switch che ricevono il summmary e si accorgono che il numero di revisione è più alto del proprio, lanciano un advertisement request.
Advertisemente requests: richiesta di informazioni sulla vlan.
Subset Advertisements: fornisce informazioni sulle vlan, permettendo agli switches di aggiornarsi.

VTP – Configurare lo switch server:

S1(config)# vtp domain <domain_name>
S1(config)# vtp mode server
S1(config)#vtp password <password> → facoltativo, è una best practice
S1(config)# end

VTP – Configurare lo switch client:

Dopo aver configurato le varie vlan, le porte access e quelle trunk:
S2(config)#vtp domain <domain_name>
S2(config)#vtp password <password> → facoltativo, è una best practice
S2(config)#vtp mode client

Aggiungere un nuovo switch al dominio VTP:

E’ buona prassi inserirlo dapprima il transparent mode, oppure con un altro nome di dominio, per azzerare i contatori del numero di revisione. Poi inserire i dati giusti.
S(config)# vtp domain <domain_name>
S(config)#vtp mode <server | client | transparent>
S(config)#vtp password <password>
S(config)#end
S#wr
S#show vtp status → per vedere il numero di revision number
S#show vlan → per vedere se ha preso le informazioni sulle vlan dal server (o se sono ben impostate)
S#show vtp password → per vedere la password
S#show vtp counters → per vedere i contatori dei messaggi vtp
S#reload → per rebootare lo switch

ROUTER CISCO e ROUTING in generale

 

Bootup process:

– POST: testa l’hardware e avvia il BOOTSTRAP
– Viene localizzato (nella flash memory come di default, ma anche in un tftp server o altrove, come indicato nella startup-config) , avviato e caricato l’IOS software nella ram.
– Viene localizzato ed eseguito lo startup configuration file (nella NVRAM) oppure, se questo non è trovato, entra in setup mode.
Tutte le variazioni sono inserite nella running-config (volatile: nella RAM)

R> show version → tutte le informazioni relative al software e all’hardware del dispositivo. C’è anche il configuration register che indica come deve bootare il dispositivo (es 0x2102: boot da flash in NVRAM)

Se non si avvia il router entra in rom-monitor dove è possibile dare i comandi:
dir flash → localizza l’IOS image, in modo da poter poi dare (ad esempio):
rommon1 > boot flash:c2600-is-mz.121-5

R#reload → riavvio del software de router

Troubleshooting se router non si avvia:

R> show version → controllo il configuration register
R> show startup-config → controllo se ci sono indicazioni di cercare l’IOS da qualche altra parte (cerco in boot system…)

Tipi di encapsulation:

HDLC (Hight-level data link control)
FRAME RELAY → percorso logico: quello fisico è shared fra + utenti
PPP (point to point protocol) → +costosa connessione diretta sempre attiva

Configurazione:

– in user exec mode (R>) posso dare vari show, ping, traceroute
– in privileged exec mode (R#) posso configurare tutti i parametri.
R> enable → entro in privileged exec mode (o semplicemente en)
R# configuration terminal (o conf t) → entro in modalità configurazione globale

Nominare il dispositivo
R(config)# hostname <hostname>

N.B. Al termine della configurazione salvare dalla RAM al disco:
R#copy running-config startup-config (oppure semplicemente wr)

Interfacce:
R(config)# interface <type> <number> → entro nella configurazione dell’interfaccia
R(config-if)#ip address <ip address> <subnet mask> → configuro indirizzo logico
R(config-if)#no shutdown → alzo l’interfaccia
R(config-if)#description <description> → permette di inserire descrizione (label) dell’interfaccia
Nel caso siano interfacce seriali vanno configurati anche l’encapsulation (hdlc, frame relay o ppp) e il clock (nella DCE (femmina); generalmente 56000 o 64000):
R(config-if)#encapsulation <encapsulation type>
R(config-if)#clock rate <clock rate>

R# show ip interface brief → vedi configurazioni logiche interfacce
R#show history → vedo ultimi 10 comandi della CLI
R#terminal history size → imposto quanti comandi deve tenere nella history
Vari show:
running-config –
interfaces (a livello 1 e 2) –
ip interfaces brief (a livello 3) –
arp –
ip route –
protocols (protocolli interfacce) –
ip protocols (protocolli di routing) –
version –
cdp neighbors (mostra i vicini) –
cdp neighbors detail (mostra tutti i dati dei vicini) –
session (mostra sessione telnet) –
ssh (mostra connessioni ssh)

R(config)#banner motd #x..y..z..# → setta messaggio da visualizzare al login del router
R(config)#banner login #x..y..z..# → simile a quello sopra

R(config)#logging synchronous →toglie messaggi non voluti dalla CLI
R(config)#no ip domain-lookup → impedisce al router di cercare di risolvere i nomi a lui sconosciuti collegandosi ad un dns server (fa perdere un sacco di tempo)

Password e security:

Passwords:
R(config)#enable password <password> → configura password di enable in chiaro
R(config)#enable secret <password> → configura password di enable criptata

R(config)#line console 0
R(config-line)#password <password>
R(config-line)#login → imposta password per la console

R(config)#line vty 0 4
R(config-line)#password <password>
R(config-line)#login

R(config)# service password-encryption → cripta tutte le password

Rotte:

Configurazione rotta default
R(config)# ip route 0.0.0.0 0.0.0.0 <GATEWAY(ip oppure interfaccia)>
Configurazione rotta statica
R(config)# ip route <IP> <MASK> <GATEWAY (ip next hop oppure interfaccia)>
Configurazione di una floating static routes (rotta statica di backup)
R(config)# ip route <IP> <MASK> <GATEWAY (ip oppure interfaccia)> 200 → 200=AD

DHCP

R(config)# ip dhcp pool <pool name or number (label)>
R(dhcp-config)# network <network address> <subnetmask>
R(config)#ip dhcp excluded-address <from ip addr> <to ip addr>
R(dhcp-config)# domain name <name>
R(dhcp-config)# dns-server <primary dns ip addr> <secondary dns server ip addr>
R(dhcp-config)# default-router <default gateway ip address> → default gateway dei clients
R(dhcp-config)# lease <days><hours><min> | <infinite>
R(dhcp-config)# end (or exit)

R# show ip dhcp binding → vedi indirizzi assegnati (utile per toubleshooting)
R# show ip dhcp conflict → visualizza eventuali conflitti nell’assegnazione indirizzi dhcp
Quando il dhcp server si trova in una subnet diversa da quella degli host, bisogna utilizzare in comando “ip helper-address <ip address>” sull’interfaccia gateway della lan degli host. In tal modo le richieste dhcp vengono forwardate al server dhcp e gli ip assegnati dal server stesso vengono anch’essi regolarmente forwardate verso gli host.
R(config-if)# ip helper-address <ip address>

BACK UP CONFIGURAZIONE SU TFTP SERVER I

R# copy startup-config tftp → vengono poi chiesti i parametri del server tftp

RESTORE LA CONFIGURAZIONE DA TFTP SERVER

R# copy tftp running-config

 

DEBUG

Per abilitare la modalità di debug (registra e visualizza il passaggio di pacchetti icmp, come i ping):
debug ip icmp
oppure genericamente
debug ip <protocollo (rip, icmp…)>

PROTOCOLLI DI ROUTING: RIP

AD:120
(Routing Information Protocol) – cat. “distance vector”, max 15 hops, small business-multiple routers
Updates su 224.0.0.9 (UDP port 520) con intera tabella di routing, ogni 5 secondi + triggered update. Summarizza di default.
Implementare RIP:
R( config)# router rip
R( config-router)# version 2
R( config-router)# network <prima rete da pubblicare>
R( config-router)# network <seconda rete da pubblicare> → etc. etc.
R( config-router)# end
Scelta di tipo di update (da configurazione interfaccia):
R( config-if)# ip rip send version <1 | 2 | 1 2>
R( config-if)# ip rip receive version <1 | 2 | 1 2>
R#debug ip rip → mostra in tempo reale tutti gli update inviati e ricevuti
Inserire rotta di default negli update:
R(config-router)# default-information originate
Inserire rotte statiche negli update:
R(config-router)# redistribute static
Impedire ad una interfaccia di inviare-ricevere update di routing:
R(config-router)# passive-interface <type> <number>
Vedere rotte conosciute dal protocollo rip:
R(config)# show ip rip database
Vede gli update in tempo reale:
R(config)# debug ip rip

PROTOCOLLI DI ROUTING: EIGRP

AD:90
Proprietario Cisco. cat. “distance vector”. Supporta VLSM and classless routing; MAX 224 HOPS;
La metrica è composta ed utilizza bandwidth, delay, reliability and load.
Usa il logaritmo DUAL per prevenire loop; veloce convergenza grazie agli bounded updates; mantiene tavole multiple; forma le aidacenze con i vicini; mantiene le rotte successor e feasible successor; fa il load balancing; usa vari tipi di pacchetti per una veloce convergenza; usa l’RTP (Reliable transport protocol) per il supporto a qualsiasi protocollo di Leyer 4. Summarizza di default.
– Ogni router manda periodicamente degli Hello Packets (multicast ogni 5 o 60 secondi) ai vicini per stabilire con loro l’adiacenza. Manda poi sempre ai vicini i Bounded Updates (multicast 224.0.0.10, vedi più sotto): degli aggiornamenti solo relativi ai cambiamenti nelle reti di sua pertinenza. I vicini aggiornano la loro table e inoltrano a loro volta i cambiamenti ai loro vicini.
Ogni route ha tre table:
1. neighbor table: con le informazioni dei router direttamente connessi e relative interfacce e indirizzi ip → show ip eigrp neighbors details
2. topology table: con informazioni su tutte le rotte imparate da ogni vicino. DUAL calcola le rotte con minore costo, dette successor. Tra le successor (con costo uguale o anche diverso) fa il load balancing. Calcola anche le feasible successor, rotte di backup che vengono inserite nella route table, se la rotta primaria fallisce. N.B. Passive = rotta in funzione; Active = durante il ricalcolo di DUAL. Tra parentesi tonde troviamo (feasible distance/Advertised, o reported distance).
→ show ip eigrp topology
3. routing table: mostra solo le rotte “migliori”, le successor routes. Tra le quadre troviamo AD/feasible distance)

EIGRP updates nel dettaglio:
a. Acknowledgement: unicast, corrisponde ad un “ok, ricevuto!”
b. Update: info su cambiamento rete; se si forma nuova adiacenza sono in unicast, altrimenti multicast
c. query: inviato ai vicini de una rotta cade. Aiuta DUAL a calcolare la nuova successsor; uni o multicast
d. Reply: unicast, risposta ad una query.
Implementare EIGRP:
E’ necessario dare a EIGRP il numero di AS:
R( config)# router eigrp <AS_number> → <AS_number> da 1 a 65535
R( config-router)# network <prima rete da pubblicare>
R( config-router)# network <seconda rete da pubblicare> → etc. etc.
R( config-router)# exit
disabilita auto summarizzazione:
R(config-router)# no auto-summary
Summarizzazione manuale:
R(config)#interface <type> <number>
R(config-if)#ip summary-address eigrp <AS_number> <rotta sammarizzata> <subnetmask>
Criptazione degli updates, con md5:
Da impostare su tutti i router che partecipano ad eigrp
R(config)#key chain <keychain> → imposta il portachiavi
R(config-keychain)#key 1 → entro in configurazione chiave (o password)
R(config-keychain-key)# key-string <key_string> → imposto la key-string (o password)
R(config-keychain-key)#end
R(config)# interface <type> <number>
R(config-if)# ip authentication mode eigrp <AS_number> md5 → configuro metodo criptazione sul link
R(config-if)# ip authentication key-chain eigrp <AS_number> <keychain> → applico la password al link

PROTOCOLLI DI ROUTING: OSPF

AD:110

Link-state protocol. Divide il network in aree (ogni area: max 50 routers). Tutte le aree costituiscono l’OSPF autonomous system. Manda update solo quando si verificano dei cambiamenti nella rete. Un full-update è previsto solo ogni 30 minuti. Ogni router genera una mappa completa di tutta la rete, vista dal suo punto di vista. NON summarizza automaticamente. La metrica è basata sulla bandwidth. Più alta è la bandwidth e più basso è il costo.

Fastethernet and faster costo: 1
ethernet costo: 10
E1 costo: 48
T1 costo:64
512 kbps costo: 195
256 kbps costo: 390
128 kbps costo: 781
64 kbps costo: 1562
56 kbps costo: 1785

Ogni router manda ai suoi vicini gli LSA (link-state advertisements) con informazioni sullo stato dei suoi links. Quando un router riceve le indormazioni su tutti i link dell’area, utilizza l’SPF algorithm (Dijkstra’s alg.) per generare un topological tree, a map of the network. Ogni router vede se stesso come root di quell’albero. Il topology database stora le informazioni del SPF tree. Le rotte con minore costo vengono inserite nella routing table.
La convergenza avviene quando:
1. tutti i router ricevono informazioni su ogni destinazione della network
2. SPF alg. ha processato tutte queste informazioni
3. tutte le routing tables sono state aggiornate.
Gli update sono inviati solo quando avvengono dei cambiamenti nella rete.
Ogni router stringe con i vicini una adiacenza, che è full quando hanno sincronizzato pienamente i loro database e tutti i settings matchano.
L’adiacenza inizia con un hello packet (multicast 224.0.0.5 – ogni 10 secondi in ethernet, ogni 30 secondi per link non broadcast).
In un ambiente broadcast, per diminuire la quantità di traffico, OSPF nomina un designated router (DR) e un backup designated router (BDR). DR e BDR ricevono da tutti gli update (sul multicast 224.0.0.6) e poi li diffondono a tutti (al multicast 224.0.0.5). Gli altri router sono detti DROther.
Viene eletto DR il router con il router-ID più alto. Il secondo viene eletto BDR.
Il router ID è un indirizzo ip che viene determinato:
1. manualmente con il comando router-id
2. se non viene settato un router id, viene preso l’indirizzo più alto delle loopback
3. se non ci sono loopback alzate, viene preso l’indirizzo più alto delle interfacce fisiche SIA CHE PARTECIPINO ALL’AREA OSPF, SIA CHE NON PARTECIPINO.
Per forzare l’elezione di DR e BDR, si può usare il comando ip ospf priority number (da 0=non verrà mail eletto a 255=elezione sicura).
Reti identificate da OSPF:
1. Broadcast multiacces networks (Ethernet): vengono eletti DR e BDR
2. Point to point networks (serial, T1/E1): non vengono eletti DR e BDR
3. NBMA – Nonbroadcast multiaccess networks (Frame Relay, ATM): due possibilità per OSPF:
a. Simulated broadcast environment: viene simulato un enrironment broadcast, con elezione di DR e BDR. I neighbors devono essere definiti staticamente.
b. Point-to-point environment: niente elezione di DR e BDR. I neighbors devono essere definiti staticamente.
Implementare OSPF:
E’ necessario dare a OSPF un numero di processo (con valore solo locale), e alla rete il numero di area:
R( config)# router ospf <processo_id> → <processo_id> da 1 a 65535
R( config-router)# network <network_address> <wildcard-mask> area <area_id>
R( config-router)# exit
Autenticazione criptata con md5 (esempio)
R(config)# interface serial 0/0/0
R(config-if)# ip address 10.1.1.1 255.255.255.0
R(config-if)# ip ospf message-digest-key 10 md5 areapassword
R(config)# router ospf 18
R(config-router)# network 10.1.1.0 0.0.0.255 area 0
R(config-router)# area 0 authentication message-digest

R(config)# interface serial 0/0/0
R(config-if)# ip address 10.1.1.2 255.255.255.0
R(config-if)# ip ospf message-digest-key 10 md5 areapassword
R(config)# router ospf 25
R(config-router)# network 10.1.1.0 0.0.0.255 area 0
R(config-router)#area 0 authentication message-digest

Configurare l’interface priority:
R(config)#interface <type> <number>
R(config-if)# ip ospf priority <priority_number> → da 0 a 255 (0=mai bridge 255=sicuramente bridge)
Configurare il router id:
R(config)# router ospf 1
R(config-router)# router-id 10.1.1.1
N.B. Dopo aver variato il router id o la priority di un’interfaccia, è necessario dare un clear ip ospf process perchè i cambiamenti abbiano effetto.
Configurare l’OSPF cost:
R(config)#interface <type> <number>
R(config-if)#bandwidth <56 | 64 | 256 |…>
Configurare l’OSPF bandwidth:
R(config)#interface <type> <number>
R(config-if)#ip ospf cost <cost-number>
Inserire rotta di default negli update:
R(config-router)# default-information originate
Summarizzare le rotte OSPF sull’ASBR (esempio):
R(config-router)#area 0 range 192.168.0.0 255.255.252.0
Debug:
R#debug ip ospf events
Alcuni show:
R#show ip ospf neighbor
R#show ip ospf
R#show ip ospf interface

DISTRIBUIRE LE ROTTE OSPF SU RIP

Sul router su cui gira sia RIP che OSPF
R(config)#ruoter rip
R(config-router)#version 2
R(config-router)#redistribute ospf <ospf_process_number> metric <1-16 =metrica con la quale rip leggerà le rotte importate da ospf>

WAN

 


DCE: data commun. equipment – DTE: data terminal equipment → physical layer protocol: X.21/V.35 …
physical layer protocol:
– EIA/TIA-232: up to 64 kbps – 25-pin D connector
– EIA/TIA-449-530: up to 2 Mbps – 36-pin D connector
– EIA/TIA-612-613: up to 52 Mbps – 60-pin D connector
– V.35: up to 48 kbps – 34-pin rectangular connector
– X.21: standard for synchronous digital communications – 15-pin connector

Link speed: DS0: standard a 64 kbps – DS1: T1 a 1544 Mbps – DS3: T3 a 44736 Mbps
E1 = 32 DS0s up to 2048 Mbps
E3 = 16 E1s up to 34064 Mbps

La bandwidth di un link non dedicato viene divisa dall’ISP in più DS0s per i vari customers. La suddivisione avviene in base a slot di tempo:

- TDM (time-division multiplexing) → vede slot di tempo pre-assegnati; spesso è causa di sprechi di banda

- STDM (statistical time-division multiplexing) → slot di tempo assegnati al “bisogno”: una intelligent device tiene traccia delle conversazioni e determina se una conversazione ha bisogno di più o meno banda.

Tipi di connessioni:

Dedicated leased line: point to point serial link between two routers
Circuit switching: simile alla telefonata tradizionale, viene stabilito un circuito dedicato al momento della chiamata che resta su fino al suo termine. Costo in base alla distanza e al tempo di chiamata. Ottimo livello di sicurezza.
Packet switching (es. Frame Relay): I dati sono fragmentati in pacchetti sui quali vengono inseriti gli identificativi che identificano la rotta che devono seguire. Il processo è simile al routing e ai relativi protocolli. I circuiti a volte sono preconfigurati, ma sono condivisi fra più organizzazioni, non sono mai esclusivi.
Cell Switching (es. ATM): le celle sono pacchetti di piccoli di dimensioni sempre uguali (53 byte: 48 data+5 header), quindi vengono switchati velocemente, ma producono overload per i dispositivi che devono analizzare molti più pacchetti.

Nel packet switching:
SVC (Switched virtual circuit): circuito stabilito dinamicamente al momento della richiesta di trasmissione. Connessione tirata su al momento della richiesta e tirata giù al termine. Porta delay nella network.
PVC (Permanent virtual circuit): il path è permanente. E’ migliore dell’SVC, più diffuso, generalmente utilizzato dal Frame Relay.

Layer 2 serial line encapsulation:

— HDLC: synchronous serial, bit-oriented data link, usa acknowledgement e windowing scheme. Ogni frame usa lo stesso formato: flag, address, control, information, FCS, flag. Lo standard non contiene un campo per il tipo di protocollo. Per questo non può trasportare protocolli multipli sullo stesso link. Il proprietario CISCO HDLS ( di default sui router Cisco) aggiunge invece un campo con l’indicazione del tipo di protocollo (campo “type”: protocol code) che quindi abilita multipli network layer protocols a condividere lo stesso link. Per questa differenza non è possibile abilitare HDLS su ambienti multi vendor (Cisco ed altri).

— PPP: funziona su interfacce Asynchronous/Synchronous serial, HSSI, ISDN.
Ha due subprotocolli:
– a. LCP (Link Control protocol) che stabilisce, mantiene, testa, temina il link ppp, oltre a negoziare e configurare le opzioni di controllo del link wan. La negoziazione prevede le fasi: authentication (PAP, CHAP), Callback, Compression, Multilink
– b. NCP (Network Control Protocol) che incapsula i dati permettendo multipli network layer protocols. Ogni protocollo richiede un diverso NCP.
Fasi di una sessione ppp:
Link-establishment phase: prima negoziazione di LCP; alla fine un acknowledgement dà l’ok
Authentication phase: (opzionale) NCP attua l’autenticazione
NCP negotiating phase: quando LCP ha stabilito che la qualità del collegamento è abbastanza buona per trasportare dati di livello 3 e l’autenticazione opzionale ha avuto esito positivo, ppp invia i pacchetti NCP per configurare uno o più protocolli di rete.
Configurazione di ppp:
R(config-if)# encapsulation ppp
R(config-if)# compress <predictor | stac> → stacker= + cpu – memoria ; predictor= + memoria – cpu
R(config-if)# ppp multilink

vari show:

R# show interfaces serial → incapsulazione e stato di LCP
R# show controllers → stato canali delle interfacce, DCE/DTE protocollo relativo, clock rate…

Autenticazione ppp:
PAP Password Authentication protocol: two way handshake, password circola in chiaro
CHAP Challenge Handshake Authentication protocol: la password non viene trasmessa in rete. Viene trasmessa solo una stringa testo random che viene criptata con la password impostata dall’utente e che deve essere uguale per i due router. Autenticazione ripetuta più volte in breve spazio di tempo.
Fasi:
challenge → viene inviata stringa testo random
response → risposta: stringa criptata con password condivisa
Accept/Reject → se il primo router verifica la giustessa della criptazione acceta, altrimenti rifiuta e cade link

Configurare l’autenticazione ppp:
R(config)# username <name> password <password> → hostname del vicino + password comune
R(config-if)# ppp authentication <chap | chap pap | pap chap | pap>
→ fine configurazione chap o pap
Solo nel pap dall’IOS Cisco Release 11.1:
R(config)# ppp pap sent-username <name> password <password>

Vari debug: debug ppp <authentication|packet|negotiating|error|chap>

— FRAME RELAY: la frame relay è una NBMA. Usa packet switching, STDM per ottimizzazione della banda disponibile, PVC che il provider preconfigura. Per funzionare deve avere un modo per associare il VC con un indirizzo di livello 3. Questo avviene con l’INVERSE ARP.
Inverse Arp: associa un DLCI (identificativo di un certo VC, ma con valore solamente locale, presente in ogni frame inviato) con un certo ip address remoto.
LMI (Local Management Interface): gestisce e mantiene lo stato di una connessione tra il DTE e un Frame Relay switch (DCE), quindi del VC. La connessione del VC può essere in:
active state → tutto ok
Inactive state → connessione locale al DCE è ok, ma non quella della connessione remota, sempre al DCE
Deleted state → nessun LMI ricevuti dal farme relay switch, o non c’e servizio tra la DTE e la DCE.
Parametri negoziati con l’ISP:
CIR – Committed information rate: minimum bandwidth rate guaranteed
Tc – Committed time: calculated time inrval
Bc – Committed burst: number of comitted bits within the Tc
EIR – excess information rate: rate massimo (superiore al normale) che il VC può supportare in caso di no congestion. Questi extra bits sono detti Be – excess burst (“scatti extra”). I frame inviati “extra” sono detti DE – descard eligible. Se ci sono congestioni i frame sono droppati.

FECN – forward explicit congestion notification: campo ad 1 bit settato da uno switch. Indica che una DTE è congestionato
BECN – backward explicit notification: simile al FECN, indica che la entwork è congestionata nella direzione opposta.
FECN e BECN permettono al livello applicazione di agire intelligentemente di conseguenza.

Configurazione del Frame Relay (limitatamente ai routers cpe):
Entro nell’interfaccia, do “no ip address” e imposto l’encapsulation frame-relay. Poi creo la subinterfaccia impostandola come point to point oppure multipoint, configuro l’ip address, e imposto il numero di dlci. Es:
R(config)# int se0/0/0
R(config-if)# no ip address
R(config-if)# ensapsulation frame-relay
R(config-if)# end
R(config)# int se0/0/0.101 point-to-point (oppure multipoint)
R(config-subif)# frame-relay interface-dlci 20
R(config-subif)# end

ACL

 


Guidelines:
Configurare solo una ACL per protocollo, per direzione
Standard 1-99 1300-1399 → vicino alla destinazione
Extended 100-199 2000-2699 → vicino alla sorgente
Named → va indicato se sono standard o extended
Determinare correttamente se inbound o outbound, dal punto di vista dell’interno del router
Gli statements sono letti dal primo all’ultimo e alla fine c’è un implicito deny any any
Inserisci gli statements dal più specifico al più generale
Ciò che proviene dall’interno del router non è processato dalle ACL

Realizzare l’ACL:
St. → R(config)# access-list <ACL_number> <deny | permit> <source address> <source_wildcard> <log>
Ext → R(config)#access-list <ACL_number> <deny | permit> <protocol-type> <source address> → cont: <source_wildcard> <host | any> <dest_address> <dest_wildcard> <eq | gt | lt | range> <appl_protocol_type>
Named → R(config)# ip access-list <standard | extended> <named_name> → poi di seguito inserire gli statements senza ripetere ogni volta la dicitura iniziale.

Nelle nuove IOS è possibile cambiare una sola o più righe degli statements, senza dover riscrivere tutta l’ACL. Il comando è:
R(config)# ip access list → dare poi il comando no line number <xy> e riscrivere la riga usando il numeRo della riga cancellata.
Per inserire una riga nuova:
basta dare l’input con il numero di riga intermedio rispetto alla riga precedente e successiva.
es. 20 permit ip 192.,168.1.77 any

Configurare una label (remark):
R(config)# access-list <ACL_number> remark <remark_text>

Applicazione dell’ACL all’interfaccia:
R(config-if)# ip access-group <ACL_number> <in | out>
Applicazione dell’ACL all’interfaccia vty:
R(config-line)#access-class <ACL_number> <in | out>

wildcard mask 0.0.0.0 = host → indicano un host specifico
wildcard mask 255.255.255.255 = any → tutti gli host di quella rete
0.0.0.0 255.255.255.255 = any → tutti gli host di tutte le reti

Established traffic:
Permette solo il traffico che è risposta ad una richiesta proveniente dall’interno della rete:
esempio: R(config)# access-list 101 permit tcp any any established

Per vedere tutte le access list:
R# show access-list

I log creati dalle ACL quando alla fine dello statement viene inserito il comando log, per il syslog sono di tipo informational.
Nelle Cisco IOS sono possibili altre ACL oltre le standard e le extended (e le named). Queste sono le:
Dynamic ACL: dette anche “lock and key”, richiedono all’utente che si collega via telnet di loggarsi (autenticarsi)
Reflexive ACL: simili alle extended “established” ma ispezionano non solo il traffico tcp ma anche quello UDP e ICMP
Time-based ACL: permettono o negano il traffico basandosi sull’ora e sul giornodella settimana.

CDP (Cisco Discovery protocol)

Tool (presente e attivo di default) per avere info su altri dispositivi direttamente connessi
R# show cdp neighbors → da info su dispositivi, interfacce, raggiungibilità
R# show cdp neighbors detail → da tutte le informazioni possibili anche sul software, ind. Logici…)
R# no cdp run → disabilita cdp
R(conf-if)# no cdp enable → disabilita cdp solo per l’interfaccia dove ci si trova
R# cdp run ->avvia cdp
R(conf-if)#cdp run enable –>avvia cdp su quell’interfaccia

NAT

 


inside local address – inside global address / outside local address – outside global address
static nat: 1 indirizzo privato viene traslato in 1 indirizzo pubblico
dynamic nat: un host della rete interna riceve un indirizzo pubblico tra un pool di indirizzi pubblici disponibili al router.
Nat overload or pat (port-based address translation): più hosts della rete interna ricevono lo stesso indirizzo pubblico, che è l’indirizzo dell’interfaccia verso l’esterno della rete → è il più comunemente utilizzato

Nat Statico (1 indirizzo interno nattato in 1 indirizzo pubblico)
R(config)# interface <type> <number> → entro nella configurazione dell’inside interface
R(config-if)# ip address <ip address> <subnet mask>-> configuro ind. logico (se non già fatto)
R(config-if)# ip nat inside
R(config-if)# exit

R(config)# interface <type> <number> → entro nella configurazione dell’outside interface
R(config-if)# ip address <ip address> <subnet mask> → configuro ind. logico (se non già fatto)
R(config-if)# ip nat outside
R(config-if)# exit

R(config)# ip nat inside source static <inside address> <outside address>
N.B. Per verificare le translazioni NAT: R# show ip nat translations

Nat dinamico (1 indirizzo interno ne riceve uno pubblico da un pool di indirizzi pubblici)
R(config)# Access-list 1 permit <indirizzo rete> <wildcard>
R(config)# ip nat pool NAT-1 <primo ind. NAT disponibile> <ultimo ind. NAT disponibile> netmask <netmask>
R(config)# ip nat inside source list 1 pool NAT-1 overload
R(config)# interface <type> <number>
R(config-if)# ip nat inside
R(config)#interface <type> <number>
R(config-if)#ip nat outside

Nat dinamico – PAT (al pool di indirizzi interni viene assegnato l’indirizzo dell’interfaccia esterna)
(config)# Access-list 1 permit <indirizzo rete> <wildcard>
R(config)# ip nat inside source list 1 interface <type> <number> overload
R(config)# interface <type> <number>
R(config-if)# ip nat inside
R(config)#interface <type> <number>
R(config-if)#ip nat outside

R# show ip nat translations
R# clear ip nat translation → cancella le translazioni in atto
Intranet: rete privata utilizzata per fornire accesso a dipendenti da locale e da remoto, via LAN e vi WAN. Contiene dati anche molto riservati ed è disegnata quindi per i dipendenti dell’azienda.
Extranet: rete privata pensata per fornitori e clienti esterni all’azienda. I dati in essa contenuti sono generalmente meno confidenziali. Ci si connette tramite WAN, con login da remoto o tramite VPN. Non è una public network.

Enterprise network documentation

 


Physical topology
Logical topology
Control Plane: describes failure domains and interfaces where different network technology intersect.

Business Continuity Plan (BCP): cosa fare per evitare che, in caso di disastro, il business non si interrompa. Backup remoto, centri di controllo alternativi, ridondanza delle comunicazioni.
Business Security Plan (BSP): applicazione policy di sicurezza, previene accessi non autorizzati.
Autenticazione, Software ammesso, accesso remoto, monitoraggio intrusioni…
Network Maintenance Plan (NMP): Manutenzione per mantenere sicuro e stabile il sistema. Definisce:
timing della manutenzione, schedulazione dei downtime, responsabilità dello staff, dispositivi e software da manutenere, monitoraggio delle performance della rete
Service-Level Agreement (SLA): contratto con l’ISP. Prevede: velocità e banda, network uptime, monitoraggio delle performance della rete, tempi di risposta per risoluzione dei problemi, responsabilità.

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>