Eu tenho um servidor Ubuntu 16.04 que está atuando como um roteador com várias interfaces (VLAN). Por padrão, rp_filter
(filtro de caminho reverso) está ativado para todas as interfaces. Quero mantê-lo assim, mas faça uma exceção para exatamente uma interface. (Os pacotes desta interface devem ter um endereço IP de origem que não corresponda a nenhum endereço de destino de roteamento dessa interface.)
Digamos que essa interface tenha o nome ens20.4
, seu dispositivo vlan-raw- ens20
e a interface de destino (para testar o fluxo de pacotes) seja nomeada ens20.2
(embora deva funcionar para qualquer interface de destino).
Tentei definir a rp_filter
propriedade ens20.4
apenas, sem sucesso:
echo 0 > /proc/sys/net/ipv4/conf/ens20.4/rp_filter
Portanto, para fins de teste, eu também desabilitei rp_filter
o dispositivo vlan-raw-e a interface de destino do teste:
echo 0 > /proc/sys/net/ipv4/conf/ens20/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/ens20.2/rp_filter
Ainda sem sucesso, os pacotes com um endereço IP de origem "falsificado" ainda são descartados. Somente se eu desativar rp_filter
para todas as interfaces, os pacotes passarão:
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
No entanto, ainda quero manter o caminho inverso filtrando para todas as outras interfaces - o que estou perdendo?