+ Responder ao Tópico



  1. #1
    robertofl
    Visitante

    Padrão Redirecionamento de portas no Iptables

    Pessoal,

    Já li vários manuais, tentei de tudo, mas não estou conseguindo redirecionar portas no Iptables. Dando um exemplo, quero que uma máquina se conecte na porta 24 de outra e essa outra redireciona para a porta tcp 22 de um servidor SSH. Como ficariam essas regras??? Estou tentando fazer com um script bem simples de firewall para aprender o conceito, depois vou melhorando até aprender a implementar. Esse script segue abaixo:

    #! /bin/sh
    echo "Iniciando as regras de firewall..."
    # ACOES PADRÃO E EXCLUSAO DE REGRAS EXISTENTES
    iptables -t filter -P INPUT ACCEPT
    iptables -t filter -P OUTPUT ACCEPT
    iptables -t filter -P FORWARD ACCEPT
    iptables -F
    iptables -t nat -F
    #
    # PERMITINDO REDIRECIONAMENTO DE PACOTES
    echo "1" > /proc/sys/net/ipv4/ip_forward
    #
    #PERMITINDO CONEXOES JA ESTABELECIDAS
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    #
    # PERMITINDO APLICATIVOS QUE USAM CONEXOES LOOPBACK
    iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
    #
    # REDIRECIONAMENTO DO SSH
    iptables -t nat -A PREROUTING -i eth0 -d 192.168.0.199 -p tcp --dport 24 -j DNAT --to-destination 192.168.0.4:22
    iptables -t nat -A POSTROUTING -s 192.168.0.4 -d 192.168.0.129 -p tcp --dport 24 -j SNAT --to 192.168.0.199:24

  2. #2
    Lion_Black
    Visitante

    Padrão Redirecionamento de portas no Iptables

    o parametro -i eth0 nao poderia ser -i eth1?

  3. #3
    robertofl
    Visitante

    Padrão Redirecionamento de portas no Iptables

    é que nesse caso, essa máquina só tem uma placa de rede..... tou fazendo isso em uma máquina virtual

  4. #4
    Lion_Black
    Visitante

    Padrão Redirecionamento de portas no Iptables

    nao entendi ...
    sao quantos computadores na sua rede ?

  5. #5

    Padrão Redirecionamento de portas no Iptables

    Amigo tenta assim :


    $iptables -t nat -A PREROUTING -p tcp -m multiport -s <IP DE ORIGEM> -d <IP DE DESTINO> --dport 24 -j REDIRECT --to-port 22


    Flw
    T+
    :clap:

  6. #6
    robertofl
    Visitante

    Padrão Redirecionamento de portas no Iptables

    é o seguinte: depois vou implementar isso em um servidor Firewall (com duas placas de rede) para redirecionar a porta 80 do servidor web para outro servidor em uma DMZ...

    Porém, antes disso, quero aprender a sintaxe e testar um redirecionamento para ver se funciona.... Não quero implementar no servidor em produção antes de testar. .... então estou testando em uma máquina virtual VMWare com Slackware.....


    Vale citar uma coisa... usando o tcpdump, pude ver que o redirecionamento foi feito, pois aparecem as portas em questão e os hosts certos.. está faltando alguma coisa
    Obrigado pela atenção,.,.... Vlw...

  7. #7

    Padrão Redirecionamento de portas no Iptables

    Ok

  8. #8
    Lion_Black
    Visitante

    Padrão Redirecionamento de portas no Iptables

    da uma olhada na man do iptables e verifica se o parametro -i trabalha com a interface lo

  9. #9
    robertofl
    Visitante

    Padrão Redirecionamento de portas no Iptables

    pq interface lo???? no meu teste, no iptables eu quero redirecionar para o SSH de Outra máquina, não da mesma... i

  10. #10

    Padrão Redirecionamento de portas no Iptables

    Citação Postado originalmente por robertofl
    é o seguinte: depois vou implementar isso em um servidor Firewall (com duas placas de rede) para redirecionar a porta 80 do servidor web para outro servidor em uma DMZ...

    Porém, antes disso, quero aprender a sintaxe e testar um redirecionamento para ver se funciona.... Não quero implementar no servidor em produção antes de testar. .... então estou testando em uma máquina virtual VMWare com Slackware.....


    Vale citar uma coisa... usando o tcpdump, pude ver que o redirecionamento foi feito, pois aparecem as portas em questão e os hosts certos.. está faltando alguma coisa
    Obrigado pela atenção,.,.... Vlw...

    Amigo olha no log e ve o q o seu iptables esta bloqueando!!...
    Ai fica facil de resolver

  11. #11
    Lion_Black
    Visitante

    Padrão Redirecionamento de portas no Iptables

    mas nao esta tudo no mesmo computador?

    olha .;. pode implementar direto isso .... vc pega o script de firewall do seu servidor e faz backup dele... depois edita ele.. adiciona a regra referente ao redirecionamento .... se der pau .. vc restaura o backup do seu firewall

  12. #12
    rabbarros
    Visitante

    Padrão redirrecionamento

    # REDIRECIONAMENTO DO SSH
    #aceita na porta 2022, prefiro usar as portas altas
    iptables -A INPUT -i eth0 -p tcp --dport 2022 -j ACCEPT
    #redireciona o ssh
    iptables -t nat -A PREROUTING -p tcp -d 192.168.0.199 --dport 2022 -j DNAT --to-destination 192.168.0.4:22
    #faz um SNAT par que todas as saidas dos "4" saiam por "199"
    iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.4 -j SNAT --to 192.168.0.199

    espero ter ajudado

  13. #13
    robertofl
    Visitante

    Padrão Redirecionamento de portas no Iptables

    Mas eu coloco essas regras de redirecionamento antes das regras de MASQUERADE no meu firewall?????

  14. #14

    Padrão Redirecionamento de portas no Iptables

    Citação Postado originalmente por robertofl
    Mas eu coloco essas regras de redirecionamento antes das regras de MASQUERADE no meu firewall?????
    Amigo a ordem das regras no script nw importa pois depois o iptables coloca elas na ordem automaticamente.

  15. #15
    morenocm
    Visitante

    Padrão Redirecionamento de portas no Iptables

    Amigos!
    Apenas lembro que é um erro comun nao colocarmos as regras a ordem certa! Sim! Regras no Iptables tem ordem certa,esta é a diferença de um profissional qualificado de um nao qualificado.
    Se vc quer apenas fazer um redirecionamento .....
    no teu script esta tudo aberto!! Nao acho isto legal! Mas...
    Considerando isto tem apena que usar a regra de DNAT !
    vc tem uma maquina 192.168.1.1 quer dar um ssh em 192.168.1.15:24 e que seja direcionado para 192.168.1.30:22

    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 24 -j DNA --to-destination 192.168.30.1:22

    nao precisa liberar FORWARD nem INPUT pois ja esta como politica ACCEPT

    Neste caso o pacote esta na mesma rede,na pratica vc vai estar usando MAsQUERADE que vai trocar o ip de origem para um IP valido e fazer o pacote voltar ao destino estabelecendo comunicação.
    mas vc pode forçar isto para um determinado IP usando o POSTROUTING como ja descrito pelos amigos.
    Um abraço!

  16. #16
    robertofl
    Visitante

    Padrão Redirecionamento de portas no Iptables

    Esse script está com ACCEPT nas chains por padrão apenas por testes... O meu oficial, segue a regra de trancar e depois ir liberando cada um dos serviços;

  17. #17
    godoyal
    Visitante

    Padrão Re: Redirecionamento de portas no Iptables

    Caro Amigo,

    Baixe e instale o REDIR: REDIR_2_2_1_1_2_FC4_RF_I386.RPM

    Depois vá no arquivo rc.local e edite desta forma:

    redir --lport=porta_que_vc_quer --cport=porta_que_vc_quer --caddr=ip destino &

    Faça isso em cada máquina de acordo com as características que você quer que deve funcionar.

    Espero ter ajudado!

    Grande Abraço,

    Godoyal