16.5. Policy di routing con i router Cisco

Un router è in grado di eseguire delle operazioni di forwarding dei pacchetti basandosi su informazioni differenti dal semplice indirizzo IP di origine o di destinazione, una politica di routing può consentire di impostare dei percorsi differenti per alcuni pacchetti che rispondono a determinati requisiti, un router è dunque in grado di dirottare i pacchetti ragionando anche sulla porta di destinazione del pacchetto stesso. Questa funzionalità può essere abilitata utilizzando le regole del sistema operativo Cisco IOS, è bene ricordare che alcune versioni di questo sistema operativo possono risultare incompatibili con questa opzione perché troppo vecchie.

La FAQ che stiamo per illustrare è stata realizzata da John Saunders, la configurazione proposta lavora correttamente con il sistema operativo Cisco System IOS 11.1 e successivi. La prima attività da svolgere è procedere con la creazione di una access-list che consentirà al router di selezionare il traffico da deviare verso la macchina che esegue Squid

access-list 110 deny   tcp host 192.168.102.3 any eq www
access-list 110 permit tcp any any eq www
  

192.168.102.3 è l'indirizzo IP della macchina che esegue Squid, la prima linea della ACL esclude i pacchetti con indirizzo sorgente 192.168.102.3 destinati alla porta 80 (www), la seconda linea confronta con tutti gli altri pacchetti destinati alla porta 80. Dopo aver impostato una access-list possiamo definire una route-map

route-map proxy-squid permit 10
match ip address 110
set ip next-hop 192.168.102.3
  

per rendere operativa la configurazione è necessario applicare la route-map sull'interfaccia connessa con la LAN dove è stato installato Squid

interface Ethernet0
ip policy route-map proxy-squid
  

di seguito sottoponiamo al lettore un'altro esempio completo, dove viene definita una route-map denominata proxy-redirect, quest'ultima specifica come salto successivo la macchina dove è in esecuzione il proxy server Squid

!
access-list 110 deny tcp any any neq www
access-list 110 deny tcp host 192.168.1.13 any
access-list 110 permit tcp any any
!
route-map proxy-redirect permit 10
match ip address 110
set ip next-hop 192.168.1.13
!
interface Ethernet0
ip policy route-map proxy-redirect
!
  

in questo caso di studio la macchina che esegue Squid ha l'indirizzo IP 192.168.1.13. Il router redirige il traffico destinato alla porta 80 (www) verso la porta dove rimane in ascolto Squid. Questo tipo di policy di routing degrada le prestazioni del router ed in molte versioni di Cisco IOS questo tipo di regola utilizza un tempo CPU piuttosto elevato.