DNS.EXE alloue immédiatement plus de 5000 ports

15

Cette commande efface tous les ports UDP ouverts par DNS.EXE

net stop dns

Après avoir redémarré le service DNS, DNS.EXE alloue plus de 5000 ports.

net start dns

Il ne consomme pas beaucoup de mémoire ou de CPU. Cependant, j'ai remarqué / alarmé de nombreux problèmes de connexion http / smtp / pop3 au serveur en raison de délais d'attente. Je viens d'examiner et de trouver des tonnes de ports ouverts par DNS.EXE. Currports affiche les ports locaux UDP de 50000 à 56000, les adresses locales sont :: et les adresses distantes sont vides. Dernières lignes de netstat - une commande est ci-dessous:

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

Je n'avais pas remarqué ces ports auparavant, donc je ne sais pas avec certitude si c'est ok ou pas. Qu'est-ce que tu penses? J'ai redémarré le serveur et les e-mails de surveillance / alerte ne se poursuivent pas.

Nime Cloud
la source

Réponses:

25

Il s'agit d'un effet secondaire bien connu du correctif distribué pour l'adresse MS08-037 , car le correctif est destiné à diminuer la prévisibilité des ports utilisés pour les réponses DNS.

Vous pouvez limiter la quantité de ports utilisés en définissant une taille de pool de sockets inférieure, comme décrit dans cet article :

Utilisation de dnscmd.exe

  • Ouvrez une invite de commande élevée (Exécuter en tant qu'administrateur ...)
  • Problème dnscmd /Config /SocketPoolSize <value>où se <value>trouve un nombre compris entre 0 et 10000

Utilisation de regedit.exe

  • Ouvrez regedit.exeet agrandissez la HKLMruche
  • Aller vers SYSTEM\CurrentControlSet\services\DNS\Parameters
  • S'il n'est pas déjà présent, créez une nouvelle DWORDvaleur nomméeSocketPoolSize
  • Définissez une valeur décimale entre 0 et 10000
  • Redémarrez le service serveur DNS: net stop dns && net start dns

Sachez que définir une valeur trop basse va à l'encontre de l'objectif du MS08-037

Si vous utilisez Windows Server 2008 R2 et souhaitez simplement vous assurer qu'un certain nombre de points de terminaison UDP individuels ne sont pas utilisés par DNS, vous pouvez également spécifier une liste de plages de ports à exclure de l'utilisation par DNS:

dnscmd /Config /SocketPoolExcludedPortRanges <start>-<end>
Mathias R. Jessen
la source
1
La commande pour exclure des ports spécifiques est la suivante: dnscmd /config /SocketPoolExcludedPortRanges [start]-[end]remplacer [début] et [fin] par la plage de ports souhaitée. Vous pouvez également modifier SocketPoolExcludedPortRangesmanuellement la valeur de registre ' ' (située dans la même clé de registre que celle mentionnée ci-dessus).
Harrison Smith