[FUG-BR] Duvidas e problemas com PF

Mario Lobo lobo em bsd.com.br
Sexta Janeiro 18 17:44:54 BRST 2013


Em 18 de janeiro de 2013 06:27, Diogo Dalfovo <b1n4r1w0rm em gmail.com>escreveu:

> Bom dia pessoal...
>
> Estou com problema que acredito ser no retorno do pacote usando PF no
> Freebsd. Meu cenario é seguinte:
> O firewall ligado em duas operadoras A e B e duas LANs 192.168.0.0/24 e
> 192.168.2.0/24 faço NAT de cada rede pra cada saida da operadora e tambem
> ja testei configurando uma WAN com os IPs configurados tanto da operadora A
> como da B mas em nenhum dos caso deu certo. Por ultimo depois da madrugada
> se estiver tudo "certo" ele pinga uma vez de em cada operadora e para.
>
> Mas resumindo a historia toda preciso que o venha da rede
> 192.168.0.0/24saia e retorne pela operada A e a rede
> 192.168.2.0/24 saia e retorne somente pela B ou se tem como fazer com que
> tudo que vier de uma interface saia e retorne pela interface da rede A e
> igualmente pela B.
>
> Lembrando que o meu gateway esta pela rede B, segue o meu PF.
>
> ###########################################
> # 1 - Interfaces
> ###########################################
> #Externa WAN
> if_bgp  = "fxp1"
> if_gvt  = "fxp0"
> if_fw   = "rl0"
> if_bridge = "bridge0"
>
> ##########################################
> # 2 - IPs do Firewall
> ##########################################
> ip_fw=""
> ip_ebt = "A.A.187.0/24"
> ip_gvt = "B.B.115.0/24"
>
>
> ##########################################
> # 3 - IPs Gateways
> ##########################################
>
> ip_gw_gvt = "B.B.115.5"
> ip_gw_ebt = "A.A.187.5"
>
>
>
> #pass in quick on $if_gvt reply-to ( $if_gvt $ip_gw_gvt ) from ip_gvt
> #pass in quick on $if_ebt reply-to ( $if_ebt $ip_gw_ebt ) from $ip_ebt
>
> #pass out quick log on $if_ebt route-to ( $if_ebt $ip_gw_ebt ) from
> $ip_ebt label "ebt"
> #pass out quick log on $if_bgp route-to ( $if_gvt $ip_gw_gvt ) from
> $ip_gvt  label "gvt"
>
> pass out quick log on $if_bridge route-to ( $if_ebt $ip_gw_ebt ) from
> $ip_ebt label "ebt"
> pass out quick log on $if_bridge route-to ( $if_gvt $ip_gw_gvt ) from
> $ip_gvt  label "gvt"
>
> como ele é uma bridge tanto faz se uso interface bridge ou a fisica o
> resultado é o mesmo o pacote vai mais nao volta... alguem ja passou por
> isso? ou ve onde estou errando?
>
> Diogo Dalfovo
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>

Diogo;

Voce tem que dizer no pacote entrante da LAN pra onde voce quer que ele
seja roteado.

Ex.

pass in log quick on $lan_ebt_if route-to ($if_ebt $ip_gw_ebt ) inet proto
tcp from $lan_ebt_if:network to any

pass in log quick on $lan_gvt_if route-to ($if_gvt $ip_gw_gvt ) inet proto
tcp from $lan_ebt_if:network to any

Faz o NAT de tudo pra tudo que o keep state vai fazer o pacote voltar pro
lugar certo.

Esse exemplo eu peguei do nosso servidor de produção. 2 link (OI e
EMBRATEL). Tenho o controle ate da rota de hosts individuais.

Pode testar que vai rolar.
-- 
Mario Lobo
http://www.mallavoodoo.com.br
FreeBSD since version 2.2.8 [not Pro-Audio.... YET!!] (99,7% winfoes FREE)


Mais detalhes sobre a lista de discussão freebsd