Ubuntu 12.04 soltando aleatoriamente conexões de rede

1

Bom dia,

Há alguns dias eu instalei um novo servidor no Ubuntu 12.04 e migrei todos os meus dados e serviços para ele de um antigo (um servidor de 2011 anos bastante desatualizado). Existem muitos serviços diferentes instalados: nginx, mysql, memcached, verniz, etc.

Agora, tenho um problema com as conexões de rede: a quantidade limitada de conexões funciona normalmente, mas outras não. Elas acabam se esgotando. Tais solicitações não são visíveis no log de acesso do servidor da web. Além disso, algumas solicitações de saída com cURL não estão funcionando também, elas terminam em 30 segundos. Às vezes não consigo me conectar ao servidor - o tempo limite das conexões SSH às vezes também! Pingando no google:

--- google.com ping statistics ---
33 packets transmitted, 0 received, 100% packet loss, time 32017ms

Eu não atualizei ou instalei nenhum firewall adicional nem alterei as opções de configuração de rede do sistema.

Você pode facilmente reproduzir o problema acessando qualquer página (ex: link ) e atualizando rapidamente o múltiplo da página vezes. Você terminará com o erro de navegador "O servidor não está disponível".

Parece quase que o servidor tem algum limite de conexões de rede ou regras para bloquear a rápida sucessão de conexões de um IP, mas não consigo encontrar nenhuma configuração útil: / Nada interessante pode ser encontrado em syslog ou dmseg .

/etc/sysctl.conf tem tudo comentado, mas linhas padrão:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

O firewall padrão ufw está parado.

Todas as ideias que estão acontecendo e o que fazer são muito apreciadas!

    
por WASD42 21.05.2014 / 21:47

1 resposta

1

Quando eu faço conexões com o servidor, descubro que alguns números de porta do cliente funcionam e outros números de porta falham. São os mesmos números de porta que funcionam todas as vezes, mas como os clientes normais usarão um novo número de porta toda vez, ele aparecerá aleatoriamente.

Esse comportamento pode ser um sintoma de um pacote quebrado de links de rede. Você deseja que o tráfego seja balanceado de carga pelos links em um pacote, mas você não deseja que os pacotes em uma conexão TCP ultrapassem um ao outro na rede, portanto, cada conexão TCP deve permanecer no mesmo link no pacote.

É por isso que um link quebrado em um pacote faz com que alguns números de porta funcionem e outros números de porta falhem.

traceroute mostra que os pacotes SYN são enviados com segurança do meu computador até o último salto antes do servidor. Mas não posso de forma confiável obter um SYN-ACK de volta. Isso significa que o problema está no último salto do último roteador para o servidor ou está em algum lugar no caminho de retorno.

No servidor, você pode executar traceroute -n -p 80 name-of-another-server para ver até que ponto os pacotes SYN do servidor podem ser enviados de forma confiável.

    
por 21.05.2014 / 23:05