+ Responder ao Tópico



  1. #1

    Padrão Como fazer para Squid não mudar IP do cliente

    Amigos,

    Tenho em minha rede várias torres com MK fazendo NAT e gostaria de redirecionar o tráfego da porta 80 para o Squid, porém não quero que o IP seja alterado.

    Exemplo:

    Squid:
    - eth0: 200.xxx.xxx.1

    MK:
    - ether1: 200.xxx.xxx.17
    - wlan1: 10.20.0.1

    Cliente:
    - 10.20.0.2

    Quero que o IP do cliente saia apenas com o IP do MK (200.xxx.xxx.17) ao acessar um site como o www.meuip.com.br, por exemplo.

    Tem como?

  2. #2

    Padrão

    Você pode fazer isto atraves de uma bridge squid+tproxy+iptables

    ou

    squid+tproxy+WCCP+iptables, sem a bridge.

    O WCCP consome um elevado processamento de seu roteador, alem da necessidade de você ter 1 outra placa FastEthernet em seu roteador para plugar o servidor squid.

    A vantagem do sistema por wccp, é que havendo uma queda de operação do squid, seu clientes continuarão navegando normalmente, o que não ocorrera, autormaticamente na bridge.

  3. #3

    Padrão

    Herlon,

    nao precisa ter interface separada no router nao.. !!

    o wccp faz o papel de redirecionamento dos pacotes para o proxy atraves de um tunel do tipo GRE...

    voce pode apenas configurar squid+tproxy ... sem usar o wccp... fazendo os redirects no iptables mesmo...



    Citação Postado originalmente por herlon2008 Ver Post
    Você pode fazer isto atraves de uma bridge squid+tproxy+iptables

    ou

    squid+tproxy+WCCP+iptables, sem a bridge.

    O WCCP consome um elevado processamento de seu roteador, alem da necessidade de você ter 1 outra placa FastEthernet em seu roteador para plugar o servidor squid.

    A vantagem do sistema por wccp, é que havendo uma queda de operação do squid, seu clientes continuarão navegando normalmente, o que não ocorrera, autormaticamente na bridge.

  4. #4

    Padrão

    Bem, lembrado.

    É que imaginei minha infra-estrutura aqui, onde isto não era permitido.
    Só tera que configurar varios outgoing no squid e funcionara perfeitamente.

  5. #5

    Padrão

    Obrigado pela luz. Após as respostas andei pesquisando e encontrei um link para um tutorial:

    http://web.suffieldacademy.org/ils/netadmin/docs/software/squid/#toc7

    Encontrei o link em um tópico do fórum Viva o Linux:

    http://www.vivaolinux.com.br/topico/Squid-Iptables/tproxy-IP-valido-sem-NAT

    Quem contribuiu com a dica foi:

    http://www.vivaolinux.com.br/perfil/verPerfil.php?login=rafaelminozzo

    Valeu, obrigado.
    Última edição por e-eduardo; 14-12-2008 às 19:36.

  6. #6

    Padrão

    Segui todo o tutorial, mas ainda não está funcionando. Apliquei todos os patches corretamente, o kernel foi compilado, o iptables, o squid, tudo aparentemente deu certo.

    Acredito que deva ser algum erro na configuração da bridge e nas rotas. O exemplo apresentado no tutorial não está explicado e por isso não consegui adaptá-lo para minha necessidade.

    .... segue transcrição do tutorial:

    Bridge Setup

    We configure our system as a network bridge, which means that it sits between two physical devices on our network and relays the packets between them. However, there's a twist: we intercept certain packets (those destined for port 80) and shunt them to Squid for processing.
    You'll need two ethernet cards in your machine to bridge between (one "in" and one "out", as it were). You can use another card for a management IP address, or you can actually assign an address to the bridge itself and reach the machine just as you would a "real" interface.
    In order to set up the bridge, we need to make a few tweaks to the system. First, we need to install some software that's necessary for setting up a bridge:
    apt-get install bridge-utils

    Next, edit /etc/network/interfaces. You should already have a stanza for a statically configured interface (e.g., eth0). Keep the settings for the stanza, but replace the interface name with br0. Also, add the line bridge_ports ethXXX ethYYY to add them to the bridge. For example:
    auto br0iface br0 inet static bridge_ports eth0 eth1 address 192.168.0.100 netmask 255.255.255.0 gateway 192.168.0.1

    Additionally, if your setup is like ours you'll need to add some routing to the box so it knows where to send packets. Our Squid box sits just between our firewall/router and LAN. Thus, it needs to be told how to route packets to the LAN and packets to the outside world. We do this by specifying the firewall as the "gateway" in the interfaces file, and adding a static route for our LAN. Thus, you would add the following lines to /etc/network/interfaces in the br0 stanza:
    up route add -net 192.168.1.0/24 gw 192.168.1.1 down route del -net 192.168.1.1/24 gw 192.168.1.1

    We'll need to tell the kernel that we're going to forward packets, so make sure the following are set in /etc/sysctl.conf:
    net.ipv4.conf.default.rp_filter=1net.ipv4.conf.default.forwarding=1net.ipv4.conf.all.forwarding=1

    Once you're all set, the easiest thing to do is reboot for the bridge config to take effect. The other settings should now be working also. cat /proc/sys/net/ipv4/ip_forward to confirm that the machine is in forwarding mode.


    Alguém poderia passar um exemplo de configuração da bridge?
    Última edição por e-eduardo; 15-12-2008 às 21:53.

  7. #7

    Padrão

    Pelo que estive olhando meu problema pode estar também no parâmetro: tcp_outgoing_address; eu o configurei com o endereço do meu roteador:

    tcp_outgoing_address 200.xxx.xxx.14

    Minha rede está assim:

    ----<<ROUTER>>---<<SW1>>---<<TPROXY+SQUID+BRIDGE>>---<<COMP.TESTES>>

    Router: 200.xxx.yyy.14/28

    TProxy: 200.xxx.yyy.3/28 (bridge eth0 + eth1)

    Computador de teste: 200.xxx.yyy.7/28 gw 200.xxx.yyy.14

  8. #8

    Padrão

    e-eduardo conseguiu configurar, estou com o mesmo problema aqui, se puder me dar uma luz agradeco.

  9. #9

    Padrão

    O outgoing tem que ser o gateway de saida para a net