+ Responder ao Tópico



  1. #1
    cag
    Visitante

    Padrão DNAT, input , forward.

    Galera para acessar uma porta de fora, e ser redirecionado para outra porta da minha rede interna.
    eu libero a interface interna com -i e porta, mas n funciona.
    Se eu jogar accept no policiamento funciona!

    Obrigado

  2. #2

    Padrão DNAT, input , forward.

    Oi, para acesso vindo da internet para a sua rede, vc precisa do PREROUTING e do FORWARD ... INPUT somente se o acesso fosse no seu proprio firewall...

    Agora via web ou automaticamente eu desconheço....

  3. #3
    cag
    Visitante

    Padrão DNAT, input , forward.

    é que eu liberei na forward assim:
    iptables -A FORWARD -i eth0 -p tcp --dport 700 -j ACCEPT

    e n funciona o redirecionamento.

    se deixo a forward accept funciona.

  4. #4
    drginfo
    Visitante

    Padrão DNAT, input , forward.

    seja mais específco, assim fica difícil te ajudar, temos que saber como estão sua políticas ( default DROP ou default ACCEPT)

    qual porta vc quer abrir?
    pra uma máq. da rede interna?
    redirecionamento de portas?

  5. #5
    cag
    Visitante

    Padrão DNAT, input , forward.

    sim, redirecionar a porta 7000 para a porta 7000, de uma máquina especifica da rede interna.
    Já fiz o DNAT, e funciona com a Politica ACCEPT, da forward.

    Mas quando coloco DROP na forward, e coloco essa regra
    (iptables -A FORWARD -i eth0 -p tcp --dport 7000 -j ACCEPT) nao funciona

    Lembrando que minha politica é drop para tudo

  6. #6
    drginfo
    Visitante

    Padrão DNAT, input , forward.

    É o seguinte tb tive este problema, e o que vc tem que fazer é o seguinte:

    vc deve liberar a porta tanto no PREROUTING qto no POSTROUTING e FORWARD, se vc não liberar o POSTROUTING não vai funcionar.
    ex.:

    liberar porta 22 para 192.168.0.51 ( micro da rede interna qualquer)

    $ipt -A FORWARD -p tcp -i $modem --dport 22 -d 192.168.0.51 -j ACCEPT

    $ipt -t nat -A POSTROUTING -p tcp -d 192.168.0.51 --dport 22 -j ACCEPT

    $ipt -t nat -A PREROUTING -p tcp -i $modem --dport 22 -j DNAT --to 192.168.0.51

    Pronto aí está as tres regras necessárias para vc fazer oredirecionamento de portas para qualquer micro da rede interna
    lembrando que $modem = interface da internet ok!

    Espero ter ajudado.

  7. #7
    cag
    Visitante

    Padrão DNAT, input , forward.

    Opa, é que eu estou modificando agora a porta, entra na 7000 e vai para a 22, de uma máquina especifica.

    O PREROUTING, é o responsavel para isso certo ?

    Mas quando coloco a FORWARD para accept, funciona.

    Automaticamente o POSTROUTING, fica ACCEPT com isso ?

  8. #8
    cag
    Visitante

    Padrão DNAT, input , forward.

    Olhei uns tópicos, o PREROUTING deve ser antes do FORWARD, nesse caso ?

  9. #9
    drginfo
    Visitante

    Padrão DNAT, input , forward.

    cag é o seguinte:

    não sou expert em iptables mas vou te dizer +/- o que eu sei:

    Tabela filter (padrão)

    Tudo que for diretamente para o teu firewall voce deve liberar na regra INPUT.
    Tudo que voce for repassar para outro micro da rede deve ser FORWARD
    Tudo que sai do seu firewall é OUTPUT

    Agora vamos para a tabela nat

    Compartilhamento de conexão do firewall para rede interna é MASQUERADE
    Tudo que chega no firewall, mas é destinado a outro micro da rede é redirecionamento e usamos DNAT
    Tudo que cheaga no firewall e é destinado a ele mesmo, mas só alterando as portas de origem e destino é REDIRECT (como ex. temos as conexões do squid, que tudo que chegar na porta 80 vai pra 3128 do squid)

    A regra POSTROUTING serve quando usamos DNAT e a política de FORWARD for default DROP, pois neste caso todo seu redirecionamento está negado, logo você deve fazer as regras corretas primeiro o DNAT da "porta" depois POSTROUTING desta mesma "porta", e pelo que eu pude percebervocê só alterou as regras da tabela padrão ( INPUT, FORWARD E OUTPUT) se eu estiver correto as regras de POSTROUTING PREROUTING estão default ACCEPT, por isso quando vc libera o FORWARD as suas regras funci
    onam.

  10. #10
    cag
    Visitante

    Padrão DNAT, input , forward.

    sim, entao só esqueci o POSTROUTING.

    Seguinte

    (FORWARD DROP):

    Tinha feito o DNAT (PREROUTING) , e liberei na FORWARD então nao funcionava porque eu não fiz a regra POSTROUTING certo ?


    (FORWARD ACCEPT):

    Só com a regra PREROUTING DNAT já funciona.
    Nao preciso colocar a POSTROUTING.
    Entao quando a forward é DROP, a POSTROUTING tb fica DROP ?
    Porque nao tem logica, com ACCEPT no FORWARD, funciona sem a regra do POSTROUTING.

  11. #11
    drginfo
    Visitante

    Padrão DNAT, input , forward.

    foi o que eu falei acima, sua regra de POSTROUTING e PREROUTING estão default ACCEPT, por isso que quando vc muda o FORWARD para ACCEPT ela funciona, um outro detalhe, a regra POSTROUTING é sempre a última regra a ser consultada no Firewall e a primeira é a PREROUTING da tabela mangle ok.
    Espero ter ajudado.

  12. #12
    cag
    Visitante

    Padrão DNAT, input , forward.

    opa, editei o post bem na hora que você postou.
    Quando deixo FORWARD DROP, a POSTROUTING fica DROP tb entao ?

  13. #13
    cag
    Visitante

    Padrão DNAT, input , forward.

    Vou tentar explicar melhor.

    Quando deixo ACCEPT a FORWARD.
    Eu nao faço a regra de POSTROUTING e funciona.


    Mas quando eu deixo DROP a FORWARD, eu nao faço a regra POSTROUTING e nao funciona.

    Mas em ambas, eu faço a regra PREROUTING DNAT.

    Entao quando deixo DROP, a FORWARD, a tabela POSTROUTING fica DROP tb ?

    Porque nao tem logica.
    Em ambos os casos eu nao faço uma regra.


    Será que é porque eu deixei a regra PREROUTING depois da FORWARD ?
    e está acontecendo isso.

    Mas ó complicado que só vou poder testar amanha.
    Mesmo assim Muito Obrigado.

  14. #14
    drginfo
    Visitante

    Padrão DNAT, input , forward.

    Não. Por padrão todas as regras do iptables são default
    ACCEPT no kernel, o que acontece é que quando você libera o FORWARD automaticamente ele identifica o POSTROUTING como ACCEPT e passa normalmente, e quando você nega o FORWARD vc está dizendo que todo e qualquer repasse de pacotes será negado até que alguma regra do teu firewall diga o contrário, ou seja quando você cria a regra para outra máquina e cria as regras de FORWARD, PREROUTING e POSTROUTING (última regra a ser consultada para validar a entrega do pacote) para uma regra específica.

  15. #15
    cag
    Visitante

    Padrão DNAT, input , forward.

    ah, entao agora caiu a ficha hehe.

    Achei que dropando tudo na forward, a partir do momento que eu libera-se alguma porta, automaticamente saberia o destino sem precisa da regra POSTROUTING.


    Muito Obrigado :good:

  16. #16
    cag
    Visitante

    Padrão DNAT, input , forward.

    Mas no caso a regra POSTROUTING pode mudar algo ?
    O Verdadeiro motivo dela, pelo que entendi eu só vou repetir o host nela para liberar, o repasse final do pacote.

    Mas eu poderia fazer algo a mais ? Creio eu que poderia ter uma situação diferente, (Ela não deve ser só para repetir).

    Você pode me dar algum exemplo, com uma situação diferente, só para abrir minha visao, dessa regra.
    Muito obrigado