+ Responder ao Tópico



  1. #1
    sermutante
    Visitante

    Padrão Iptables - Liberar "saída" do Terminal Service

    Olá pessoal!

    Preciso fazer com que minhas estações de rede consigam se conectar pelo Terminal Service em outras matrizes de outras cidades.

    Atualmente, tenho um servidor para Terminal Service aqui na empresa onde determinadas filiais acessam normalmente. Porém, agora preciso fazer o inverso, ou seja, que as estações da minha própria rede se "conectem" em sevidores externos. E é aí que não tô conseguindo, dá a impressão que o Iptables tá barrando essa "saída" do terminal service para o meio externo.

    Vejam bem:

    - Filiais => Terminal Service => Matriz => Iptables Matriz => Servidor TS => Conexão OK.
    já:
    - Matriz => Terminal Service => Iptables Matriz (saída) => Conexão BARRADA ---> sem acesso a servidores TS externos.

    Entenderam? Algo está bloqueando no iptables a saída do terminal service na minha rede...

    Se alguém souber me ajudar, agradeceria.

    Obrigado

    Gustavo.



  2. #2

    Padrão Re: Iptables - Liberar "saída" do Terminal Service

    coloca suas regras de FORWARD e OUTPUT pra ver se tem alguma coisa...

    sua politica padrao é DROP ou REJECT? se for voce liberou a porta pra poder passar?

  3. #3
    sermutante
    Visitante

    Padrão Re: Iptables - Liberar "saída" do Terminal Service

    Olá Patrick!

    Esse é o meu script do iptables:

    # Zera as regras
    iptables -t filter -F
    iptables -t filter -X
    iptables -t nat -F
    iptables -t nat -X
    iptables -t mangle -F
    iptables -t mangle -X

    # Carrega os modulos
    modprobe ip_tables
    modprobe iptable_nat
    modprobe ip_nat_ftp
    modprobe ip_conntrack
    modprobe ip_conntrack_ftp

    # Politica de acesso
    iptables -P INPUT DROP
    iptables -P OUTPUT DROP
    iptables -P FORWARD DROP

    # Ativa o masquerading
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

    # Ativa o roteamente no kernel
    echo "1" > /proc/sys/net/ipv4/ip_forward

    # Proxy Transparente
    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

    # Abertura de portas

    ### Conexoes estabelecidas

    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

    ### Terminal Service
    iptables -A INPUT -p tcp -s 0/0 --dport 3389 --syn -j ACCEPT

    ### SSH
    iptables -A INPUT -p tcp -s 0/0 --dport 22 --syn -j ACCEPT

    # Abre para a rede local
    iptables -A INPUT -p tcp --syn -s 192.168.0.0/24 -j ACCEPT

    # Redireciona portas para maquinas da rede

    ### Terminal Service
    iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to 192.168.0.200

    # Protecao contra portscanners, trojans, etc...
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit 1/s -j ACCEPT
    iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
    iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit 1/s -j ACCEPT
    iptables -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
    iptables -A FORWARD -m unclean -j DROP


    - Com certeza deve ter coisa errada nele, né?

  4. #4

    Padrão Re: Iptables - Liberar "saída" do Terminal Service

    tenta colocar a regra de redirecionamento assim:

    iptables -t nat -A PREROUTING -p tcp --dport 3389 -i $interface_de_internet -j DNAT --to 192.168.0.200

    acho que quando voce tentar sair para a porta de destino do TS (3389/TCP) ele ta jogando todo o trafego de volta para a rede interna novamente pq voce nao diz de onde o trafego esta vindo.

    sacou?

    falou
    8-)

  5. #5

    Padrão Re: Iptables - Liberar "saída" do Terminal Service

    tenta fazer o SNAT tambem...

    iptables -t nat -A POSTROUTING -p tcp --sport 3389 -j SNAT --to ip.valido

    no ip.valido eh o ip da sua interface que tem internet !!!

  6. #6

    Padrão Re: Iptables - Liberar "saída" do Terminal Service

    Amigo tenta colocar essa regrinha aqui, eu utilizo essa, e nunca tive problemas

    #iptables -t nat -A PREROUTING -p tcp -d IPVALIDO --dport 3389 -j DNAT --to 192.168.0.3
    #iptables -t nat -A PREROUTING -p udp -d IPVALIDO --dport 3389 -j DNAT --to 192.168.0.3


    flw

  7. #7
    sermutante
    Visitante

    Padrão Re: Iptables - Liberar "saída" do Terminal Service

    RESOLVIDO!!!!!!!!

    Patrick, a tua dica funcionou! Estava faltando acrescentar na regra "-i eth0", por isso as requisições de saída eram perdidas sem essa opção....

    Cara, fico te devendo essa, me quebrou um galhão aqui, muito obrigado mesmo!

    Agradeço também aos demais membros pelas dicas.

    Abraços,

    Gustavo