+ Responder ao Tópico



  1. #1

    Padrão Duvida basica

    dados iniciais:
    ip_eth0 = 201.6.61.159
    ip_eth1 = 192.168.1.1
    ip_forward = 1

    A regra:

    $iptables -t nat -A PREROUTING -i $eth0 -p tcp -d 201.6.61.159 --dport 8080 -j DNAT --to 192.168.1.2:80
    O que eu esperava como resultado:
    ==> que um acesso externo realizando http://201.6.61.159:8080 fosse encaminhado para um servidor web da rede interna com ip 192.168.1.2 na porta 80

    Mas isso nao ocorre.
    Coloquei "tcpdump -i eth1 host 192.168.1.2" e nao vai nada nesse host interno.

    Qual é o meu erro básico?

    Obrigado,

    mson77 :cry:

  2. #2

    Padrão Duvida basica

    tenta usar assim:


    #iptables -A FORWARD -p tcp -d 192.168.1.1 --dport 80 -j ACCEPT
    #iptables -t nat -A PREROUTING -p tcp -d 201.6.61.159 --dport 80 -j DNAT --to 192.168.1.1:80

  3. #3

    Padrão Duvida basica

    vc pode ir alem

    iptables -A FORWARD -p tcp -d 192.168.1.1 --dport 80 -j ACCEPT
    iptables -A FORWARD -p tcp -d 192.168.1.1 --dport 8080 -j ACCEPT

    eu sempre uso o --dport apos o -p
    e como vc tah redirecioanndo o q vem para a porta 8080 para a 80 a regra seria assim:

    iptables -t nat -A PREROUTING -p tcp --dport 8080 -d 201.6.61.159 -j DNAT --to 192.168.1.1:80

    []'s

  4. #4
    dispatcher
    Visitante

    Padrão Duvida basica

    mson 77 , aparentemente sua regra está correta , exceto talvez pelo "$" na frente de eth0.

  5. #5

    Padrão Duvida basica

    Ah... o fato de eu ter colocado $eth0 é porque eu usei como variavel.

    Usei a dica de colocar "--dport 8080" logo apos "-p tcp" ... mas nao adiantou.
    Na regra forward... tá tudo liberado... pra porta 80 e 8080, de conexoes entrantes!

    $iptables -t nat -A PREROUTING -i $eth0 -p tcp --dport 8080 -d 201.6.61.159 -j DNAT --to 192.168.1.2:80
    $iptables -N state_chk
    $iptables -A state_chk -m state --state ESTABLISHED,RELATED -j ACCEPT
    $iptables -A state_chk -p tcp --dport 80 -j ACCEPT
    $iptables -A state_chk -p tcp --dport 8080 -j ACCEPT
    $iptables -A state_chk -m state --state NEW -i ! $eth0 -j ACCEPT
    $iptables -A state_chk -j DROP

    $iptables -A INPUT -j state_chk
    $iptables -A FORWARD -j state_chk
    O comentario do demiurgo tem um equivoco... o destino é uma maquina da rede interna (192.168.1.2). Nao é eth1 do firewall (192.168.1.1).

    E agora? Como resolver?

    HELP needed! Please!



    Abracos,

    mson77