+ Responder ao Tópico



  1. #1

    Padrão Redirecionamento Iptables

    Boa tarde galera, estou com um, probleminha em um cliente meu, do tipo, assim
    eles tem um sistema de gerenciamento, financeiro, pois bem este software se atualiza via ftp, até ae normal, agora começa a pegar, o que acontece é o seguinte, simplesmente via um snat e masquerade para testar, e o bicho não atualiza, então, fiz um dnat e tbem nada dele atualizar, já nem sei o que esta acontecendo. segue minhas regras, abaixo.

    ##LIMPA AS CADEIAS
    iptables -F INPUT
    iptables -F OUTPUT
    iptables -F FORWARD
    iptables -t nat -F PREROUTING
    iptables -t nat -F POSTROUTING
    iptables -t mangle -F PREROUTING
    iptables -t mangle -F INPUT
    iptables -t mangle -F FORWARD
    iptables -t mangle -F OUTPUT
    iptables -t mangle -F POSTROUTING


    echo "Ativando Firewall. Aguarde..."
    # Configura portas de saída para o NAT
    echo "20000 60000" > /proc/sys/net/ipv4/ip_local_port_range
    # Aumenta o numero de conexoes ip_conntrack
    echo 131072 > /proc/sys/net/ipv4/ip_conntrack_max
    # Conexões estabelecidas, relacionadas
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    sleep 2
    #Faz Masquerade e SNAT
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j SNAT --to-source meuipvalido

    # Libera acesso para aplicação da Caixa
    iptables -t nat -A PREROUTING -p TCP -s 0/0 -d 200.201.160.0/20 --dport 80 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp -s 0/0 -d 200.208.15.0/30 --dport 80 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp -s 0/0 -d 200.208.15.0/30 --dport 443 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp -s 200.182.157.0/24 -j ACCEPT
    ####Libera ip do SQUID
    iptables -A FORWARD -p tcp -s 192.168.1.3 --dport 80 -j ACCEPT
    iptables -A FORWARD -p tcp -s 192.168.1.108 --dport 80 -j ACCEPT
    iptables -A FORWARD -p tcp -s 192.168.1.160 --dport 80 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp -s 192.198.1.160 -d 200.201.160.0/20 --dport 80 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp -s 192.168.1.3 -d 200.201.160.0/20 --dport 80 -j ACCEPT
    iptables -t nat -A POSTROUTING -p tcp -d 200.201.160.0/20 -s 192.168.1.160 --sport 80 -j ACCEPT
    iptables -t nat -A POSTROUTING -p tcp -d 200.201.160.0/20 -s 192.168.1.3 --sport 80 -j ACCEPT

    ####SERVIDOR DE ATUALIZAÇÃO QUE ESTA COM PROBLEMA
    iptables -t mangle -A FORWARD -s 192.168.1.3 -j MARK --set-mark 0x0012
    #iptables -t nat -A PREROUTING -p tcp -s 192.168.1.3 -d 0/0 --dport 80 -j ACCEPT
    #iptables -t nat -A PREROUTING -p tcp -s 192.168.1.3 -d 0/0 --dport 21 -j ACCEPT

    #iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.2 -s 0/0 --dport 80 -j ACCEPT
    #iptables -t nat -A PREROUTING -p TCP -s 192.168.0.149 -d 0/0 --dport 443 -j ACCEPT
    #iptables -t nat -A PREROUTING -d meuipvalido -s 0/0 -j DNAT --to 192.168.1.3
    #iptables -t nat -A POSTROUTING -s 192.168.1.3 -d 0/0 -j SNAT --to meuipvalido
    #iptables -A FORWARD -p tcp -s 0/0 -d 192.168.1.3 -j ACCEPT
    #iptables -t nat -A PREROUTING -p tcp --dport 21 -s 0/0 -d meuipvalido -j DNAT --to-destination 192.168.1.3
    #iptables -t nat -A POSTROUTING -p tcp --sport 21 -d 0/0 -s 192.168.1.3 -j SNAT --to-source meuipvalido
    #iptables -t nat -A PREROUTING -p tcp -s 192.168.1.3 -d 0/0 --dport 21 -j ACCEPT
    #iptables -t nat -A POSTROUTING -p tcp -d 0/0 -s 192.168.1.3 --sport 21 -j ACCEPT

    #Redireciona para o Squid
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
    iptables -A INPUT -p tcp -s 192.168.1.0/24 -d 0/0 --dport 8080 -m state --state NEW -j ACCEPT
    iptables -A INPUT -p tcp --syn -s 192.168.1.0/24 --dport 8080 -j ACCEPT
    iptables -A INPUT -p tcp --syn -s 0/0 --dport 8080 -j REJECT

    #Bloqueio de algumas portas
    iptables -A FORWARD -p tcp -m multiport --ports 135,137,138,139,445 -j DROP
    iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 80 -j DROP
    #iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 8080

    #Redirecionar para VNC INTERNA
    iptables -t nat -A PREROUTING -p tcp -s 0/0 -d meuipvalido --dport 5900 -j DNAT --to 192.168.1.3

  2. #2

    Padrão

    Cara não entendi o que vc quer ... !!!
    essa máquina com o acesso loiberado ... ???

    Explica melhor ...

    Falow .

  3. #3

    Padrão

    eu quero que ela se conecta com o software de gerencia, via ftp, para fazer atualizações do sistema.

  4. #4

    Padrão

    Cara que confusão este teu firewall!

    Só uma coisa:
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j SNAT --to-source meuipvalido

    A linha de baixo não serve para nada! Se as condições já foram satisfeitas pela regra de cima, a de baixo nem será lida.

    Para de ficar liberando a POSTROUTING! Ela só serve para alterar pacotes depois da verificação do firewall. Se preocupe com a PREROUTING, isto é, se suas regras padrões forem DROP, e deveriam ser.

    Vamos a sua pergunta agora...

    Conexões FTP que não são passivas se inciam pela porta 21, mas o FTP retorna pela porta 20. Esta segunda conexão está relacionada a primeira, então fica fácil tratar o retorno dela.

    Uma das primeiras regras que você pode adicionar ao seu firewall seria:
    iptables -A PREROUTING -m state --state ESTABLISHED,RELATED -j ACCEPT

    Assim você já resolveria o problema da conexão que está retornando.

    Para liberar acesso, já que você possui um ip fixo, use o snat

    iptables -t nat -A PREROUTING -s 192.168.1.3 -d ip_onde_atualiza -p tcp --dport 21 -j SNAT --to teu_ip_valido
    iptables -A FORWARD -s 192.168.1.3 -d ip_onde_atualiza -p tcp --dport 21 -j ACCEPT

    Pronto, liberado o seu host para atualização.

    Te aconselho dar uma lida no material sobre iptables. Você está sendo muito redundante.

    Guia Foca GNU/Linux - Firewall iptables

    Se precisar de ajuda é só gritar.

    []'s