+ Responder ao Tópico



  1. #1

    Padrão redir INTERNO não funciona :(

    bem..
    estou fazendo o redirecionamento de alguns serviços para máquinas internas:

    $IPT -t nat -A PREROUTING -p tcp -d 200.XXX.XXX.XXX --dport 80 -j DNAT --to 128.0.11.2:1022
    $IPT -t nat -A POSTROUTING -p tcp -s 128.0.11.2 --sport 1022 --dport 1024:65535 -j SNAT --to 200.XXX.XXX.XXX:80

    a partir do mundo tudo funciona bem.. mas minha propria rede se perde não consegue resposta.

    como o período não é o ideal - sexta feira, as proximas 2 semanas todo mundo de férias, não vai dar pra acertar/olhar isso com as ferramentas convencionais (pra onde vão meus pacotes?).

    a pergunta: se alguém já tiver resolvido caso similar, por favor, poste aqui.

    grato

  2. #2

    Padrão

    Citação Postado originalmente por irado Ver Post
    $IPT -t nat -A PREROUTING -p tcp -d 200.XXX.XXX.XXX --dport 80 -j DNAT --to 128.0.11.2:1022
    $IPT -t nat -A POSTROUTING -p tcp -s 128.0.11.2 --sport 1022 --dport 1024:65535 -j SNAT --to 200.XXX.XXX.XXX:80
    Tentarei te explicar nos 2 exemplos, primeiro vamos para rede externa:
    - A sua 1ª regra é um DNAT na PREROUTING correto?? Isso é nada mais, nada menos que ALTERAR SOMENTE O DESTINATARIO do pacote para o novo destinatário descrito na regra, a origem do pacote continua sendo a mesma.
    - Quando o seu servidor de sua rede interna reponde a solicitação, obviamente precisará do gateway para poder responder pelo fato do ip que fez a solicitação não estar em uma mesma rede.
    - Quando essa resposta volta para o source, o seu gateway aplica a segunda regra, SNAT, alterando somente o source do pacote gravando-o o seu ip valido com a porta 80.


    Ótimo, agora vamos para o exemplo em rede interna:
    - A solicitação vai ao gateway em busca do 200.xxx.xxx.xxx e o seu gateway faz o mesmo serviço dando um novo destino ao pacote. Obs.: o source do pacote continua o mesmo (128.xxx.xxx.xxx)
    - Esse pacote chega ao seu servidor de aplicação, porem quando ele vai retornar, ele não necessita passar pelo gateway porque quem fez a solicitação esta em sua própria rede.
    - Resumindo, o seu servidor de aplicação tenta enviar para o solicitante a resposta direto pela porta 1022, e não pela porta que o solicitante esta aguardando receber (porta 80).

    Espero ter entendido, qualquer duvida estou a disposição



  3. #3

    Padrão

    rogeriokde disse tudo aí em cima.

    tenta usar essa regra

    Código :
    iptables -t nat -A POSTROUTING -d [COLOR=black][FONT=Verdana]128.0.11.2 -p tcp --dport 1022[/FONT][/COLOR] -j SNAT --to $IP_DO_GATEWAY

  4. #4

    Padrão

    De uma olhada no "rinetd" muito simples para se fazer redirecionamentos...

    Um Abraço,
    Marcelo Piaz Vianna



  5. #5

    Padrão

    Citação Postado originalmente por Patrick Ver Post
    rogeriokde disse tudo aí em cima.

    tenta usar essa regra

    Código :
    iptables -t nat -A POSTROUTING -d [COLOR=black][FONT=Verdana]128.0.11.2 -p tcp --dport 1022[/FONT][/COLOR] -j SNAT --to $IP_DO_GATEWAY
    estava terminando de elaborar a regra parecida com essa que vc postou, veja:

    #--> para solicitações internas
    $IPT -t nat -A POSTROUTING -p tcp -d 128.0.11.2 -s $REDE -p tcp --dport http,ftp-data:ftp,1022:1024 -j SNAT --to 128.0.11.4
    $IPT -t nat -A POSTROUTING -p tcp -d 128.0.11.11 -s $REDE -p tcp --dport 81 -j SNAT --to 128.0.11.4

    baseado neste tutorial:
    Linux 2.4 NAT HOWTO: Destination NAT Onto the Same Network

    deve resolver o problema

  6. #6

    Padrão

    Citação Postado originalmente por irado Ver Post
    estava terminando de elaborar a regra parecida com essa que vc postou, veja:

    #--> para solicitações internas
    $IPT -t nat -A POSTROUTING -p tcp -d 128.0.11.2 -s $REDE -p tcp --dport http,ftp-data:ftp,1022:1024 -j SNAT --to 128.0.11.4
    $IPT -t nat -A POSTROUTING -p tcp -d 128.0.11.11 -s $REDE -p tcp --dport 81 -j SNAT --to 128.0.11.4

    baseado neste tutorial:
    Linux 2.4 NAT HOWTO: Destination NAT Onto the Same Network

    deve resolver o problema
    isso deve resolver. se der certo posta a solução aí =)