DNS.EXE weist sofort mehr als 5000 Ports zu

15

Dieser Befehl löscht alle offenen UDP-Ports von DNS.EXE

net stop dns

Nach dem Neustart des DNS-Dienstes weist DNS.EXE mehr als 5000 Ports zu.

net start dns

Es verbraucht keinen umfangreichen Speicher oder CPU. Allerdings habe ich aufgrund von Zeitüberschreitungen viele http / smtp / pop3-Verbindungsprobleme mit dem Server bemerkt / alarmiert. Ich habe gerade Tonnen von offenen Ports von DNS.EXE untersucht und gefunden. Currports zeigt lokale UDP-Ports von 50000 bis 56000 an, lokale Adressen sind :: und entfernte Adressen sind leer. Die letzten Zeilen von netstat - a befehlen sind unten:

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

Ich habe diese Ports vorher nicht bemerkt, daher weiß ich nicht sicher, ob sie in Ordnung sind oder nicht. Was denkst du? Ich habe den Server neu gestartet und die Überwachung / Warnmeldungen werden NICHT fortgesetzt.

Nime Cloud
quelle

Antworten:

25

Dies ist eine bekannte Nebenwirkung der an Adresse verteilt Hotfix MS08-037 , da der Hotfix beabsichtigt ist , die Vorhersagbarkeit des Ports für die DNS - Antworten verwendet , zu verringern.

Sie können die Anzahl der verwendeten Ports einschränken, indem Sie eine niedrigere Socket-Pool-Größe definieren, wie in diesem Artikel beschrieben :

Verwenden von dnscmd.exe

  • Öffnen Sie eine Eingabeaufforderung mit erhöhten Rechten (Als Administrator ausführen ...)
  • Problem, dnscmd /Config /SocketPoolSize <value>bei dem <value>eine Zahl zwischen 0 und 10000 ist

Regedit.exe verwenden

  • Öffne regedit.exeund erweitere den HKLMBienenstock
  • Navigiere zu SYSTEM\CurrentControlSet\services\DNS\Parameters
  • Wenn noch nicht vorhanden, erstellen Sie einen neuen DWORDWert mit dem NamenSocketPoolSize
  • Stellen Sie einen Dezimalwert zwischen 0 und 10000 ein
  • Starten Sie den DNS-Serverdienst neu: net stop dns && net start dns

Beachten Sie, dass ein zu niedriger Wert den Zweck von MS08-037 beeinträchtigt

Wenn Sie unter Windows Server 2008 R2 arbeiten und nur sicherstellen möchten, dass eine Reihe einzelner UDP-Endpunkte nicht von DNS verwendet werden, können Sie auch eine Liste von Portbereichen angeben, die von der Verwendung durch DNS ausgeschlossen werden sollen:

dnscmd /Config /SocketPoolExcludedPortRanges <start>-<end>
Mathias R. Jessen
quelle
1
Der Befehl zum Ausschließen bestimmter Ports lautet: dnscmd /config /SocketPoolExcludedPortRanges [start]-[end]Ersetzen Sie [start] und [end] durch den gewünschten Portbereich. Sie können den Registrierungswert ' SocketPoolExcludedPortRanges' auch manuell bearbeiten (im selben Registrierungsschlüssel wie oben angegeben).
Harrison Smith