Estou tendo um problema estranho de acesso à internet que não sei como depurar. Um conjunto específico de sites não será carregado com o status "Redefinição de conexão" em cerca de 90% das vezes. Acessá-los pelo seu IP produz os mesmos resultados. Fazer ping no IP funciona (sem perda de pacotes). Estou executando o Windows Server 2012 com as atualizações mais recentes instaladas.
O Fiddler (depurador HTTP MITM) está me dizendo que a resposta HTTP é "HTTP 504". O Wireshark está me mostrando o recebimento de pacotes "Connection Reset" no nível TCP.
Eu tentei as seguintes alterações:
O problema persiste quando:
- Acessando por IP
- Usando wget
- Usando um adaptador de rede diferente (telefone conectado por USB com 3G)
- Usando um navegador diferente
- Usando um navegador dentro de uma VM VirtualBox
- Desativando o firewall
- Inicializando no modo de segurança com. rede.
- Alterando o servidor DNS.
- Fazendo login como um usuário não administrador diferente.
O problema desaparece quando:
- Usando uma máquina diferente
- Usando TOR
- Usando um sistema operacional diferente
- Reemitir a solicitação HTTP mais de cinco vezes no Fiddler (ou seja, as primeiras 5 reemissões falham e as seguintes funcionam).
- Capturar a solicitação HTTP usando o Fiddler e reemiti-la em outra máquina.
Meu último recurso será reinstalar o sistema operacional. Há mais alguma coisa que eu possa tentar para depurar esse problema?
Responder1
As conexões que estavam falhando eram conexões TCP com sites habilitados para CloudFlare. O Windows Server 2012 habilita a Notificação de Congestionamento Explícito por padrão - os sinalizadores ECN e CWR (Janela de Congestionamento Reduzida) são definidos como verdadeiros em pacotes TCP.
Resolvi o problema executando
netsh interface tcp set global ecncapability=disabled
Responder2
Isso é um pouco improvável, mas vi esse procedimento corrigir alguns problemas estranhos que não consegui resolver de outra forma. Portanto, definitivamente vale a pena tentar antes de recorrer a uma reinstalação completa.
Redefina a pilha TCP/IP em sua máquina Windows executando
netsh int ip reset c:\resetlog.txt
(o parâmetro final para o caminho do log é opcional)
Também existe uma ferramenta automatizada para isso se você seguir o link abaixo.
Documentação:http://support2.microsoft.com/kb/299357/en