+ Responder ao Tópico



  1. #1

    Padrão Redirecionar trafego da rede externa pra rede interna

    Boa noite pessoal !
    Depois de de pesquisar muito aqui no forum e na net resolvi postar esta duvida
    A situação é a seguinte eu estou na rede 200.164.xxx.180 preciso acessar com o vnc uma maquina que ta com windows Xp numa rede interna atras de firewall e gateway desta rede eth0 189.3.xxx.119 eth1 192.168.10.0
    a maquina em questão tem o seguinte IP 192.168.10.158
    Já testei centenas de regras mas nenhuma funcionou e gostaria que alguem me desse uma luz
    abaixo tem meu script de firewall que roda no slackware 10.2
    desde de já agradeço a todos !!

    IPT=/usr/sbin/iptables
    PROGRAMA=/firewall
    NET_IFACE=eth0
    LAN_IFACE=eth1
    LAN_V=eth1.1
    MACLIST=/etc/maclist
    echo 1 > /proc/sys/net/ipv4/ip_forward
    modprobe ip_nat_ftp
    modprobe ip_conntrack_ftp
    modprobe ip_conntrack
    modprobe iptable_nat
    case $1 in
    start)
    $IPT -F
    $IPT -t nat -F
    $IPT -t filter -P FORWARD DROP
    for i in `cat $MACLIST`; do
    STATUS=`echo $i | cut -d ';' -f 1`
    IPSOURCE=`echo $i | cut -d ';' -f 3`
    MACSOURCE=`echo $i | cut -d ';' -f 2`
    #echo $STATUS
    #echo $IPSOURCE
    #echo $MACSOURCE>>mac.txt
    #sleep 1s
    #Se status = a então eu libera a conexao
    if [ $STATUS = "a" ]; then
    $IPT -t filter -A FORWARD -d 0/0 -s $IPSOURCE -m mac --mac-source $MACSOURCE -j ACCEPT
    $IPT -t filter -A FORWARD -d $IPSOURCE -s 0/0 -j ACCEPT
    $IPT -t nat -A POSTROUTING -s $IPSOURCE -o $NET_IFACE -j MASQUERADE
    $IPT -t filter -A INPUT -s $IPSOURCE -d 0/0 -m mac --mac-source $MACSOURCE -j ACCEPT
    $IPT -t filter -A OUTPUT -s $IPSOURCE -d 0/0 -j ACCEPT
    # Se for = b então bloqueia o MAC
    else
    $IPT -t filter -A FORWARD -m mac --mac-source $MACSOURCE -j DROP
    $IPT -t filter -A INPUT -m mac --mac-source $MACSOURCE -j DROP
    $IPT -t filter -A OUTPUT -m mac --mac-source $MACSOURCE -j DROP
    fi
    done
    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
    #Proteçao contra Syn-floods
    iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

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

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

    #Proteçao Contra IP Spoofing
    iptables -A INPUT -s 10.0.0.0/8 -i eth1 -j DROP

    #echo "Bloqueando P2P"
    $IPT -A FORWARD -p TCP --dport 7778 -j ACCEPT
    $IPT -A FORWARD -p TCP --dport 1030 -j ACCEPT
    #iMesh
    $IPT -A FORWARD -d 216.35.208.0/24 -j REJECT

    #BearShare
    $IPT -A FORWARD -p TCP --dport 6346 -j REJECT

    #ToadNode
    $IPT -A FORWARD -p TCP --dport 6346 -j REJECT
    #WinMX
    $IPT -A FORWARD -d 209.61.186.0/24 -j REJECT
    $IPT -A FORWARD -d 64.49.201.0/24 -j REJECT
    #Napigator
    $IPT -A FORWARD -d 209.25.178.0/24 -j REJECT

    #Morpheus
    $IPT -A FORWARD -d 206.142.53.0/24 -j REJECT
    $IPT -A FORWARD -p TCP --dport 1214 -j REJECT
    #KaZaA
    $IPT -A FORWARD -d 213.248.112.0/24 -j REJECT
    $IPT -A FORWARD -p TCP --dport 1214 -j REJECT
    #Limewire
    $IPT -A FORWARD -p TCP --dport 6346 -j REJECT

    #Audiogalaxy
    $IPT -A FORWARD -d 64.245.58.0/23 -j REJECT

    #echo "Bloqueando Msn, Icq, AIM e etc"

    #bloqueando ICQ
    $IPT -A FORWARD -p TCP --dport 5190 -j REJECT
    $IPT -A FORWARD -d login.icq.com -j REJECT
    ;;
    stop)
    $IPT -F
    $IPT -Z
    $IPT -t nat -F
    $IPT -t filter -P FORWARD ACCEPT
    echo "Atualizando....."
    ;;
    restart)
    $PROGRAMA stop
    $PROGRAMA start
    ;;
    esac
    Última edição por binhorp; 03-06-2007 às 20:39.

  2. #2
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão

    iptables -A PREROUTING -p tcp -d 200.x.x.x --dport PORTA -j DNAT 192.168.x.x

  3. #3

    Padrão

    Citação Postado originalmente por sergio Ver Post
    iptables -A PREROUTING -p tcp -d 200.x.x.x --dport PORTA -j DNAT 192.168.x.x
    Muito obrigado pela dica amigo mas esta foi a primeira que testei sem exito!

  4. #4

    Padrão

    iptables -t nat -I PREROUTING -p tcp -d 200.1.1.1 --dport 5900 -j DNAT --to-destination 192.168.2.4:5900

    testa assim

  5. #5

    Padrão

    Esta tambem num foi é estranho ja testei muitas regras mas nenhuma funciona!

  6. #6
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão

    Citação Postado originalmente por binhorp Ver Post
    Esta tambem num foi é estranho ja testei muitas regras mas nenhuma funciona!
    Essa regra que o Alexandre passou está correta, na minha esqueci o "--to-destination". Tem que funcionar, principalmente pq está usando o -I que insere a regra na frente das outras (da tabela NAT).

  7. #7

    Padrão

    Coloquei a regra da seguinte forma
    iptables -t nat -I PREROUTING -p tcp -d <ip_da_maquina_que_estou> --dport 5900 -j DNAT --to-destination <ip_da_maquina_com_vnc>:5900

    mesmo assim não funcionou
    eu lembro que eu tinha uma regra que redirecionava a porta 80 eu usava pra acessar os Aps de uma rede externa mas formatei a maquina e não achei mas ela neste caso acho que funcionaria so tendo que trocar as portas vou continuar pesquisando.

    Obrigado a todos!

  8. #8

    Padrão

    Opa

    A regra do alexandre está correta, verifique se o destino não está com firewall ativado, principalmente se for Windows XP...

    t+

  9. #9

    Padrão

    O destino ta com firewall totalmente destativado.

  10. #10

    Padrão

    acesso com a regra normalmente aqui...agora na rede interna meu cliente está com o firewall ativado ai só fui e liberei no firewall do XP a porta 5800 e o programa para ser executado e pronto. tenta com essa porta.

  11. #11

    Padrão

    Tive um problema semelhante mas fora pra acessar um accees point, resolvemos isto ontem a noite, umas 4 da manhã, o que usamos fora isto


    ############################################################################
    iptables -A INPUT -p tcp --dport <porta de comunicação> -j ACCEPT #
    iptables -A FORWARD -p tcp --dport <porta de comunicaçao> -j ACCEPT
    iptables -t nat -A POSTROUTING -p tcp -d <Rede> --dport :<porta> -j MASQUERADE
    iptables -t nat -A PREROUTING -p tcp -d <GW> --dport <porta de comunicaçao>-j DNAT --to-destination <rede>:<porta>
    #iptables -t nat -A POSTROUTING -p tcp --sport 80 -s <rede> -j SNAT --to <GW>:<porta de comunicação>
    ###############################################################

    <porta de comunicação>= uma porta que tu liberar no servidor (GW)
    <REDE> = Ip da sua rede interna onde esta a máquina com vnc
    <GW> = seu ip do gateway, que faz comunicação com a WAN
    <Porta> = porta do seu serviço específico, teu, porta vnc


    ele funciona assim, primeiro o servidor irá aceitar comunicação numa porta de sua escolha, e tudo que vier desta porta de sua escolha irá redirecionar para a maquina tal na porta tal, e mascarando pra fazer processo inverso, pronto, tem um duto de comunicação entre wan e lan.

    no meu caso funcionou com ap, com vnc deve ser a mesma coisa.

    espero que ajude

    Abraços

  12. #12

    Padrão

    algumas regras sao desnecessarias...

    a regra de INPUT nao vai bater.. porque.. o pacote ANTES de chegar na filter/INPUT ele passa pela NAT/PREROUTING !!

    existe uma sequencia/caminho do pacote dentro do kernel/iptables...

    segue o inicio da sequencia:

    ETHERNET -> INGRESS/qdisc class -> ingress/qdisc dequeue -> mangle/prerouting -> nat/prerouting -> (aqui ele verifica a rota do pacote, se vai para o GW 'INPUT' ou se vai para a rede 'FORWARD') ->

    SE for INPUT ele segue este caminho:
    mangle/INPUT -> filter/INPUT -> mangle/OUTPUT -> nat/OUTPUT ....

    SE for FORWARD ele segue este:
    mangle/FORWARD -> filter/FORWARD -> mangle/PREROUTING -> nat/POSTROUTING

  13. #13

    Padrão

    Olá binhorp,
    Primeiramente desativa o firewall do XP ou libera as portas 5800 e 5900 no firewall do XP.

    Aplique as regras abaixo no firewall da rede:

    # Abre as portas 5800 e 5900 e redireciona para acessar uma máquina da rede interna via vnc.
    iptables -t nat -A PREROUTING -p tcp -i <placa externa(eth0)> --dport 5900 -j DNAT --to 192.168.10.158
    iptables -t nat -A PREROUTING -p tcp -i <placa externa(eth0)> --dport 5800 -j DNAT --to 192.168.10.158
    iptables -t nat -A POSTROUTING -d 192.168.10.158 -j SNAT --to <ip da placa interna>

    Testa e vê se vai dar certo, aqui eu utilizo desta maneira.

    Tamiosso

  14. #14

    Padrão

    Valeu alexandre, irei testar lá, e redirar o exesso, e que foi na tentativa e erro, e ainda to meio fraco e iptables, e toda ajuda é bem vinda

    grato ^^

  15. #15

    Padrão

    Pessoal muito obrigado pela ajuda de vcs, mas infelizmente ainda não deu certo a unica maneira que achei pra resolver foi deixar a porcaria do XP ligado direto no roteador com IP valido, pela minha experiencia com windows sei que não vai funcionar por muito tempo mas até lá vou ver se consigo contornar o problema.
    Mas uma vez muito obrigado a todos !!!