Ho un server Ubuntu 16.04 che funge da router con interfacce multiple (VLAN). Per impostazione predefinita, rp_filter
(filtro del percorso inverso) è abilitato per tutte le interfacce. Voglio mantenerlo così, ma faccio un'eccezione esattamente per un'interfaccia. (I pacchetti da questa interfaccia dovrebbero avere un indirizzo IP di origine che non corrisponde a nessun indirizzo di destinazione del routing di questa interfaccia.)
Supponiamo che questa interfaccia abbia il nome ens20.4
, il suo dispositivo vlan-raw-device ens20
e che l'interfaccia di destinazione (per testare il flusso di pacchetti) sia denominata ens20.2
(sebbene dovrebbe funzionare per qualsiasi interfaccia di destinazione).
Ho provato a impostare la rp_filter
proprietà ens20.4
solo per , senza successo:
echo 0 > /proc/sys/net/ipv4/conf/ens20.4/rp_filter
Quindi, a scopo di test, ho disabilitato anche rp_filter
per il dispositivo vlan-raw-device e l'interfaccia di destinazione del test:
echo 0 > /proc/sys/net/ipv4/conf/ens20/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/ens20.2/rp_filter
Ancora senza successo, i pacchetti con un indirizzo IP di origine "contraffatto" vengono comunque eliminati. Solo se disabilito rp_filter
per tutte le interfacce, i pacchetti ottengono:
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
Tuttavia, voglio ancora mantenere il filtro del percorso inverso per tutte le altre interfacce: cosa mi sto perdendo?