[FUG-BR] Dúvida de comportamento estranho com o PF

Renato Frederick renato em frederick.eti.br
Quinta Fevereiro 5 20:22:42 UTC 2015



> Marcelo Gondim <mailto:gondim em bsdinfo.com.br>
> 5 de fevereiro de 2015 16:57
> Buenas pessoal,
>
> Olha posso estar enganado mas acredito que o comportamento correto do 
> PF deveria ser outro. Olhando as seguintes regras abaixo do pf.conf:
>
> no binat on em0 from 192.168.8.249 to 172.31.1.0/24
> binat on em0 from 192.168.8.249 to any -> 10.255.0.13
>
> Por que a primeira regra está eliminando totalmente a segunda regra? 
> Ao meu ver a primeira regra só deveria acontecer se o pacote fosse 
> para 172.31.1.0/24, que não é o caso.
> Se eu tiro a primeira regra o binat funciona normalmente do 
> 192.168.8.249 para 10.255.0.13 e vice versa.
>
> Sinceramente não entendi porque isso está ocorrendo.
>
> Abrs,
> Gondim

coloca  um pass all do 8.249 para o /24(keep state) e embaixo o binat.

na minha opinião, quando o pacote der match no pass all, o pf vai parar 
de processar a regra de toda conexao que tenha como origem o 8.249 pro 
/24, bem como a conexão de volta. E a outra regra o binat. Mesmo que o 
8.249 to any seja mais abrangente e teoriamente pegasse a rede /24, como 
já deu o match anterior, vai ignorar.

Bom, pelo menos umas gambiarras assim já fiz em cisco, ipfw e até 
iptables.  PF tenho que admitir que depois do pfsense, tá raro fazer na 
mão! :-)




Mais detalhes sobre a lista de discussão freebsd