Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1
    Valhalla
    Visitante

    Padrão Desafio Squid + Iptables

    Tenho aqui na empresa um servidor Linux rodando Red Hat 7.3 e uma rede Windows porém o servidor funciona como proxy para esta rede um proxy transparente que fiz baseado no tutorial "Squid Ninja", mas estou encontrando um sério problema, as estações navegam normalmente na internet mesmo sem regras de iptables, é como se as estações (todas Windows XP) estivessem conectadas diretamente, sem passar pelo servidor, isso só não é possivel quando paro o squid, já limpei o cache e tudo mais, as páginas de erros no squid só aparecem quando efetuo as configurações de proxy no navegador, estou usando um script de iptables assim.

    #!/bin/bash

    echo 1 >/proc/sys/net/ipv4/ip_forward

    modprobe ip_conntrack
    modprobe ipt_MASQUERADE
    modprobe ipt_LOG
    modprobe iptable_nat
    modprobe ip_conntrack_ftp


    iptables -F
    iptables -Z
    iptables -t nat -F
    iptables -t filter -P FORWARD DROP

    iptables -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT
    iptables -t filter -A OUTPUT -o lo -s 0/0 -d 0/0 -j ACCEPT

    iptables -t filter -A INPUT -i eth1 -m state --state NEW -j ACCEPT
    iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    iptables -t filter -A FORWARD -d 0/0 -s 192.168.10.0/24 -o eth0 -j ACCEPT
    iptables -t filter -A FORWARD -d 192.168.10.0/24 -s 0/0 -i eth0 -j ACCEPT
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
    iptables -t filter -A INPUT -s 192.168.10.0/24 -d 0/0 -j ACCEPT
    iptables -t filter -A OUTPUT -s 192.168.10.0/24 -d 0/0 -j ACCEPT
    iptables -t filter -A OUTPUT -p icmp -s 192.168.10.0/24 -d 0/0 -j ACCEPT


    No squid está habilitado

    http_access allow rede_interna
    httpd_accel_host virtual

    httpd_accell_port 80

    httpd_accel_with_proxy on
    httpd_accel_uses_host_header on

    Gostaria de saber se alguem ja enfrentou algo parecido e se podem me ajudar.

    Obrigado desde já.




  2. #2
    Spetsnaz
    Visitante

    Padrão Desafio Squid + Iptables

    Fala ae...

    Pode estar ocorrendo impasse de processamento nas suas regras.
    Você realmente precisa de todas aquelas regras no seu script, ou apenas copiou?
    Na minha rede eu uso a seguinte regra para direcionar o acesso http:
    iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --
    to-port 3128
    Note que estou discriminando a origem...

    Espero ter ajudado.

    []´s

  3. #3
    Valhalla
    Visitante

    Padrão Desafio Squid + Iptables

    Retirei todas as regras e inseri somente a regra acima mas não adiantou não, está a mesma coisa.


  4. #4

    Padrão Desafio Squid + Iptables

    tenta isso:

    IPTABLES=/usr/sbin/iptables
    ANY="0/0"
    #rede interna
    INET="192.168.0.0"
    #mascara interna
    IMASK="255.255.255.0"
    # IP interno do servidor
    IIP="192.168.0.100"
    #IP externo
    OIP="200.XXX.XXX.XXX"
    # interface interna
    IIF="eth1"

    $IPTABLES -t nat -A POSTROUTING -o $IIF -j MASQUERADE

    #####################################################
    # Redireciona requisicoes de HTTP para o SQUID

    $IPTABLES -t nat -A PREROUTING -s $INET/$IMASK -p tcp --dport 80 -j REDIRECT --to-port 3128

    #####################################################
    # Altera endereço de origem para o endereço real

    $IPTABLES -t nat -A POSTROUTING -s $IIP/$IMASK -j SNAT --to $OIP
    <IMG SRC="images/forum/smilies/icon_biggrin.gif">

  5. #5

    Padrão Desafio Squid + Iptables

    Ola,

    Não sou muito experiente, mas acho que vc tirou cisa demais. tente este script, comigo funcionou legal.

    #!/bin/sh
    #..

    /sbin/depmod -a
    modprobe iptable_nat

    #Regras
    #Mascara todos os pacotes que sairem pela eth0 ( internet )
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

    OBS: lenbre de trocar a gama de IP da regra pelo da sua rede.

  6. #6

    Padrão Desafio Squid + Iptables

    Isso soh eh necessario se o seu kernel não estiver compilado para suportar NAT... se jah tiver nem precisa das linhas abaixo....
    >> /sbin/depmod -a
    >> modprobe iptable_nat

    E isso aki eu não faço pq soh quero mascarar HTTP, o resto eu controlo por outra regra....
    >> #Regras
    >> #Mascara todos os pacotes que sairem pela eth0 ( internet )
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE


  7. #7

    Padrão Desafio Squid + Iptables

    <TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE>
    On 2002-09-30 08:51, 1c3_m4n wrote:
    Isso soh eh necessario se o seu kernel não estiver compilado para suportar NAT... se jah tiver nem precisa das linhas abaixo....
    >> /sbin/depmod -a
    >> modprobe iptable_nat

    E isso aki eu não faço pq soh quero mascarar HTTP, o resto eu controlo por outra regra....
    >> #Regras
    >> #Mascara todos os pacotes que sairem pela eth0 ( internet )
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE


    </BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE>

  8. #8
    slyz
    Visitante

    Padrão Desafio Squid + Iptables

    Sugiro tambem a leitura do howto:

    www.tldp.org/mini/HOWTO/TransparentProxy.html

    Lá estao as diretivas necessarias no Kernel para funcionamento do Proxy Transparente.


  9. #9
    Valhalla
    Visitante

    Padrão Desafio Squid + Iptables

    Ok meus amigos tentei todas as alternativas acima, com relação ao mascaramento, não estou tendo problemas, o meu problema esta sendo realmente o Proxy Transparente, que não funciona de jeito nenhum, o proxy só está funcionando mesmo se eu inserir a configuração no navegador , com relação ao tutorial acima citado o link acho que deixou de existir.

  10. #10

    Padrão Desafio Squid + Iptables

    Deixa eu ver se entendi direto, vc quer que os navegadores dos seus clientes detectem automaticamente a configuração do proxy?
    Se for isso a ultima coisa q posso falar eh para abilitar essa opção do squid

    ie_refresh on

    Fora isso minha configuração está praticamente igual ao que jah foi dito anteriormente e funciona numa boa.

  11. #11
    Valhalla
    Visitante

    Padrão Desafio Squid + Iptables

    Ok habilitei a opção acima mas me diz uma coisa, quando um cliente MS requisita uma URL que não se pode resolver aparece no navegador a página default do Squid?
    Esta está sendo minha dúvida com relação ao proxy transparente, pois com as opções acima listadas eu consegui sim resolver em partes o problema pois agora sem as regras do firewall não se navega por aqui não, só resta então esta dúvida quanto as páginas default do Squid.

    Obrigado mais uma vez.

  12. #12
    Spetsnaz
    Visitante

    Padrão Desafio Squid + Iptables

    Como diria um legista: - Vamos por partes...
    Vou te passar "parte" do que fiz aquí:
    /etc/rc.local:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    modprobe iptable_nat
    iptables-restore < /etc/muro/regras (onde salvei as regras p/ uma carga rapida)
    insmod ip_conntrack_ftp
    insmod ip_nat_ftp

    NAT
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --
    to-port 3128
    iptables-save > /etc/muro/regras (salva né?)

    Squid (squid.conf)
    acl CONNECT method CONNECT
    acl rede_interna src 192.168.1.0 <---
    http_access allow all rede_interna <---
    httpd_accel_host virtual
    httpd_accel_port 80
    httpd_accel_with_proxy on
    httpd_accel_uses_host_header on

    Dica: se você alterou muito o squid.conf, volta pro original, caso ainda o tenha, e muda esse minino ae e testa.
    Espero que agora funcione...

    []´s <IMG SRC="images/forum/smilies/icon_smile.gif">

  13. #13
    Valhalla
    Visitante

    Padrão Desafio Squid + Iptables

    OK minhas confs estão iguais as suas, todos os módulos carregados,o squid.conf está somente com as alterações citadas, porém este proxy está parecendo coisa do além, todos estão navegando via proxy agora , porém as páginas defaults do squid não são exibidas quando de um erro ou uma requisição inexistente.


  14. #14

    Padrão Desafio Squid + Iptables

    da uma olhada no /etc/squid/errors/ lah estao todas as paginas default do squid....

    e oq ele exibe qdo fazem conexoes inexistentes?

    <font size=-1>[ Editado por 1c3_m4n On Date 30-09-2002 em 13:38 ]</font>

  15. #15
    Valhalla
    Visitante

    Padrão Desafio Squid + Iptables

    Ele exibe a página default de erro do IE que são os clientes porém as páginas do squid estão todas lá mas não aparecem

  16. #16

    Padrão Desafio Squid + Iptables

    é não sei pq mas existem algumas paginas que o ele assume as paginas do IE e não a do squid, eu vi isso acontecer em dois casos...

  17. #17
    Valhalla
    Visitante

    Padrão Desafio Squid + Iptables

    Deve ser o que está acontecendo aqui comigo, e tem mais as confs de restrição quanto a sites pornográficos também não estão funcionando.

  18. #18

    Padrão Desafio Squid + Iptables

    essa eh a conf q uso pra isso.....
    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl SSL_ports port 443 563
    acl Safe_ports port 80 # http
    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
    acl password proxy_auth REQUIRED
    acl proibir_palavras url_regex "/etc/palavras"

    http_access allow manager localhost
    http_access deny manager
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports
    http_access allow localhost
    http_access deny proibir_palavras
    http_access allow password


  19. #19
    Valhalla
    Visitante

    Padrão Desafio Squid + Iptables

    Sim , tirando a autenticação que na sua é requerida, realizei as confs como está em web.onda.com.br/orso e não tive sucesso não, mas está parecida com a sua.
    Não sei se preciso remover meu squid e tentar atualizar p/ a nova versão e refazer as confs, ou sei lá, mas sei que estou perdendo um tempão com isso aqui.

    <IMG SRC="images/forum/smilies/icon_confused.gif">

  20. #20

    Padrão Desafio Squid + Iptables

    cara da uma olhada na ordem em q estao os http_access... isso faz muuuuuuuuuuita diferenca, jah perdi mto tempo com isso tb