DNS.EXE aloca 5000+ portas imediatamente

14

Este comando limpa todas as portas UDP abertas pelo DNS.EXE

net stop dns

Após reiniciar o serviço DNS, o DNS.EXE aloca mais de 5000 portas.

net start dns

Não consome muita memória ou CPU. No entanto eu notei / alarmado muitos problemas de conexão http / smtp / pop3 para o servidor por causa de tempos limite. Eu apenas examinei e encontrei toneladas de portas abertas pelo DNS.EXE. O Currencies exibe portas locais UDP de 50000 a 56000, os endereços locais são: e os endereços remotos estão vazios. Últimas linhas do netstat - um comando abaixo:

UDP    [::]:55976             *:*   
UDP    [::]:55977             *:*   
UDP    [::]:55978             *:*     
UDP    [::]:55979             *:*     
UDP    [::]:55980             *:*     
UDP    [::]:55981             *:*     
UDP    [::]:55982             *:*    

Eu não notei essas portas antes, então não tenho certeza se está tudo bem ou não. O que você acha? Eu reiniciei o servidor e as mensagens de monitoramento / alerta NÃO estão continuando.

    
por Nime Cloud 28.11.2013 / 18:59

1 resposta

23

Este é um bem conhecido lado efeito do hotfix distribuído para o endereço MS08-037 , pois o hotfix destina-se a diminuir a previsibilidade das portas usadas para respostas DNS.

Você pode restringir a quantidade de portas usadas definindo um tamanho menor do conjunto de soquetes, conforme descrito em este artigo :

Usando dnscmd.exe

  • Abra um prompt de comando elevado (Executar como administrador ...)
  • Emitir dnscmd /Config /SocketPoolSize <value> em que <value> é um número entre 0 e 10000

Usando regedit.exe

  • Abra regedit.exe e expanda o HKLM hive
  • Navegue até SYSTEM\CurrentControlSet\services\DNS\Parameters
  • Se ainda não estiver presente, crie um novo valor DWORD chamado SocketPoolSize
  • Defina um valor decimal entre 0 e 10000
  • Reinicie o serviço do servidor DNS: net stop dns && net start dns

Esteja ciente de que definir o valor como muito baixo, efetivamente anula o propósito do MS08-037

Se você estiver no Windows Server 2008 R2 e quiser apenas garantir que vários pontos de extremidade UDP individuais não sejam usados pelo DNS, também é possível especificar uma lista de intervalos de portas a serem excluídos do uso pelo DNS:

dnscmd /Config /SocketPoolExcludedPortRanges <start>-<end>
    
por 28.11.2013 / 21:09