DNS.EXE alloca immediatamente oltre 5000 porte


15

Questo comando cancella tutte le porte UDP aperte da DNS.EXE

net stop dns

Dopo aver riavviato il servizio DNS, DNS.EXE alloca 5000+ porte.

net start dns

Non consuma memoria estesa o CPU. Tuttavia ho notato / allarmato molti problemi di connessione http / smtp / pop3 al server a causa dei timeout. Ho appena esaminato e trovato tonnellate di porte aperte da DNS.EXE. Currports visualizza le porte locali UDP da 50000 a 56000, gli indirizzi locali sono :: e gli indirizzi remoti sono vuoti. Le ultime righe di netstat - un comando sono sotto:

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

Non ho notato queste porte prima, quindi non so per certo che va bene o no. Cosa pensi? Ho riavviato il server e le e-mail di monitoraggio / avviso NON continuano.

Risposte:


25

Questo è un noto effetto collaterale dell'aggiornamento rapido distribuito per MS08-037 , poiché l'aggiornamento rapido ha lo scopo di ridurre la prevedibilità delle porte utilizzate per le risposte DNS.

È possibile limitare la quantità di porte utilizzate definendo una dimensione pool socket inferiore, come descritto in questo articolo :

Utilizzando dnscmd.exe

  • Apri un prompt dei comandi con privilegi elevati (Esegui come amministratore ...)
  • Problema in dnscmd /Config /SocketPoolSize <value>cui <value>è un numero compreso tra 0 e 10000

Utilizzando regedit.exe

  • Apri regedit.exeed espandi l' HKLMalveare
  • Navigare verso SYSTEM\CurrentControlSet\services\DNS\Parameters
  • Se non è già presente, creare un nuovo DWORDvalore denominatoSocketPoolSize
  • Impostare un valore decimale tra 0 e 10000
  • Riavvia il servizio Server DNS: net stop dns && net start dns

Tenere presente che l'impostazione del valore su un valore troppo basso compromette efficacemente lo scopo di MS08-037

Se si utilizza Windows Server 2008 R2 e si desidera solo assicurarsi che un certo numero di singoli endpoint UDP non vengano utilizzati dal DNS, è inoltre possibile specificare un elenco di intervalli di porte da escludere dall'uso da parte del DNS:

dnscmd /Config /SocketPoolExcludedPortRanges <start>-<end>

1
Il comando per escludere porte specifiche è:, dnscmd /config /SocketPoolExcludedPortRanges [start]-[end]sostituendo [inizio] e [fine] con l'intervallo di porte desiderato. Puoi anche modificare il valore del registro ' SocketPoolExcludedPortRanges' manualmente (situato nella stessa chiave di registro di cui sopra).
Harrison Smith,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.