Welkson Renny de Medeiros escreveu: > Welkson Renny de Medeiros escreveu: > >> Alessandro de Souza Rocha escreveu: >> >> >>> da uma olhada. >>> http://www.free.bsd.com.br/noticia.php3?CAD=1&NOT=159 >>> >>> >>> >> Alessandro, >> >> Como expliquei pelo Talk... eu fiz testes com essa solução e outras que >> encontrei... >> >> Funciona tudo perfeito.. navego normalmente e vejo o proxy funcionando (tail >> -f acccess.log)... o problema é que no access.log aparece o IP do GATEWAY e >> não do terminal que está usando a net. >> >> Já procurei MUITA coisa na net... já li a documentação do squid, testei >> (x_forward_for, entre outras)... sem sucesso... fiz testes com squid 2.6 e >> 2.7... decidi então compilar o mais atual (3.1)... tive que adaptar algumas >> coisas on squid.conf, mas consegui levantar o serviço... mas o mesmo erro >> ocorre (compilei com pf+transp, x_fowardfor, etc). >> >> Acredito ser uma boa prática instalar o proxy em uma máquina DIFERENTE do >> gateway... alguém deve ter ambiente parecido funcionando... se postar o >> squid.conf e o trecho do pf.conf que faz o rdr já me ajuda muito. >> >> Help-me!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >> >> > > Encontrei alguma coisa, mas pra Linux... abaixo estou postando as regras > (adaptei de acordo com o pouco que conheço de IPGambiTables =) > http://www.faqs.org/docs/Linux-mini/TransparentProxy.html#s6 > > ################### pf.conf do GATEWAY (192.168.0.254) > ########################## > # NAT usado no proxy transparente > nat on $int_if from $int_if:network to 192.168.0.250 port { 80,8080 } -> > $int_if > > # redireciona todo tráfego que chegar na porta 80 para o servidor proxy > (192.168.0.250) > rdr inet proto tcp from !192.168.0.250 to any port www -> 192.168.0.250 > port 8080 > > # libera a saída do pacote (só para desencargo, pois em outra regra eu > libero toda a saída) > pass in quick on $int_if proto tcp from any to 192.168.0.250 port { 80, > 8080 }keep state > ################### FIM do pf.conf do GATEWAY (192.168.0.254) > ################### > > > > ############### squid.conf na máquina do PROXY (192.168.0.250 <---- > OUTRA máquina) ############## > > [r...@services:/usr/local/etc/squid] # sed '/^$/d' squid.conf > http_port 8080 transparent > log_fqdn off > hierarchy_stoplist cgi-bin ? > acl QUERY urlpath_regex cgi-bin \? > cache_dir diskd /usr/local/squid/cache 15000 30 256 > cache_access_log /usr/local/squid/logs/access.log > cache_store_log /usr/local/squid/logs/store.log > cache_log /usr/local/squid/logs/cache.log > emulate_httpd_log on > acl manager proto cache_object > acl webserver src 192.168.0.254/32 > acl localhost src 127.0.0.1/32 192.168.0.254/32 > acl to_localhost dst 127.0.0.0/8 > acl SSL_ports port 443 563 > acl Safe_ports port 80 # http > acl Safe_ports port 81 # http (merda do dominio sistemas) > acl Safe_ports port 4976 # banco real > acl Safe_ports port 21 # ftp > acl Safe_ports port 443 563 # https, snews > acl Safe_ports port 70 # gopher > acl Safe_ports port 210 # wais > acl Safe_ports port 1025-65535 # unregistered ports > acl Safe_ports port 280 # http-mgmt > acl Safe_ports port 488 # gss-http > acl Safe_ports port 591 # filemaker > acl Safe_ports port 777 # multiling http > acl CONNECT method CONNECT > # acesso administrativo (usar squidclient) > acl purge method PURGE > http_access deny purge !localhost > always_direct allow all > http_access allow Safe_ports > http_access allow SSL_ports > http_access allow manager webserver > http_access deny manager > http_access deny !Safe_ports > http_access deny CONNECT !SSL_ports > http_access deny all > http_reply_access allow all > icp_access allow all > > # Usuario sob o qual ira rodar o Squid. > cache_effective_user squid > > # Grupo sob o qual ira rodar o Squid. > cache_effective_group squid > cache_mgr webmas...@focusautomacao.com.br > visible_hostname services.focusautomacao.com.br > > # necessario para proxy transparente > forwarded_for on <---- > FIZ VÁRIOS TESTES com esse parâmetro > #follow_x_forwarded_for allow webserver > #acl_uses_indirect_client > #log_uses_indirect_client on > #follow_x_forwarded_for deny all > log_icp_queries off > buffered_logs on > strip_query_terms off > logfile_rotate 4 > coredump_dir none > client_persistent_connections off > server_persistent_connections off > ie_refresh on > > ############### FIM do squid.conf na máquina do PROXY (192.168.0.250) > ########################## > > > O proxy funciona normalmente... o problema é que no log (access.log) > mostra o ip do GATEWAY (192.168.0.250), e não do usuário que está > tentando acessar algum site. > > Se alguém tiver ambiente parecido por favor, poste o pf.conf e squid.conf > > Vou continuar aqui lendo alguns livros e materiais da internet... > qualquer novidade eu comunico. >
Pessoal, Uma dúvida "teórica"... quando faço o NAT na porta 80 ele altera o cabeçalho do ip, mudando o ip de origem (source)? Vou tentar explicar melhor: Tenho uma máquina com Windows XP (192.168.0.200), tento acessar um site na porta 80... o gateway intercepta (192.168.0.254).... faz o NAT e depois o RDR para a máquina 192.168.0.250 (proxy)... no cabeçalho do IP que chega na 250 vai está 0.200 ou 0.254 como origem/source? Talvez seja esse meu problema... eu acho que o NAT faz exatamente isso (vou tentar investigar com tcpdump)... teria como fazer esse RDR sem fazer NAT? (redirecionar tráfego da porta 80 sem alterar nada/ip origem no pacote?) -- Welkson Renny de Medeiros Desenvolvimento / Gerência de Redes Focus Automação Comercial FreeBSD Community Member ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd