it-swarm.it

Che cos'è l'inoltro IP del kernel?

Ho visto su molti blog, usando questo comando per abilitare l'inoltro IP mentre uso molti strumenti di sicurezza/sniffing di rete su Linux

echo 1 > /proc/sys/net/ipv4/ip_forward

Qualcuno può spiegarmi in termini laici, che cosa essenzialmente fa questo comando? Trasforma il tuo sistema in router?

76
Madhur Ahuja

"IP forwarding" è sinonimo di "routing". Si chiama "forwarding IP del kernel" perché è una caratteristica del kernel Linux.

Un router ha più interfacce di rete. Se il traffico arriva su un'interfaccia che corrisponde a una sottorete di un'altra interfaccia di rete, un router lo inoltra all'altra interfaccia di rete.

Quindi, supponiamo che tu abbia due NIC, una (NIC 1) è all'indirizzo 192.168.2.1/24 e l'altra (NIC 2) è 192.168.3.1/24. Se l'inoltro è abilitato e un pacchetto arriva su NIC 1 con un "indirizzo di destinazione" di 192.168.3.8, il router rinvia il pacchetto fuori da NIC 2.

È comune che i router che funzionano come gateway verso Internet abbiano una route predefinita in base alla quale qualsiasi traffico che non corrisponde a nessuna NIC passerà attraverso la NIC della route predefinita. Quindi nell'esempio sopra, se hai una connessione Internet su NIC 2, imposti NIC 2 come percorso predefinito e quindi tutto il traffico proveniente da NIC 1 che non è ' t destinato a qualcosa su 192.168.2.0/24 passerà attraverso NIC 2. Speriamo che ci siano altri router oltre NIC 2 che possano instradarlo ulteriormente (nel caso di Internet, l'hop successivo sarebbe il tuo Router ISP, quindi router upstream dei loro provider, ecc.)

Abilitando ip_forward Si dice al proprio sistema Linux di farlo. Per essere significativo, sono necessarie due interfacce di rete (qualsiasi 2 o più di schede NIC cablate, schede o chipset WiFi, collegamenti PPP su un modem 56k o seriale, ecc.).

Quando si esegue il routing, la sicurezza è importante ed è qui che viene coinvolto il filtro pacchetti di Linux, iptables. Quindi avrai bisogno di una configurazione iptables coerente con le tue esigenze.

Nota che abilitare l'inoltro con iptables disabilitato e/o senza tenere conto del firewall e della sicurezza potrebbe lasciarti aperto alle vulnerabilità se una delle NIC si trova di fronte a Internet o a una sottorete su cui non hai il controllo.

89
LawrenceC

Se abilitato, "IP forwarding" consente a una macchina Linux di ricevere pacchetti in entrata e inoltrarli. Una macchina Linux che agisce come un normale host non dovrebbe avere l'IP forwarding abilitato, in quanto genera e riceve traffico IP per i propri scopi (vale a dire, gli scopi del suo utente).

Tuttavia, ci sono casi in cui l'inoltro IP è utile: 1. Vogliamo che la nostra macchina funga da router, ricevendo pacchetti da altri host e instradandoli verso la loro destinazione. 2. Siamo cattivi e vogliamo impersonare un'altra macchina in un cosiddetto " attacco man-in-the-middle ". In questo caso, vogliamo intercettare e vedere tutto il traffico diretto alla vittima, ma vogliamo anche inoltrare questo traffico a lei, in modo che non "percepisca" la nostra presenza.

4
Andrea Araldo