Routing
In italiano si potrebbe tradurre con instradamento, ma il termine ormai fa parte della nostra lingua. Indica l’insieme dei processi che un router o un firewall usa per instradare opportunamente un pacchetto in transito.
Il routing di ogni singolo pacchetto viene deciso in base ad una tabella di routing, vale a dire una tabella che indica come debbano essere instradati, verso quale gateway e da quale interfaccia, i pacchetti in transito per il firewall.
Questa tabella può essere costruita in maniere diverse, manualmente o mediante programmi specifici, che ricadono nell’ampia categoria dei protocolli di routing dinamici. Un protocollo di routing dinamico ha diversi vantaggi, il primo dei quali consiste nella possibilità di tenere conto automaticamente della disponibilità di percorsi verso una determinata rete, e del verificarsi nel tempo di condizioni che possono modificare il percorso dei pacchetti verso una certa destinazione, come l’interruzione di una certa tratta. Hanno però anche svantaggi, come il maggiore carico per CPU e RAM dei router, per esempio, oltre a richiedere un certo sforzo di configurazione.
Per reti di piccole dimensioni le rotte statiche, compilate manualmente, non sono perciò una risorsa da disprezzare, e possono essere usate con successo. Vediamo quali sono.
Rotta di default (default routing).
E’ l’indicazione fornita al router riguardo dove instradare i pacchetti per i quali non si hanno informazioni di instradamento più specifiche. Sostanzialmente significa dire al firewall: “se non sai dove spedire il pacchetto invialo lì'”.
Un tipica rotta di default è quella che invia tutti i pacchetti originati dalla rete interna verso il gateway del provider connesso all’interfaccia esterna del router (vale a dire, instrada tutto il traffico verso la connessione con il provider).
Rotta verso null0 (black hole)
Null0 è il nome di un’interfaccia che scarta ogni pacchetto che riceve (un buco nero, black hole).
Ridirigiamo ru null0 tutto il traffico che non vogliamo attraversi il router.
Configurare una rotta statica.
Il comando che utilizzeremo sarà:
route if_name network_address network_mask gateway_ip
ad esempio
route outside 192.168.10.0 255.255.255.0 192.168.100.254
Configurare una rotta di default.
Il comando sarà
route if_name 0.0.0.0 0.0.0.0 gateway_ip
vale a dire: invia all’interfaccia if_name tutto il traffico (0.0.0.0 0.0.0.0), consegnandolo all’indirizzo gateway_ip
ad esempio il comando:
route outside 0.0.0.0 0.0.0.0 192.168.100.254
invierà di default tutto il traffico sull’interfaccia outside, e l’indirizzo del gateway cui verrà consegnato (non l’indirizzo dell’interfaccia, quindi) è 192.168.100.254.
Supponiamo che la connessione sia ethernet, questo significa che il frame in uscita dall’interfaccia outside avrà IP di destinazione quello cui deve essere effettivamente inviato il pacchetto, e come MAC address di destinazione il mac address dell’interfaccia 192.168.100.254 (quella del prossimo gateway cui il frame deve essere consegnato).
ECMP Equal Cost Multipath Routing
In questo caso possiamo bilanciare il traffico su diverse (fino 3) rotte statiche in uscita dalla stessa interfaccia (se ad esempio usiamo più connessioni verso internet).
La sintassi è semplicissima:
route outside 0.0.0.0 0.0.0.0 192.168.30.1 1 route outside 0.0.0.0 0.0.0.0 192.168.30.2 1
configura due gateway di default (192.168.30.1 e 192.168.30.2) sui quali sarà bilanciato il carico in uscita verso internet.
Il bilanciamento viene effettuato solo per rotte in uscita dalla stessa interfaccia.
Se una rotta cade, il traffico viene rediretto sull’altra. Il risultato è quello che vediamo sotto da una show route:
ciscoasa# sh route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is 192.168.30.1 to network 0.0.0.0 C 192.168.30.0 255.255.255.0 is directly connected, outside C 10.0.0.0 255.255.255.0 is directly connected, inside S* 0.0.0.0 0.0.0.0 [1/0] via 192.168.30.1, outside [1/0] via 192.168.30.2, outside
Contrassegnate da s* sono riconoscibili le due rotte statiche di default.
Continua..