[FUG-BR] Ignorando NAT (PF) para determinados IPs de destino (RESOLVIDO!)

Welkson Renny de Medeiros welkson em focusautomacao.com.br
Terça Maio 8 16:39:57 BRT 2007


A mensagem demorou para aparecer na lista... mas chutando aqui consegui 
resolver...

Não sei se é bug no PF, mas separando vários ips em uma MACRO com negação 
"!" não funciona, a regra simplesmente é ignorada... coloquei ! antes de 
cada ip, separei por vírgula, sem vírgula, com {, sem {... etc, etc, etc só 
funcionou quando fiz usando TABLE.

Ficou assim:

table <excessao-proxy> { 192.168.0.0/24, 200.201.173.0/24, 200.201.174.0/24, 
200.221.5.0/24, 200.221.2.0/24, 200.221.8.0/24 }

# proxy transparent (correcao, pois o acima nao funcionava para redes 
diferentes de 0.0)
rdr inet proto tcp from any \
  to ! <excessao-proxy> port www -> 127.0.0.1 port 8080

Na 8080 tem um Dansguardian, que joga na 3128 do squid.

Abraço a todos...


-- 
Welkson Renny de Medeiros
Focus Automação Comercial
Desenvolvimento / Gerência de Redes
welkson em focusautomacao.com.br



                      Powered by ....

                                           (__)
                                        \\\'',)
                                          \/  \ ^
                                          .\._/_)

                                      www.FreeBSD.org


----- Original Message ----- 
From: "Welkson Renny de Medeiros" <welkson em focusautomacao.com.br>
To: <freebsd em fug.com.br>
Sent: Tuesday, May 08, 2007 3:36 PM
Subject: [FUG-BR] Ignorando NAT (PF) para determinados IPs de destino


Boa tarde amigos,


Gostaria que alguns sites não passasem pelo proxy-transparente (Rádio
UOL/Conectividade, entre outros).

Tenho a seguinte regra no IPFW que FUNCIONA:

# Proxy transparente (excessao Radio Uol)
ipfw add 0000008 fwd 127.0.0.1,8080 tcp from any to not
200.201.173.0/24,200.201.174.0/24,200.221.5.0/24,200.221.2.0/24,200.221.8.0/24
dst-port 80 out recv $int_if xmit $ext_if

Agora quero fazer o mesmo em outro cliente, mas lá o firewall é todo PF...
não consegui:

# macro
radiouol = "{ 200.201.173.0/24, 200.201.174.0/24, 200.221.5.0/24,
200.221.2.0/24, 200.221.8.0/24, 200.157.179.0/24 }"

# proxy transparente
rdr inet proto tcp from any \
  to ! $radiouol port www -> 127.0.0.1 port 8080

Quando executo o pfctl:

[root em netserver:/etc] # pfctl -f pf.conf
pf.conf:117: syntax error
pfctl: Syntax error in config file: pf rules not loaded

Esta linha 171 é exatamente a do rdr mostrado acima... quando retiro a
negação "!" não ocorre erro... mas fica sem lógica a regra... eu quero que
ele ignore o proxy exatamente nesses ips...

Eu fiz testes somente com a negação dentro do macro, e apenas 1 ip,
funcionou perfeitamente... mas quando coloco mais de 1 só funciona o
primeiro... já tentei de tudo, separar por vírgula, sem separação, sem
"{"... já dei uma verificada no help do pf, etc... me ajudem ;-)

Abraço a todos.


-- 
Welkson Renny de Medeiros
Focus Automação Comercial
Desenvolvimento / Gerência de Redes
welkson em focusautomacao.com.br



                      Powered by ....

                                           (__)
                                        \\\'',)
                                          \/  \ ^
                                          .\._/_)

                                      www.FreeBSD.org

-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd



Mais detalhes sobre a lista de discussão freebsd