Italiano English
Modifica History Actions

Differenze per "Reverse Path Filter"

Differenze tra le versioni 1 e 2
Versione 1 del 2014-11-09 20:33:20
Dimensione: 1457
Autore: leonaard
Commento: created
Versione 2 del 2014-11-09 20:43:26
Dimensione: 1663
Autore: leonaard
Commento: added Rendere permanenti le modifiche
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 28: Linea 28:
=== Rendere permanenti le modifiche ===
Modificare il file `/etc/sysctl.d/30-rpfilter.conf` con i valori desiderati. Ad esempio:
{{{
net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.eth0.rp_filter=2
}}}

Il Reverse Path Filter (rp_filter) di Linux scarta i pacchetti in ingresso su un interfaccia di rete se provenienti da un indirizzo ip la cui rotta punta su un altra interfaccia.

Per esempio, immaginando un router con tre interfaccie di rete if0, if1, if2 e una default route che punta a if2. Se rp_filter e' abilitato e arriva un pacchetto con indirizzo pubblico su if0 che deve essere routato su if1, il pacchetto viene scartato. Considerando che if0, if, e if2 possono essere anche interfaccie tunnel, VPN, etc, e' molto probabile che si verifichi la condizione descritta.

Possibili valori

  • no (0) - No source validation.

  • strict (1) - If the interface is not the best reverse path the packet check will fail.

  • loose (2) - If the source address is not reachable via any interface the packet check will fail.

Comandi utili

Visualizzare lo stato di rp_filter sulle diverse interfaccie

# sysctl -a | grep rp_filter

Modificare

# sysctl -w net.ipv4.conf.<interface>.rp_filter=<value>

Settando rp_filter a 0 o a 2 su un interfaccia e' necessario che net.ipv4.conf.all.rp_filter sia a 0:

# sysctl -w net.ipv4.conf.all.rp_filter=0

Rendere permanenti le modifiche

Modificare il file /etc/sysctl.d/30-rpfilter.conf con i valori desiderati. Ad esempio:

net.ipv4.conf.all.rp_filter=0
net.ipv4.conf.eth0.rp_filter=2

Link Esterni