This is an old revision of the document!
Problemi ARP
In generale ad una richiesta ARP ricevuta da una interfaccia di rete, il kernel Linux risponde se l'indirizzo IP richiesto è assegnato ad una qualunque delle interfacce configurate. Il MAC address nella risposta è quello dell'interfaccia attraverso cui viene inviata la risposta stessa.
Un host con due interfacce di rete e due indirizzi IP in classi diverse che sia collegato ad un unico switch riceverà le richieste di ARP per entrambi gli indirizzi su entrambe le interfacce. Le risposte avranno in un caso con il MAC address “giusto”, nell'altro caso con il MAC address “sbagliato”.
Questo comportamento in linea di principio dovrebbe garantire la massima possibilità di comunicazione, ma nella pratica crea enormi grattacapi in caso di loop involontari nella topologia della rete.
Ci sono due parametri che possono essere configurati per garantire le risposte ARP “corrette”, uno agisce da filtro in input, l'altro agisce da filtro nelle risposte ARP; si tratta di rp_filter e arp_ignore rispettivamente, che il kernel Linux imposta per valore predefinito a 0.
Questi parametri possono essere configurati per la singola interfaccia oppure per all (tutte le interfacce), il valore effettivamente utilizzato sarà il maggiore dei due.
rp_filter | 0 (default): No source validation. 1: Strict mode as defined in RFC3704 Strict Reverse Path. Each incoming packet is tested against the FIB and if the interface is not the best reverse path the packet check will fail. By default failed packets are discarded. 2: Loose mode as defined in RFC3704 Loose Reverse Path. Each incoming packet's source address is also tested against the FIB and if the source address is not reachable via any interface the packet check will fail. |
---|---|
arp_ignore | 0 (default): reply for any local target IP address, configured on any interface. 1: Reply only if the target IP address is local address configured on the incoming interface. 2: Reply only if the target IP address is local address configured on the incoming interface and both with the sender's IP address are part from same subnet on this interface. 3: … |