+ Responder ao Tópico



  1. #1

    Question Iptables -> Direcionamento de Portas Slack p/ Windows 2003 Server

    Ola Amigos.

    Possuo um servidor linux (Slackware 10.0), conectado a internet atraves de um ip fixo. Na minha rede local possuo um outro servidor com o Windows 2003 Server instalado. Preciso fazer o direcionamento de portas, para que seja possivel fazer acesso remoto pelo terminal service. Tentei varias configuracoes diferentes, que eu encontrei em varios foruns na internet, mas ainda nao obtive sucesso. Alguem sabe dizer o que esta errado no meu arquivo de configuracao do firewall ??

    Segue abaixo o arquivo rc.firewall


    #Variaveis
    LAN1="eth1"
    WAN1="eth0"
    # IP Servidor Windows 2003 Server: 192.168.10.200
    # IP Real Internet (Fixo) Servidor Linux: 200.xxx.xxx.3

    REDE="192.168.10.0/24"
    P_PX="35000"

    iptables -F
    iptables -t nat -F
    iptables -X
    iptables -Z

    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT

    echo "1" > /proc/sys/net/ipv4/ip_forward

    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    iptables -A INPUT -p tcp --dport 25 -j ACCEPT
    iptables -A INPUT -p tcp --dport 53 -j ACCEPT
    iptables -A INPUT -p udp --dport 53 -j ACCEPT
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --dport 110 -j ACCEPT
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    iptables -A INPUT -p tcp --dport 563 -j ACCEPT
    #iptables -A INPUT -p tcp --dport 1863 -j ACCEPT # - MSN
    iptables -A INPUT -p tcp --dport 3389 -j ACCEPT
    iptables -A INPUT -p tcp --dport 31000 -j ACCEPT
    iptables -A INPUT -p tcp --dport 31001 -j ACCEPT
    iptables -A INPUT -p tcp --dport 31002 -j ACCEPT
    iptables -A INPUT -i $LAN1 -p tcp --dport $P_PX -j ACCEPT
    iptables -A INPUT -p icmp -j ACCEPT
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    iptables -A FORWARD -s 192.168.10.200 -d 0.0.0.0/0 -j ACCEPT #Maquina com acesso total - Servidor
    iptables -A FORWARD -s 192.168.10.101 -d 0.0.0.0/0 -j ACCEPT #Maquina com acesso total - Notebook


    iptables -A FORWARD -i $LAN1 -p tcp --dport 53 -j ACCEPT
    iptables -A FORWARD -i $LAN1 -p udp --dport 53 -j ACCEPT
    iptables -A FORWARD -s $REDE -p tcp --dport 443 -j ACCEPT
    iptables -A FORWARD -s $REDE -p tcp --dport 563 -j ACCEPT

    iptables -A FORWARD -i $LAN1 -d 0.0.0.0/0 -p tcp --dport 25 -j ACCEPT #Acesso a qualquer smtp
    iptables -A FORWARD -i $LAN1 -d 0.0.0.0/0 -p tcp --dport 110 -j ACCEPT #Accesso a qualquer pop
    iptables -A FORWARD -i $LAN1 -p tcp --dport $P_PX -j ACCEPT #Aceita da rede local o acesso proxy

    iptables -A FORWARD -i $LAN1 -p tcp --dport 80 -j DROP #Bloqueia a porta 80

    iptables -t nat -A POSTROUTING -o $WAN1 -j MASQUERADE

    #Direcionamento de Portas para o Terminal Service do Windows 2003
    iptables -A INPUT -i eth0 -p TCP --dport 3389 --syn -j ACCEPT
    iptables -A INPUT -i eth0 -p UDP --dport 3389 -j ACCEPT

    # DE EXT PARA LAN
    iptables -A FORWARD -i eth0 -o eth1 -s 200.xxx.xxx.3 -d 192.168.10.200 -p TCP --dport 3389 -j ACCEPT

    # DE EXT PARA EXT
    iptables -A FORWARD -i eth0 -o eth1 -s 200.xxx.xxx.3 -d 192.168.10.200 -p UDP --dport 3389 -j ACCEPT

    iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 3389 -j DNAT --to-destination 192.168.10.200:3389
    iptables -A FORWARD -i eth0 -d 192.168.10.200/24 -p TCP --dport 3389 -j ACCEPT
    iptables -t nat -A PREROUTING -i eth0 -p UDP --dport 3389 -j DNAT --to-destination 192.168.10.200:3389
    iptables -A FORWARD -i eth0 -d 192.168.10.200/24 -p UDP --dport 3389 -j ACCEPT

    #Outra regra que tambem nao funcionou
    #iptables -t nat -A PREROUTING -i $WAN1 -p tcp --dport 3389 -j DNAT --to 192.168.10.200
    iptables -t nat -A PREROUTING -i $WAN1 -p tcp --dport 58000 -j DNAT --to 192.168.10.200
    iptables -t nat -A PREROUTING -i $WAN1 -p tcp --dport 59000 -j DNAT --to 192.168.10.200

    #Contra Syn-fllod
    iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

    #Contra Ping da Morte
    #iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

    #Contra nmap
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

    #iptables -A FORWARD -p tcp -tcp-flags SYN,ACK -j DROP

    #Logando os pacotes
    #Logando pacotes bloqueados vindo da internet
    iptables -A INPUT -p tcp -i $LAN1 -j LOG --log-level DEBUG --log-prefix "Pacote tcp : "
    iptables -A INPUT -p icmp -i $LAN1 -j LOG --log-level DEBUG --log-prefix "Pacote icmp : "

    iptables -A FORWARD -m unclean -j DROP


    echo "Firewall Carregado com Sucesso"

  2. #2

    Padrão

    esse firewall seu ai ta cheio de regra inutil.. mas vamos lah


    iptables -t nat -I PREROUTING -p tcp --dport 3389 -d 200.200.200.1 -j DNAT --to-destination 192.168.0.1:3389

    so basta essa regra.. a regra do SNAT.. o masquerade faz ela.. nao precisa..

    o -I ali em cima.. eh para inserir a regra por cima das outras.. fazendo com que ela fique sendo a primeira..

    tem q funcionar isso

  3. #3

    Unhappy

    Alexandre, obrigado pela ajuda.

    Fiz o que vc disse, mas mesmo assim naum funcionou.

    Removi todas as regras inuteis que direcionavam para a porta 3389, e deixei apenas
    a regra que vc me passou. Mesmo assim não funcionou.

    Meu acesso remoto via ssh (putty) a este servidor, funciona normalmente, mas nenhum direcionamento de portas esta funcionando. Será que pode ter alguma coisa errada no inicio do arquivo rc.firewall que está configurado de forma errada ?

    obrigado.

  4. #4

    Padrão

    Kra nao é interessante voce dar uma estudada sobre iptables e rever suas regras ??


    seria mais interessante...


    Tenta essa regra...

    iptables -t nat -A PREROUTING -p tcp --dport 3389 -d 200.200.200.1 -j DNAT --to 192.168.0.1

  5. #5

    Thumbs up

    Amigao, vc tem razao !

    Naum deu certo esta regra que vc passou.

    vou fazer o que vc me disse. vou estudar um pouco mais sobre iptables pra tentar montar uma regra certinha e funcional. Se eu tiver dificuldades, eu vou postando...

    De qualquer forma, obrigado pela ajuda.

    Abraços;

  6. #6

    Padrão

    a regra q eu postei funciona SIM !!

    olha os hits das regras do meu router de casa

    Código :
    # iptables -t nat -L -nv
    Chain PREROUTING (policy ACCEPT 2634K packets, 261M bytes)
     pkts bytes target     prot opt in     out     source               destination
        7   408 DNAT       tcp  --  *      *       0.0.0.0/0            200.200.200.200    tcp dpt:443 to:192.168.101.2:443
       30  1436 DNAT       tcp  --  *      *       0.0.0.0/0            200.200.200.200    tcp dpt:8080 to:192.168.101.2:8080
      440 38702 DNAT       udp  --  *      *       0.0.0.0/0            200.200.200.200    udp dpt:36094 to:192.168.101.2:36094
      180  8960 DNAT       tcp  --  *      *       0.0.0.0/0            200.200.200.200    tcp dpt:36094 to:192.168.101.2:36094
     256K   17M DNAT       udp  --  *      *       0.0.0.0/0            200.200.200.200    udp dpt:4672 to:192.168.101.2:4672
     137K 6799K DNAT       tcp  --  *      *       0.0.0.0/0            200.200.200.200    tcp dpt:4662 to:192.168.101.2:4662
       60  2880 DNAT       tcp  --  *      *       0.0.0.0/0            200.200.200.200    tcp dpt:5900 to:192.168.101.2:5900
        0     0 DNAT       tcp  --  *      *       0.0.0.0/0            200.200.200.200    tcp dpt:5800 to:192.168.101.2:5800

    deve ter alguma coisa no sysctl ou no seu firewall que ta sobrepondo alguma regra... (no caso de sobrepor, talvez outras regras)

  7. #7

    Padrão

    cara...

    pra você tirar a duvida se funciona ou não, você apaga todas as regras e coloca somente a de redirecionamento para o TS

    exemplo hipotético:
    Código :
    INTERNET=eth1
    REDE=eth0
     
    IP_REDE=192.168.0.1
    IP_INTERNET=200.200.200.1
    IP_TS=192.168.0.100
     
    iptables -t nat -A PREROUTING -s 0/0 -d $IP_INTERNET -i $INTERNET -p tcp -m tcp --dport 3389 -j DNAT $IP_TS
    iptables -t filter -A FORWARD -p tcp -m tcp --dport 3389 -j ACCEPT
    iptables -t nat -A PORTROUTING -s 0/0 -d $IP_TS -j SNAT --to $IP_REDE

    tem que funcionar...