Contenuto della lezione
La maggior parte degli studenti di networking hanno familiarità con ARP (Address Resolution Protocol) ma Proxy ARP non sempre suona un campanello. In questa lezione, spiegherò come funziona il proxy ARP, useremo la seguente topologia per questo:
Nell’esempio sopra abbiamo due sottoreti: 10.1.1.0 /24 e 10.2.2.0 /24. Il router al centro è connesso ad entrambe le sottoreti. In basso vedi due host (H1 e H2) e in alto abbiamo un server (S1).
Quando guardi da vicino gli host puoi vedere che H1 ha una subnet mask /24 e H2 ha una subnet mask /8. Quando H1 cerca di raggiungere il server a 10.2.2.100 accadrà quanto segue:
- H1 confronta il suo indirizzo IP e la sua subnet mask con l’indirizzo IP del server (10.2.2.100) e decide che il server è in un’altra subnet.
- H1 decide di inviare il pacchetto per il server al suo gateway predefinito (10.1.1.1.254).
- H1 controlla la sua tabella ARP per vedere se c’è una voce per 10.1.1.254, in caso contrario invierà una richiesta ARP.
- Il router risponderà alla richiesta ARP, inviando il suo indirizzo MAC della sua interfaccia FastEthernet 0/0.
Questo è il modo in cui ARP funziona normalmente, quando H2 cerca di inviare un pacchetto IP verso il server accadrà qualcos’altro:
- H2 confronta il suo indirizzo IP e la subnet mask con l’indirizzo IP del server (10.2.2.100) e decide che il server è nella stessa subnet.
- H2 controlla la sua tabella ARP per vedere se c’è una voce per 10.2.2.100, altrimenti invia una richiesta ARP.
Il server però non è sulla subnet 10.1.1.0 /24 e i router non inoltrano il traffico broadcast, quindi la richiesta ARP non arriva mai al server. Non tutte le speranze sono perse però….questo è il momento in cui il proxy ARP viene in soccorso!
Quando il proxy ARP è abilitato sul router, ecco cosa succede:
- Il router vede la richiesta ARP da H2 sulla subnet 10.1.1.0 /24 e vede che questa è una richiesta ARP per qualcosa nella subnet 10.2.2.0 /24 subnet.
- Il router capisce che sa come raggiungere la subnet 10.2.2.0 /24 e decide di rispondere alla richiesta ARP per aiutare H2.
- Il router invia una risposta ARP a H2 con il suo indirizzo MAC sull’interfaccia FastEthernet 0/0.
Mi stai seguendo finora? Lasciate che vi mostri come appare su un router reale.
Configurazione
Utilizzerò la seguente topologia per dimostrare il proxy ARP:
È la stessa dell’immagine che vi ho appena mostrato ma sto usando i router del mio laboratorio. Disabilitando “ip routing” posso trasformare i router in normali dispositivi host. Iniziamo disabilitando il routing su R1, R2 e il server:
H1, H2 & S1(config)#no ip routing
Configuriamo il gateway predefinito su questi dispositivi:
H1 & H2(config)#ip default-gateway 10.1.1.254
S1(config)#ip default-gateway 10.2.2.254
Configuriamo tutti gli indirizzi IP che ci servono:
H1(config)#interface fastEthernet 0/0H1(config-if)#ip address 10.1.1.1 255.255.255.0
H2(config)#interface fastEthernet 0/0H2(config-if)#ip address 10.1.1.2 255.0.0.0
S1(config)#interface FastEthernet 0/0S1(config-if)#ip address 10.2.2.100 255.255.255.0
Nota che ho usato la subnet mask /8 su H2. Ecco il router:
R1(config)#interface FastEthernet 0/0R1(config-if)#ip address 10.1.1.254 255.255.255.0R1(config-if)#interface FastEthernet 0/1R1(config-if)#ip address 10.2.2.254 255.255.255.0
Questo è tutto ciò che dobbiamo configurare…verifichiamo il nostro lavoro!
Verifica
Per testare il proxy ARP invierò prima un po’ di traffico da H1 al server in modo da poter vedere come appare il normale ARP, e poi invieremo del traffico da H2 al server.
Il proxy ARP è abilitato di default come potete vedere qui:
R1#show ip interface FastEthernet 0/0 | include Proxy Proxy ARP is enabled
Per vedere in tempo reale cosa sta succedendo, userò il seguente debug su R1:
R1#debug arpARP packet debugging is on
Inviamo alcuni ping dall’host A al server: