+ Responder ao Tópico



  1. #1

    Padrão Dúvidas no Iptables

    A todos um bom-dia!

    Estou necessitando, mais uma vez, da ajuda de vocês.
    Tenho um servidor proxy com firewall Iptables e um servidor de dados, onde armazeno os dados da empresa e alguns aplicativos usados pelos usuários. Os dois servidores rodam na empresa A e estão funcionando com Debian.
    A algum tempo precisei liberar as portas do terminal service (3389) para que um outro servidor (Windows com terminal Service), rodando na empresa B, pudesse ser acessado e tudo funcionou tranquilamente.
    Acontece que agora este servidor Windows que estava na empresa B veio também para a empresa A e os usuários da empresa B necessitam acessar este servidor, via Terminal Service. Criei as regras no iptables para redirecionar os acessos a este servidor e NADA FUNCIONA.
    Coloco meu código do IPTABLES para que vcs possam analisar e ajudarem-me, se for possível.
    Desde já agradeço a atenção de todos.

    Código Iptables:

    #!/bin/bash

    iniciar(){

    # Carregar os módulos
    /sbin/modprobe ip_tables
    /sbin/modprobe iptable_filter
    /sbin/modprobe ip_conntrack
    /sbin/modprobe iptable_nat
    /sbin/modprobe ip_nat_ftp
    /sbin/modprobe ipt_LOG
    /sbin/modprobe ipt_state
    /sbin/modprobe ipt_MASQUERADE

    # Flushing no firewall
    /sbin/iptables -F
    /sbin/iptables -Z
    /sbin/iptables -X
    /sbin/iptables -t nat -F
    /sbin/iptables -P INPUT DROP
    /sbin/iptables -P FORWARD DROP
    /sbin/iptables -P OUTPUT ACCEPT

    # Habilitando roteamento
    echo "1" > /proc/sys/net/ipv4/ip_forward
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

    # Liberando INPUT para interface de loopback
    /sbin/iptables -A INPUT -p ALL -s 127.0.0.1 -i lo -j ACCEPT
    /sbin/iptables -A INPUT -p ALL -s 10.3.104.100 -i lo -j ACCEPT
    /sbin/iptables -A INPUT -p ALL -s 201.19.111.10 -i lo -j ACCEPT

    # Melhorando a performance do firewall
    /sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

    # Liberar as respostas dos DNS para o firewall
    /sbin/iptables -A INPUT -p udp -s 200.149.55.142 --sport 53 -d 201.19.111.10 -j ACCEPT
    /sbin/iptables -A INPUT -p udp -s 200.165.132.148 --sport 53 -d 201.19.111.10 -j ACCEPT

    # Logando e removendo pacotes fragmentados
    /sbin/iptables -A INPUT -i eth1 -f -j LOG --log-prefix "Pacote INPUT fragmentado: "
    /sbin/iptables -A INPUT -i eth1 -f -j DROP

    # Evitando Spoofing
    /sbin/iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP
    /sbin/iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP
    /sbin/iptables -A INPUT -i eth1 -s 224.0.0.0/4 -j DROP
    /sbin/iptables -A INPUT -i eth1 -s 240.0.0.0/5 -j DROP

    # Respostas de ping
    /sbin/iptables -A INPUT -p icmp --icmp-type 8 -i eth0 -j ACCEPT
    /sbin/iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT

    # Liberando o acesso do squid para rede interna
    /sbin/iptables -A INPUT -p TCP -i eth0 -s 10.3.104.0/24 --dport 3128 -j ACCEPT

    # Liberando acesso ao ssh
    /sbin/iptables -A FORWARD -p TCP --dport 22 -j ACCEPT

    # Libera resposta de servidores www para o squid
    /sbin/iptables -A INPUT -p TCP -i eth1 --sport 80 -j ACCEPT
    /sbin/iptables -A INPUT -p TCP -i eth1 --sport 443 -j ACCEPT
    /sbin/iptables -A INPUT -p TCP -i eth1 --sport 20 -j ACCEPT
    /sbin/iptables -A INPUT -p UDP -i eth1 --sport 21 -j ACCEPT

    # Logando e mandando embora as porcarias
    /sbin/iptables -A INPUT -p tcp --dport 3128 -j REJECT --reject-with tcp-reset
    /sbin/iptables -A INPUT -j LOG --log-prefix "Pacote input descartado: "
    /sbin/iptables -A INPUT -j DROP

    # Descartando pacotes invalidos
    /sbin/iptables -A FORWARD -m state --state INVALID -j DROP

    # Aceitando conexões estabilizadas e relacionadas com outras feitas nos pcs da rede interna
    /sbin/iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

    # Outlook transformando nomes dos servidores smtp e pop em IP
    /sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 -d 200.149.55.142 --dport 53 -j ACCEPT
    /sbin/iptables -A FORWARD -p udp -s 200.149.55.142 --sport 53 -d 10.3.104.0/24 -j ACCEPT
    /sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 -d 200.165.132.148 --dport 53 -j ACCEPT
    /sbin/iptables -A FORWARD -p udp -s 200.165.132.148 --sport 53 -d 10.3.104.0/24 -j ACCEPT

    # Terminal Services
    /sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 -d 200.149.55.142 --dport 3389 -j ACCEPT
    /sbin/iptables -A FORWARD -p udp -s 200.149.55.142 --sport 53 -d 10.3.104.0/24 -j ACCEPT
    /sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 -d 200.165.132.148 --dport 3389 -j ACCEPT
    /sbin/iptables -A FORWARD -p udp -s 200.165.132.148 --sport 53 -d 10.3.104.0/24 -j ACCEPT

    # Terminal Services para fora
    #/sbin/iptables -A FORWARD -j ACCEPT -p tcp --dport 3389
    #/sbin/iptables -A PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to-destination 10.3.104.99

    # Terminal Services para fora
    /sbin/iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 3389 -j DNAT --to 10.3.104.99:3389
    /sbin/iptables -t nat -A POSTROUTING -s 0/0 -p tcp --dport 3389 -d 10.3.104.99 -j ACCEPT

    # Voip
    /sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 -d 200.149.55.142 --dport 5060 -j ACCEPT
    /sbin/iptables -A FORWARD -p udp -s 200.149.55.142 --sport 53 -d 10.3.104.0/24 -j ACCEPT
    /sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 -d 200.165.132.148 --dport 5060 -j ACCEPT
    /sbin/iptables -A FORWARD -p udp -s 200.165.132.148 --sport 53 -d 10.3.104.0/24 -j ACCEPT

    # Voip
    /sbin/iptables -A FORWARD -p tcp -s 10.3.104.0/24 -d 200.149.55.142 --dport 5060 -j ACCEPT
    /sbin/iptables -A FORWARD -p tcp -s 200.149.55.142 --sport 53 -d 10.3.104.0/24 -j ACCEPT
    /sbin/iptables -A FORWARD -p tcp -s 10.3.104.0/24 -d 200.165.132.148 --dport 5060 -j ACCEPT
    /sbin/iptables -A FORWARD -p tcp -s 200.165.132.148 --sport 53 -d 10.3.104.0/24 -j ACCEPT

    # Outras portas para Voip
    /sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 --dport 5004:5082 -m state --state ESTABLISHED -j ACCEPT
    /sbin/iptables -A FORWARD -p udp -s 10.3.104.0/24 --dport 40000:60000 -m state --state ESTABLISHED -j ACCEPT
    #/sbin/iptables -A OUTPUT -m multiport -p udp -s 10.3.104.0/24 -d 200.149.55.142 --dport 5004:5082 -j ACCEPT
    #/sbin/iptables -A FORWARD -m multiport -p udp -s 10.3.104.0/24 -d 200.149.55.142 --dport 40000:60000 -j ACCEPT

    #Liberando p/ rede interna as portas que o outlook utiliza para acessar servidores externos
    /sbin/iptables -A FORWARD -p TCP -s 10.3.104.0/24 --dport 25 -j ACCEPT
    /sbin/iptables -A FORWARD -p TCP -s 10.3.104.0/24 --dport 110 -j ACCEPT
    /sbin/iptables -A FORWARD -p tcp --sport 25 -j ACCEPT
    /sbin/iptables -A FORWARD -p tcp --sport 110 -j ACCEPT

    # Terminal Services
    /sbin/iptables -A FORWARD -p TCP -s 10.3.104.0/24 --dport 3389 -j ACCEPT
    /sbin/iptables -A FORWARD -p tcp --sport 3389 -j ACCEPT


    # Voip
    /sbin/iptables -A FORWARD -p TCP -s 10.3.104.0/24 --dport 3060 -j ACCEPT
    /sbin/iptables -A FORWARD -p tcp --sport 3060 -j ACCEPT


    # Radmim
    /sbin/iptables -A FORWARD -p TCP -s 10.3.104.0/24 --dport 4899 -j ACCEPT
    /sbin/iptables -A FORWARD -p tcp --sport 4899 -j ACCEPT

    # Logando e dropando todo restante
    /sbin/iptables -A FORWARD -j LOG --log-prefix "Pacote forward descartado: "
    /sbin/iptables -A FORWARD -j DROP

    # Marcarando a conexão
    /sbin/iptables -t nat -A POSTROUTING -j MASQUERADE

    }

    parar(){
    /sbin/iptables -F
    /sbin/iptables -t nat -F
    echo "Regras de firewall e compartilhamento desativados"
    }
    case "$1" in
    "start") iniciar ;;
    "stop") parar ;;
    "restart") parar; iniciar ;;
    *) echo "Use os parâmetros start ou stop"
    esac

  2. #2

    Padrão

    já tentou adicionar uma rota da rede b dentro da rede a?

    route add -net redeB gw IPDAMAQUINAREDEA dev PLACADEREDEQUETEMLIGACAODAREDEACOMREDEB

    route add -net 10.0.0.0/24 gw 10.0.1.0 dev eth0