[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: NAT "trasparente"



Riccardo Tortorici ha scritto:
> Cosa ci vuoi fare con la linux box, un firewall? o MITM? :-)
Un firewall a livello IP ed ARP. Il cliente ha problemi di connettività fra
computers della sua LAN: è convinto che i problemi insorti possano
dipendere in qualche modo dal suo nuovo ISP, a causa di una coincidenza
temporale fra l'insorgere dei problemi ed il cambio di ISP. Questa ipotesi,
secondo me, implica che il suo ISP mandi dei pacchetti "non richiesti" alla
LAN e che il router (di proprietà dell'ISP) li lasci passare. Inoltre, per
generare problemi di connettività a livello di LAN, i pacchetti incriminati
credo che dovrebbero essere degli ARP, in quanto non credo che sia
possibile ottenere tale risultato a livello IP, se non congestionando la
LAN, giusto?
Da ciò ho pensato di mettere un NAT, in modo da lasciar fuori qualsiasi ARP
non richiesto, ma anche qualsiasi pacchetto IP non richiesto: voglio però
evitare di riconfigurare tutta la LAN, un po' perché è un lavoraccio e un
po' per non aggiungere entropia al sistema ed essere certo, se il problema
si risolve, di non aver toccato nulla sui client.

Quello che voglio mettere è un NAT che abbia lo stesso indirizzo IP del
router, ma sulla eth0 che si presenta alla LAN, in modo che i client in LAN
non notino la differenza.                 

ROUTER(.254)<-->(.222)NAT(.254)<-->LAN(192.168.1.0/24)
                 eth1     eth0

Il problema è che non posso toccare neppure il router, quindi il NAT si
trova a "nattare" fra due reti identiche a livello IP. Dal p.d.vista
teorico direi che la cosa è tranquillamente possibile, mentre dal p.d.vista
pratico, se cerco di dire alla linux box che il default gateway è
raggiungibile via eth1, il comando

# route add default gw 192.168.1.254 dev eth1

mi risponde 

SIOCADDRT: Network is unreachable

che mi lascia un po' di stucco perché non capisco per quale motivo dovrebbe
dirlo (premesso che il comando route lo conosco poco e la linea sopra l'ho
costruita a partire da "man route", ma senza la certezza di aver capito
tutto). Posso immaginare quale sia il problema, ovvero io gli sto dicendo
che il default gateway è lo stesso IP di eth0, ma è raggiungibile via eth1,
perché fisicamente non è su eth0, e la cosa non gli piace proprio. Non so
solo come fare a dirglielo in parole più chiare e non capisco perché il
comando route qui sopra non sia sufficientemente chiaro per il kernel.

Detto per inciso, sono convinto che i problemi della LAN del cliente nulla
abbiano a che vedere con l'ISP, è solo il cliente a non esserne convinto e
glielo devo dimostrare.

straluna ha scritto:
> Oltre al gia' citato bridge prendi in considerazione la possibilita' di
> usare il proxy-arp che ti consente di fare esattamente quello che chiedi
> senza patchare nulla (visto che usi 2.4) e filtrare a layer3.
Posso anche loggare/droppare i pacchetti ARP fra le due schede (in
particolare quelli dal router verso la LAN)?



Reply to: