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.

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>

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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.