[FUGSPBR] nat proxy transparent regras dinamicas

xmailx xmailx em terra.com.br
Ter Jul 8 23:18:42 BRT 2003


porxy nao da'!!!! estou corrindo o assunto para melhorar as consultas dos
colegas no futuro.

Prezados,

Instalei o freebsd 4.8 com proxy transparent, nat e regras dinamicas.
Aparentemente pelos logs que vi esta' tudo funcionando conforme esperado.

Minha duvida e' com relacao 'as regras dinamicas.

O NAT vem antes das regras dinamicas.

Como tenho que liberar a saida para a porta 80 antes do NAT, nao tenho como
fazer esta regras ser dinamica por que o check-state esta depois. Vejam como
ficou:

obs: fxp0 interface externa, fxp1 interface interna

add 000200 allow log all from any to any via lo0
add 000210 deny log all from any to 127.0.0.0/8
add 000220 deny log all from 127.0.0.0/8 to any
add 000230 allow log tcp from 192.168.1.1 to any 80
add 000240 fwd 127.0.0.1,3128 log tcp from 192.168.1.0/24 to any 80
add 000250 divert natd all from any to any via fxp0
add 000260 check-state
add 000270 allow log udp from 192.168.1.0/24 to 200.x.y.z 53 in via fxp1
keep-state
add 000280 allow log layer2 not mac-type ip

O conjunto de regras acima funciona. A questao e' que a regra 230 nao e'
dinamica como as demais regras do firewall. Eu gostaria que fosse dinamica.

Antes que alguem pergunta o porque da regra 280 acima e regra 300 abaixo ja
vou antecipar: se nao tiver esta regra minha rede nao permite nada e nega
MAC direto. Estou usando IPFW2. Eu nunca vi este erro com o ipfw1

Bom, seguindo...

Entao eu tentei o seguinte:

add 000200 allow log all from any to any via lo0
add 000210 deny log all from any to 127.0.0.0/8
add 000220 deny log all from 127.0.0.0/8 to any
add 000230 skipto 260 from 192.168.1.1 to any 80
add 000250 divert natd all from any to any via fxp0
add 000260 check-state
add 000270 allow log tcp from 192.168.1.1 to any 80 setup keep-state
add 000280 fwd 127.0.0.1,3128 log tcp from 192.168.1.0/24 to any 80
add 000290 allow log udp from 192.168.1.0/24 to 200.x.y.z 53 in via fxp1
keep-state
add 000300 allow log layer2 not mac-type ip

Depois disso o proxy transparente parou de funcionar e tudo ficou por conta
do NAT. Eu, logico deixei como estava ate conseguir fazer a regra dinamica
que pretendo.

Alguma ideia do erro que estou cometendo, sintaxe ou conceitual? Mais uma
pergunta: eu nao poderia colocar o nat depois do check-state? ou seja:

add 000260 check-state
add 000270 allow log tcp from 192.168.1.1 to any 80 setup keep-state
add 000280 fwd 127.0.0.1,3128 log tcp from 192.168.1.0/24 to any 80
add 000290 divert natd all from any to any via fxp0
add 000300 allow log udp from 192.168.1.0/24 to 200.x.y.z 53 in via fxp1
keep-state
add 000310 allow log layer2 not mac-type ip

Grato a todos.


Meu kernel:

#enable ipfw with default deny all packets and firewall parameters
options         IPFIREWALL              #enable firewall
options         IPFIREWALL_FORWARD      #enable transparent proxy support
options         IPFIREWALL_VERBOSE      #enable firewall logging to syslogd
options         IPFIREWALL_VERBOSE_LIMIT=10     #limit verbosity
options         IPFW2                   #enable ipfw2
options         IPSTEALTH               #stealth forwarding (forwardind
packets without
                                        #touch the ttl; hide firewall from
                                        #traceroute and similar tools
options         ACCEPT_FILTER_DATA
options         ACCEPT_FILTER_HTTP
options         TCP_DROP_SYNFIN         #drop TCP with SYN+FIN; hide from
nmap
                                        #and similar tools/hide TCPIP stack
but
                                        #breaks RFC 1644 extensions;
                                        #not recomended for web servers
options         ICMP_BANDLIM            #rate limit bad replies; protect
from D.O.S packets attack
options         DUMMYNET                #enable trafic shaping
options         IPDIVERT                #enable NAT
options         TCPDEBUG

rc.conf

firewall_enable="YES"
firewall_quiet="NO"
firewall_script="/etc/rc.firewall"
firewall_type="/etc/ipfw.rules"
natd_enable="YES"
natd_interface="fxp0"
natd_flags="-l -u -f /etc/natd.conf"


natd.conf

interface fxp0
dynamic yes
same_ports yes
use_sockets yes

xmailx

_______________________________________________________________
Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd