+ Responder ao Tópico



  1. #1
    mltomas
    Visitante

    Padrão Problema com NAT

    Olá Pessoal vou tentar resumir pra vocês o meu problema:
    instalei um server fedora com squid + dhcp + NAT para compartilhar internet para as estações, estava tudo funcionando ate que um dia para a navegação, dava um ping nas estações para algum dominio de fora da rede e respondia numa boa.. so a navegação que não rolava. Ai percebi que desabiligando o NAT ip_forward=0 a internet voltava a funcionar pelo squid.. estranho não?
    Não conseguindo resolver um amigo instalou o conectiva 10 com o mesmo perfil acima, tudo estava funcionando.. 2 horas depois qual foi a surpresa a net parou novamente.. e o que foi feito, pra testar desativamos o forward.. e tudo voltou ao normal (pelo squi claro, e sem pop nem smtp pq não estavamos fazendo nat)

    O que pode ser isso? não sei mas o que fazer.. tá muito estranho isso...
    Sem mais agradeço antecipadamente a ajuda dos colegas.

  2. #2

    Padrão Re: Problema com NAT

    Cara se nao for muito grande posta ai o script de firewall e o squid.conf com as linhas que vc alterou!!!


    Valeu

  3. #3
    mltomas
    Visitante

    Padrão Problema com NAT

    Mas veja.. antes tudo estava funcionando.. eu não fiz alteração nenhuma de firewall nem de squid...
    no firewal eu so ativo o forward......

    e ai ? estranho heim...

  4. #4

    Padrão Problema com NAT

    Cara sera que nao ta logando alguma coisa do nat ou sei la que depois de um tempo estoura alguam partição e trava o firewall??ou o consumo de memoria sobe mto??

    falows

  5. #5
    mltomas
    Visitante

    Padrão Problema com NAT

    Ixi.. não estourou partição não cara.. e no log.. não tem nada de anormal..
    nossa.. to ficando careca ja....


    []s

  6. #6
    karfax
    Visitante

    Padrão Problema com NAT

    Ai percebi que desabiligando o NAT ip_forward=0 a internet voltava a funcionar pelo squid.. estranho não?

    Acho normal isso, vc desabilita o ip_froward, essa função para, não é reescrito o cabeçalho tcp/ip e o endereçamento se perde. Boolean: 0=false e 1=true.

    Sds,

  7. #7
    Visitante

    Padrão Problema com NAT

    Sim sim.. eu entendi.. o que vc disse.. realmente é o que acontece.. quando eu desabilito o forward (0) não funciona mais o NAT. mas o problema é que quando eu HABILITO (1) ai fode tudo.. não funciona nada.. nem squid.. nem nat nem coisa alguma... e eu consigo pingar das maquinas pra rede de fora. resolvo nomes.. tudo certo.. mas navegar que é bom nada...
    não entendo...


    não sei mais onde está o erro...

  8. #8
    karfax
    Visitante

    Padrão Problema com NAT

    Mande seu script pra gente dar uma olhada. Naturalmente, o erro parece estar em outro lugar...

    Sds,

  9. #9
    mltomas
    Visitante

    Padrão Problema com NAT

    #!/bin/sh
    IPTABLES=/sbin/iptables
    # Inicializacao dos Modulos
    Any="0.0.0.0/0"
    localhost="192.168.1.76/24"
    network="192.168.0.0/24"
    internet="200.xxx.xx.xxx"


    # eth1 -> rede interna
    # eth0 -> ligada ao modem speedy


    case "$1" in
    start)
    echo "Inicializando Firewall ........:"
    /sbin/depmod -a
    /sbin/modprobe ipt_LOG
    /sbin/modprobe ip_tables
    /sbin/modprobe iptable_nat
    /sbin/modprobe iptable_filter
    /sbin/modprobe ipt_MASQUERADE
    /sbin/modprobe ip_conntrack
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe ip_nat_ftp
    echo "Modulos carregados ..........[OK]"
    # Flush Built-in Rules
    $IPTABLES -F
    $IPTABLES -X
    $IPTABLES -Z

    $IPTABLES -P INPUT ACCEPT
    $IPTABLES -P FORWARD ACCEPT
    $IPTABLES -P OUTPUT ACCEPT

    # Turn on IP forwarding
    echo "Enabling ip_forward.............. [OK]"
    echo 1 > /proc/sys/net/ipv4/ip_forward
    $IPTABLES -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

    # Interface lo
    $IPTABLES -A INPUT -i lo -j ACCEPT
    $IPTABLES -A OUTPUT -o lo -j ACCEPT
    $IPTABLES -A INPUT -i eth0 -p icmp -j ACCEPT
    $IPTABLES -A INPUT -i eth1 -p icmp -j ACCEPT

    #FORWARD / MASQUAREDE
    $IPTABLES -A FORWARD -i eth1 -j ACCEPT
    $IPTABLES -t nat -A POSTROUTING -o eth0 -m state --state NEW,ESTABLISHED,RELATE -j MASQUERADE
    $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    # REDIRECT
    $IPTABLES -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
    echo "REDIRECT ..............[OK]"


    echo "."
    ;;
    stop)
    echo "Finalizando Firewall:"
    $IPTABLES -X
    $IPTABLES -F
    $IPTABLES -P INPUT ACCEPT
    $IPTABLES -P OUTPUT ACCEPT
    $IPTABLES -P FORWARD ACCEPT

    $IPTABLES -t nat -F
    $IPTABLES -t nat -X
    $IPTABLES -t nat -P PREROUTING ACCEPT
    $IPTABLES -t nat -P POSTROUTING ACCEPT
    $IPTABLES -t nat -P OUTPUT ACCEPT
    rm -f /var/lock/subsys/firewall
    echo "Firewall Finalizado...."
    ;;
    restart)
    $0 stop
    $0 start
    ;;
    status)
    $IPTABLES -L -n
    $IPTABLES -t nat -L -n
    ;;
    *)
    echo "Use: $0 {start|stop|restart|status}"
    exit 1
    ;;
    esac
    exit 0

  10. #10

    Padrão Problema com NAT

    pra q issu aki:
    $IPTABLES -t nat -A POSTROUTING -o eth0 -m state --state NEW,ESTABLISHED,RELATE -j MASQUERADE

    tira esses state dai
    $IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE

  11. #11
    mltomas
    Visitante

    Padrão Problema com NAT

    Isto ai seria a única coisa que está 'errada' no meu script?

    Obrigado!

  12. #12
    mltomas
    Visitante

    Padrão Problema com NAT

    Ai ICE... eu fiz as alterações que vc comentou.....
    Continuo com o mesmo problema.. assim que carrego o firewall a internet pára de funcionar....(nem via proxy vai...)
    voiu lá e apenas desabilito o ip_forward .. tudo volta a funcionar (via proxy)

    Não sei mais o que fazer..
    []s a todos.. meu script de firewall pra compartilhar a web para as estações está assim:


    #!/bin/sh
    # eth1 -> rede interna
    # eth0 -> ligada ao modem speedy

    IPTABLES=/usr/sbin/iptables

    case "$1" in
    start)
    echo "Inicializando Firewall ........:"
    /sbin/modprobe ip_tables
    /sbin/modprobe iptable_nat
    /sbin/modprobe ip_conntrack
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe ip_nat_ftp
    echo "Modulos carregados ..........[OK]"

    # Flush Built-in Rules
    $IPTABLES -F
    $IPTABLES -X
    $IPTABLES -Z

    $IPTABLES -P INPUT ACCEPT
    $IPTABLES -P FORWARD ACCEPT
    $IPTABLES -P OUTPUT ACCEPT

    # Turn on IP forwarding
    echo "Enabling ip_forward.............. [OK]"
    echo 1 > /proc/sys/net/ipv4/ip_forward
    $IPTABLES -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

    #FORWARD / MASQUAREDE
    $IPTABLES -A FORWARD -i eth1 -j ACCEPT
    $IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    # REDIRECT
    $IPTABLES -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
    echo "REDIRECT ..............[OK]"

    echo "."
    ;;
    stop)
    echo "Finalizando Firewall:"
    $IPTABLES -X
    $IPTABLES -F
    $IPTABLES -P INPUT ACCEPT
    $IPTABLES -P OUTPUT ACCEPT
    $IPTABLES -P FORWARD ACCEPT

    $IPTABLES -t nat -F
    $IPTABLES -t nat -X
    $IPTABLES -t nat -P PREROUTING ACCEPT
    $IPTABLES -t nat -P POSTROUTING ACCEPT
    $IPTABLES -t nat -P OUTPUT ACCEPT
    rm -f /var/lock/subsys/firewall
    echo "Firewall Finalizado...."
    ;;
    restart)
    $0 stop
    $0 start
    ;;
    status)
    $IPTABLES -L -n
    $IPTABLES -t nat -L -n
    ;;
    *)
    echo "Use: $0 {start|stop|restart|status}"
    exit 1
    ;;
    esac
    exit 0

  13. #13

    Padrão Problema com NAT

    usa soh isso:

    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to 3128
    iptables -P INPUT DROP
    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    #libera tudo pra rede interna
    iptables -A INPUT -i eth1 -j ACCEPT