+ Responder ao Tópico



  1. #1

    Padrão Servidor GW - Problemas com conexões

    Pessoal,

    Tenho a seguinte topologia:

    roteador <> servidor ns1 <> servidor ns2 <> clientes

    Os dois servidores estão em série (um ligado ao outro por cabo cross-over). O objetivo do layout é garantir um melhor desempenho de cache e QoS para os clientes finais.

    O problema é que o servidor ns2, após algum tempo rodando, pára de responder as requisições dos clientes.

    Quando logo neste servidor (por SSH) ele está perfeito funcionamento. Consigo pingar os servidores da rede mas não consigo navegar. Se eu mando baixar um arquivo ele fica assim:

    Código :
    [[email protected] squid]# wget http://www.cnett.com.br/nata/appz/putty.exe
    --19:14:05--  http://www.cnett.com.br/nata/appz/putty.exe
               => `putty.exe'
    Resolving www.cnett.com.br... 200.163.208.9
    Connecting to www.cnett.com.br|200.163.208.9|:80...

    E daí não sai.

    A forma para voltar a funcionar é reiniciar o serviço de firewall do servidor ns1 (que executa um firewall que faz NAT para as redes atrás do servidor ns2 e também executa o script de QoS).

    Tentei aumentar a tabela ip_conntrack_max mas não adiantou.

    Alguém sabe o que posso fazer?

    O script que executo no ns1 é:

    Código :
    IPTABLES="/sbin/iptables"
    IPT=$IPTABLES
    ROUTE="/sbin/route"
    DIR="/etc/firewall"
    #
    #----
    # Regras gerais de tratamento de pacotes
    #----
    $IPTABLES -F
    $IPTABLES -t nat -F
    $IPTABLES -t nat -X
    $IPTABLES -X
    $IPTABLES -F INPUT
    $IPTABLES -F FORWARD
    $IPTABLES -F OUTPUT
    #
    #----------
    # Aceita todas as conexoes do loopback
    #----------
    $IPTABLES -A INPUT -i lo -j ACCEPT
    $IPTABLES -A FORWARD -i lo -j ACCEPT
    #
    #----------
    # Ping-of-Death, Syn-Flood, Port-Scanner
    # Permissao de ping para as interfaces locais
    #----------
    $IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    $IPTABLES -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
    $IPTABLES -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
    $IPTABLES -A INPUT -p icmp -m limit --limit 1/s -j ACCEPT
    #
    #----------
    # Aceita conexoes estabelecidades
    #----------
    $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    #
    #----------
    # LOG e DROP de pacotes fragmentados
    #----------
    $IPTABLES -A FORWARD -m state --state INVALID -j DROP
    $IPTABLES -A INPUT -f -j LOG --log-prefix "Pacote INPUT fragmentado: "
    $IPTABLES -A INPUT -f -j DROP
    $IPTABLES -A FORWARD -f -j LOG --log-prefix "Pacote FORWARD fragmentado: "
    $IPTABLES -A FORWARD -f -j DROP
    #
    #----------
    # Declara IP dos Servidores
    #----------
    NS1="200.242.55.2"
    NS2="10.0.0.2"
    NS3="10.0.0.6"
    #
    #----------
    # Declara redes utilizadas por este cache
    #----------
    PTP="172.20.0.0/28"
    V01="200.242.55.0/27"
    V02="200.242.55.32/28"
    V03="200.242.55.48/30"
    V04="200.242.55.52/30"
    V05="200.242.55.56/29"
    P01="192.168.60.0/24"
    B01="192.168.70.0/24"
    B02="192.168.71.0/24"
    #
    #----------
    # Declara rotas para redes distantes
    #----------
    $ROUTE add -net $PTP gw $NS3
    $ROUTE add -net $V02 gw $NS3
    $ROUTE add -net $V03 gw $NS3
    $ROUTE add -net $V04 gw $NS3
    $ROUTE add -net $V05 gw $NS3
    $ROUTE add -net $P01 gw $NS3
    $ROUTE add -net $B01 gw $NS3
    $ROUTE add -net $B02 gw $NS3
    #
    #---------
    # EXECUTA QOS
    #---------
    /etc/firewall/qos/qos.sh
    #
    #---------
    # MASCARAMENTO
    #---------
    $IPTABLES -t nat -A POSTROUTING -s $NS3 -j MASQUERADE
    $IPTABLES -t nat -A POSTROUTING -s $P01 -j MASQUERADE
    $IPTABLES -t nat -A POSTROUTING -s $B01 -j MASQUERADE
    $IPTABLES -t nat -A POSTROUTING -s $B02 -j MASQUERADE

    Por favor, aguardo qualquer ajuda!

  2. #2
    Eng. Eletricista/Eletrôni Avatar de MarceloGOIAS
    Ingresso
    Feb 2007
    Localização
    Goiânia
    Posts
    2.120
    Posts de Blog
    2

    Arrow

    Amigo,

    já passei por problemas iguaizinhos aos seus. A solução foi reconfigurar os servidores DNS do zero, pois se você consegue pingar mas não navega com certeza os problemas estão no DNS. Enquanto eu não reconfigurei os meus servidores DNS a navegação nos clientes paravam de vez em quando. Então, como você, eu tinha de reiniciar os servidores. Às vezes ficavam 2 dias funcionando belezinha, mas tinha dia que era preciso reiniciar umas 3 vezes.

    É melhor deixar os servidores em paralelo. Em série aumentam os problemas. Se um parar tudo pára. A função do DNS secundário é justamente substituir o primário quando este pára, como você deve saber.

    Atualmente eu tenho servidores DNS rodando no Debian e no Windows 2003.



  3. #3

    Padrão

    Caro Marcelo,

    Já identifiquei o problema: BIOS (não vou traduzir, mas se quiser te mando em PVT). Esse servidor é acessado por quatro pessoas e uma delas estava executando um comando que apagava o nat, assim apenas algumas páginas que estavam em cache abriam.

  4. #4
    Eng. Eletricista/Eletrôni Avatar de MarceloGOIAS
    Ingresso
    Feb 2007
    Localização
    Goiânia
    Posts
    2.120
    Posts de Blog
    2

    Padrão

    Certo,

    BIOS né? Relacionado ao operador do sistema? hahaha...
    Cheguei a pensar que o seu problema fosse nas configurações do DNS.