DNS.EXE aloca mais de 5000 portas imediatamente

15

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

net stop dns

Depois de reiniciar o serviço DNS, o DNS.EXE aloca mais de 5000 portas.

net start dns

Não consome memória extensa ou CPU. No entanto, notei / alarmei muitos problemas de conexão http / smtp / pop3 com o servidor por causa de tempos limite. Acabei de examinar e encontrar toneladas de portas abertas pelo DNS.EXE. Currports exibe portas locais UDP de 50000 a 56000, os endereços locais são :: e os endereços remotos estão vazios. As últimas linhas do netstat - um comando estão abaixo:

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

Eu não havia notado essas portas antes, então não tenho certeza se está ok ou não. O que você acha? Reiniciei o servidor e os emails de monitoramento / alerta NÃO continuam.

Nime Cloud
fonte

Respostas:

25

Esse é um efeito colateral conhecido do hotfix distribuído para o endereço MS08-037 , uma vez que o hotfix visa diminuir a previsibilidade das portas usadas para respostas DNS.

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

Usando dnscmd.exe

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

Usando regedit.exe

  • Abra regedit.exee expanda a HKLMseção
  • Navegar para SYSTEM\CurrentControlSet\services\DNS\Parameters
  • Se ainda não estiver presente, crie um novo DWORDvalor chamadoSocketPoolSize
  • 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 muito baixo derruba efetivamente o objetivo do boletim MS08-037

Se você está no Windows Server 2008 R2 e deseja 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 DNS:

dnscmd /Config /SocketPoolExcludedPortRanges <start>-<end>
Mathias R. Jessen
fonte
1
O comando para excluir portas específicas é:, dnscmd /config /SocketPoolExcludedPortRanges [start]-[end]substituindo [start] e [end] pelo intervalo de portas desejado. Você também pode editar o valor do registro ' SocketPoolExcludedPortRanges' manualmente (localizado na mesma chave do registro mencionada acima).
Harrison Smith