+ Responder ao Tópico



  1. #1
    regisbs
    Visitante

    Padrão Redirecionando requisições (SQUID - IPTABLES) para outro servidor

    Caros,

    Tenho um proxy transparente (squid) rodando na maquina com duas placas obviamente eth0 - 192.168.192.100 (entrada), eth1 - 192.168.192.101 (saida). Tenho o firewall em outra maquina (IP: 192.168.192.50). Quero fazer um redirect de quando o proxy receber requisicao na eth0 e o --DPORT 23000 e 50000 ele repasse a requisicao para a placa do firewall, tentei varias solucoes com iptables que vi aqui no forum mas nao consegui... como deverei fazer. A unica regra do iptables nessa maquina é a do proxy transparente:

    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

  2. #2

    Padrão

    Não entendi direito como que tá o esquema seu aí, mas a regra para fazer esse redirect é:

    Código :
    # iptables -t NAT -A PREROUTING -i eth0 -m multiport  -p TCP --dports 23000,50000 -j DNAT --to 192.168.192.50
    # iptables -t NAT -A PREROUTING -i eth0 -m multiport  -p UDP --dports 23000,50000 -j DNAT --to 192.168.192.50

    Eu estou com sono e não sei se isso vai funcionar, hehehe.

  3. #3

    Padrão

    quando vc nao informa a porta no DNAT ele direciona para a mesma de origen

    entao se voce quer direcionar a porta 80 para a porta 8080 do servidor 192.168.192.50 tente

    iptables -t nat -A PREROUTING -o eth1 -p tcp --dport 80 -j DNAT --to 192.168.192.50:8080


    onde eth1 é a placa de rede que esta ligada ao roteador
    192.168.192.50 é o servidor proxy e 8080 a porta do proxy

  4. #4

    Padrão

    Citação Postado originalmente por alexandrecorrea Ver Post
    quando vc nao informa a porta no DNAT ele direciona para a mesma de origen

    entao se voce quer direcionar a porta 80 para a porta 8080 do servidor 192.168.192.50 tente

    iptables -t nat -A PREROUTING -o eth1 -p tcp --dport 80 -j DNAT --to 192.168.192.50:8080


    onde eth1 é a placa de rede que esta ligada ao roteador
    192.168.192.50 é o servidor proxy e 8080 a porta do proxy
    Embora o cara não tenha perguntado isso no post, acho importante lembrar!

  5. #5
    regisbs
    Visitante

    Padrão

    Tentei fazer o primeiro codigo, não rodou, dei um flush nas regras, inseri a regra do proxy e depois inseri a regra das portas tcp, ainda continua bloqueando.

    O problema é que essas portas conectam o SERPRO e o Conectividade Social, que não podem ter cache, por isso tem problema se eu usar pelo proxy, teria que redirecionar para sair sem proxy.

    Sds,

    Régis.

  6. #6

    Padrão

    Poxa, no fórum isso já foi comentado. Dá uma pesquisada dentro do fórum que tu encontra as regras.

  7. #7

  8. #8

    Padrão

    no meu caso eu quero é que todas as comunicações atraves dessas portas nao passem pelo firewall. essas portas aqui são utilizadas por um soft da secretaria de saude que se comunica com o datasus.. mas os caras do datasus nao me dao os ips reais dos servidores deles. qual seria a solução apra redirecionar as portas sem passar pelo firewall?

  9. #9

    Padrão

    na verdade o que faz proxy transparente eh somente a porta 80 !!!

    as outras portas sao apenas mascaradas... o acesso eh feito sem intermedio do squid...

    o que acontece com os programas da caixa (e similares) eh que usam a porta 80 !! entao como o squid esta configurado para "capturar" os pacotes com destino a porta 80... acontece este problema porque o programa da caixa nao eh uma conexao HTTP !!!

    entao o que voce precisa fazer eh colocar uma regra que de um ACCEPT quando o DESTINO for o ip do sistema da caixa... isso resolve o problema

  10. #10

    Padrão

    por exemplo

    vc tem assim:

    #!/bin/bash

    ...
    ...
    ...
    iptables -t nat -A POSTROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1:3128


    entao voce precisa fazer assim:

    #!/bin/bash

    ...
    ...
    ...
    iptables -t nat -A POSTROUTING -d 200.201.160.0/20 -j ACCEPT
    iptables -t nat -A POSTROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1:3128



    basta colocar a linha com ACCEPT acima da linha que redireciona os pacotes para o proxy...

    200.201.160.0/20 é o bloco alocado para a CAIXA ... coloquei o bloco inteiro porque cada programa utiliza um ip diferente...