La gestione del tempo è uno degli aspetti chiave dell'amministrazione del sistema. In genere, tutti i server e le workstation client sincronizzano l'ora con il dominio Active Directory, ma da dove viene l'ora esatta in AD? Dipende da vari fattori. Nella configurazione standard, l'ora è sincronizzata con i server Microsoft e le macchine virtuali di solito ricevono dati dal server host.
È meglio impostare un'unica fonte di dati precisi sull'ora per tutti i computer della rete aziendale: un server (o più server) con cui verranno sincronizzati tutti i sistemi. Può essere una risorsa o un pool di risorse su Internet o un server locale. In un modo o nell'altro, vale la pena decidere in anticipo la fonte dell'ora esatta.
Il protocollo di rete è responsabile della sincronizzazione di computer e server Windows. Protocollo orario di rete (NTP). NTP utilizza per il suo lavoro la porta UDP predefinita 123. Per configurare ulteriormente il funzionamento di questo protocollo di rete, è necessario verificare se questa porta sta bloccando il firewall.
Metodi per specificare il server NTP.
1)
Squadra w32tm consente di specificare un elenco di peer che forniscono informazioni sull'ora esatta per il dominio. Per ulteriori informazioni sul comando w32tm, immettere il comando specificato al prompt dei comandi w32tm /?
La prima cosa da fare è scoprire lo stato dei controller di dominio nel dominio. Per fare ciò, esegui il comando nella riga di comando (se disponi dei diritti di amministratore di dominio, puoi eseguire la riga di comando sulla tua workstation)
w32tm / monitor- il comando permette di vedere con quale server (server)/servizio sta avvenendo la sincronizzazione e qual è la differenza di orario con il nord di riferimento.
w32tm / config /manualpeerlist:time.windows.com / syncfromflags: manuale / affidabile: sì / aggiornamento- con questo comando indichiamo con quale servizio/server avverrà la sincronizzazione (in questo esempio, con time.windows.com).
Questo comando viene eseguito una volta su un controller di dominio e scrive gli indirizzi specificati nel registro (lungo il percorso HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Config \ Parametri nel parametro Server NTP time.windows.com dovrebbe essere scritto). È possibile specificare più server contemporaneamente, separati da spazi.
2) Un altro modo per indicare al controller di dominio il server con cui si sincronizzerà in tempo è rappresentato dai criteri locali o di gruppo. Esegui il registro: fai clic sul pulsante Start, seleziona il comando Esegui, digita nella riga di comando gpedit.msc e premere il pulsante ok... Vai a "Configurazione computer - Criteri - Modelli amministrativi - Sistema - Servizio ora di Windows - Provider di orari" e imposta un criterio. In questo esempio, nel valore NTPServer, scriviamo time.windows.com, nel valore Type indichiamo NTP... Tipo: indica i nodi peer-to-peer che accettano la sincronizzazione dei seguenti tipi:
NoSync- Il servizio orario non è sincronizzato con altre fonti.
NTP- Il servizio orario si sta sincronizzando con i server specificati nella voce di registro NtpServer.
NT5DS- Il servizio Ora esegue la sincronizzazione in base alla gerarchia del dominio.
AllSync- Il servizio ora utilizza tutti i meccanismi di sincronizzazione disponibili.
Senso CrossSiteSyncFlags scegli 2.
CrossSiteSyncFlags. Determina se il servizio può selezionare partner di sincronizzazione esterni al dominio del computer.
No 0
Solo Pdc 1
Tutti 2
nel significato RisolviPeerBackoffMinuti prescrivere 15
ResolvePeerBackoffMinutes: specifica l'intervallo iniziale di attesa (in minuti) prima di iniziare la ricerca di un peer da sincronizzare. Se il servizio Ora di Windows non riesce a sincronizzarsi correttamente con l'origine dell'ora, tenterà di utilizzare i valori specificati per i parametri ResolvePeerBackoffMinutes e ResolvePeerBackoffMaxTimes.
nel significato RisolviPeerBackoffMaxTimes prescrivere 7
ResolvePeerBackoffMaxTimes: specifica il numero massimo di volte per raddoppiare l'intervallo di timeout nel caso in cui i ripetuti tentativi di trovare un nodo di rete peer to peer per la sincronizzazione non riuscissero. Un valore zero presuppone che l'intervallo di attesa sia sempre uguale al timeout originale specificato nel parametro ResolvePeerBackoffMinutes.
nel significato Intervallo di sondaggio speciale prescrivere 3600
SpecialPollInterval: specifica l'intervallo di polling speciale (in secondi) per gli host peer-to-peer configurati manualmente. Se il polling personalizzato è abilitato, il servizio Ora di Windows utilizzerà il relativo intervallo anziché il valore dinamico determinato utilizzando gli algoritmi di sincronizzazione incorporati nel servizio Ora di Windows.
Se hai creato un criterio, deve essere applicato a tutti i controller di dominio.
L'impostazione dell'ora nei sistemi operativi server Windows tramite NTP è fondamentale per molti servizi. Molti protocolli e servizi di sincronizzazione di Active Directory non possono funzionare correttamente senza l'impostazione dell'ora corretta, o meglio quando l'orologio non è sincronizzato sul server e sulle workstation. L'impostazione e la manutenzione di un orologio tramite NTP è un'attività semplice, a volte associata, tuttavia, ad alcune difficoltà, che cercheremo di trattare in questo articolo.
Ad esempio, non utilizzeremo il sistema più recente: Windows Server 2012. È il più comune e, allo stesso tempo, per molti altri sistemi, incluso Windows Server 2008, Windows Server 2016, sono applicabili comandi e regole simili. Va notato che la descrizione è per l'impostazione di un ambiente con un singolo PDC master. Non vengono considerate opzioni più complesse.
Ripristino delle impostazioni NTP
Per mettere il servizio NTP nello stato "predefinito", è necessario eseguire i seguenti comandi:
Arresta il servizio w32time w32tm / annulla la registrazione di w32tm / registrati |
Stop-Service w32time w32tm/annulla registrazione w32tm/registrati
In questo caso, interrompono il servizio, annullano la registrazione del servizio e lo registrano nuovamente nel sistema. Esegui questi comandi solo quando è assolutamente necessario. Di norma, non sono necessari: NTP è configurato se vengono prese in considerazione altre circostanze del sistema.
Comandi di configurazione NTP nel solito caso
Per configurare il protocollo dell'ora di rete su un controller Windows Server, è necessario prima disabilitare la sincronizzazione tramite Hyper-V se il controller è virtualizzato utilizzando questa tecnologia. Per fare ciò, vai nelle impostazioni e deseleziona la voce Sincronizzazione dell'ora nella sezione Gestione -> Servizi di integrazione
Per coloro che non utilizzano Hyper-V, il passaggio precedente può essere omesso.
w32tm / config /manualpeerlist:"0.de.pool.ntp.org 1.de.pool.ntp.org "/ syncfromflags: MANUALE
UDP per NTP e blocco del firewall
Il protocollo Time utilizza la porta UDP 123 per la sua comunicazione come standard. Prestare attenzione per garantire che il firewall non blocchi questa porta. Se si verifica un blocco, i registri ntp conterranno molte informazioni sull'impossibilità della connessione:
Nome registro: Sistema
Fonte: Microsoft-Windows-Time-Service
ID evento: 47
Livello: Avvertimento
Descrizione: Time Provider NtpClient: non è stata ricevuta alcuna risposta valida dal peer pool.ntp.org configurato manualmente dopo 8 tentativi di contatto. Questo peer verrà scartato come origine dell'ora e NtpClient tenterà di rilevare un nuovo peer con questo nome DNS. L'errore era: il peer non è raggiungibile.
Per verificare che questo sia esattamente il problema, è possibile attivare l'output di ulteriori informazioni di debug. Configuriamo i registri di Windows Server in modo tale che tutte le informazioni necessarie siano scritte in essi, ma non sono cresciuti più di 20 megabyte:
w32tm/debug/disabilita
Blocco ntp il firewall viene catturato dalla frase in debug:
- Errore di registrazione: NtpClient è stato configurato per acquisire l'ora da una o più origini orarie, tuttavia nessuna delle origini è attualmente accessibile e non verrà effettuato alcun tentativo di contattare una fonte per 1 minuto. NTPCLIENT NON HA FONTE DI TEMPO PRECISO.
In questo caso (sì, in generale, solo a scopo di verifica), è necessario controllare la regola nel firewall
E, se necessario, modifica la regola o aggiungila.
Verificare se ntp funziona correttamente
Per verificare se tutto funziona correttamente, puoi avviare la sincronizzazione manualmente:
w32tm / risincronizzazione |
Se tutto è andato bene, riceverai un messaggio:
Invio del comando di risincronizzazione al computer locale
Il comando è stato completato con successo.
Se ci sono problemi - messaggio:
Il computer non si è risincronizzato perché non erano disponibili dati sull'ora.
Nel secondo caso, è necessario controllare tutto dall'inizio: il firewall, la correttezza dei server specificati (se il nome è stato sbagliato). Semmai, abbiamo già fornito informazioni sul ripristino delle impostazioni.
I sistemi operativi della famiglia Windows contengono il servizio orario W32Time. Questo servizio è progettato per sincronizzare l'ora all'interno di un'organizzazione. W32Time è responsabile del funzionamento di entrambe le parti client e server del servizio orario e lo stesso computer può essere contemporaneamente sia un client che un server NTP (NTP - Network Time Protocol).
Per impostazione predefinita, il servizio ora di Windows è configurato come segue:
Quando il sistema operativo è installato, Windows avvia un client NTP che si sincronizza con un'origine dell'ora esterna;
Quando un computer viene aggiunto a un dominio, il tipo di sincronizzazione cambia. Tutti i computer client e i server membri del dominio utilizzano un controller di dominio per sincronizzare l'ora;
Quando un server membro viene promosso a controller di dominio, su di esso viene avviato un server NTP che utilizza un controller con il ruolo di emulatore PDC come origine dell'ora;
L'emulatore PDC, situato nel dominio radice della foresta, è il server orario principale per l'intera organizzazione. Allo stesso tempo, anche lui stesso è sincronizzato con una fonte di tempo esterna.
Questo schema funziona nella maggior parte dei casi e non richiede intervento. Tuttavia, la struttura del servizio ora in Windows potrebbe non seguire la gerarchia del dominio e qualsiasi computer può essere designato come origine dell'ora affidabile.
Ad esempio, diamo un'occhiata alla configurazione di un server NTP in Windows Server 2008 R2, per analogia, puoi configurare un server NTP in Windows 7.
Avvio di un server NTP
Il servizio ora in Windows Server non ha GUI ed è configurabile dalla riga di comando o modificando direttamente il registro di sistema. Consideriamo il secondo modo:
Il server NTP deve essere in esecuzione. Apri il ramo del registro:
HKLM \ System \ CurrentControlSet \ services \ W32Time \ TimeProviders \ NtpServer.
Per abilitare il server NTP, il parametro Enabled deve essere impostato su 1. Quindi riavviamo il servizio ora con il comando net stop w32time && net start w32time.
Dopo aver riavviato il servizio NTP, il server è già attivo e può servire i client. Puoi verificarlo usando il comando w32tm / query / configuration. Questo comando visualizza un elenco completo dei parametri del servizio. Se la sezione NtpServer contiene la riga Enabled: 1, allora tutto è in ordine, il time server è in esecuzione.
Affinché il server NTP possa servire i client, la porta UDP 123 deve essere aperta nel firewall per il traffico in entrata e in uscita.
Impostazioni di base del server NTP
Apri il ramo del registro:
HKLM \ System \ CurrentControlSet \ services \ W32Time \ Parameters.
NoSync: il server NTP non è sincronizzato con alcuna origine dell'ora esterna. Viene utilizzato l'orologio di sistema integrato nel chip CMOS del server stesso (a sua volta, questo orologio può essere sincronizzato da una sorgente NMEA tramite RS-232, ad esempio);
NTP: il server NTP è sincronizzato con i server orari esterni, che sono specificati nel parametro di registro NtpServer;
NT5DS - Il server NTP esegue la sincronizzazione secondo la gerarchia del dominio;
AllSync: il server NTP utilizza tutte le origini disponibili per la sincronizzazione.
Il valore predefinito per un computer membro del dominio è NT5DS, per un computer autonomo è NTP.
Il parametro NtpServer specifica i server NTP con cui questo server sincronizzerà l'ora. Per impostazione predefinita, questo parametro contiene il server Microsoft NTP (time.windows.com, 0x1); se necessario, è possibile aggiungere più server NTP inserendo i relativi nomi DNS o indirizzi IP separati da uno spazio. Alla fine di ogni nome è possibile aggiungere un flag (es. 0x1) che definisce la modalità di sincronizzazione con il time server.
Sono consentiti i seguenti valori di modalità:
0 × 1 - SpecialInterval, utilizzando l'intervallo di tempo di polling;
0 × 2 - Modalità UseAsFallbackOnly;
0x4 - SymmetricActive, modalità attiva simmetrica;
0x8 - Client, invio di una richiesta in modalità client.
Un altro parametro importante, AnnounceFlags, si trova nella chiave di registro:
HKLM \ System \ CurrentControlSet \ services \ W32Time \ Config.
È responsabile di come afferma di essere il server NTP. Il flag 5 è necessario per dichiarare un server membro (non un controller di dominio) come origine dell'ora affidabile.
Se il server che si sta configurando, a sua volta, è un client NTP (riceve l'ora da un ricevitore GPS tramite NTP, ad esempio), è possibile configurare l'intervallo tra gli aggiornamenti. Questo parametro può essere rilevante anche per i PC client. La chiave SpecialPollInterval, situata nel ramo del registro, è responsabile del tempo di aggiornamento:
HKLM \ System \ CurrentControlSet \ services \ W32Time \ TimeProviders \ NtpClient.
È impostato in secondi e per impostazione predefinita il suo valore è 604800, ovvero 1 settimana. Questo è molto, quindi vale la pena ridurre il valore di SpecialPollInterval a un valore ragionevole - 1 ora (3600).
Dopo l'impostazione, è necessario aggiornare la configurazione del servizio. Questo può essere fatto con il comando w32tm / config / update.
E alcuni altri comandi per la configurazione, il monitoraggio e la diagnosi del servizio orario:
w32tm / monitor: utilizzando questa opzione, puoi scoprire come l'ora di sistema di questo computer differisce dall'ora sul controller di dominio o su altri computer. Ad esempio: w32tm / monitor /computers:time.nist.gov
w32tm / resync - Usando questo comando, puoi forzare la sincronizzazione del computer con il server dell'ora che utilizza.
w32tm / stripchart - Mostra la differenza di tempo tra il computer corrente e quello remoto. Squadra w32tm / stripchart /computer:time.nist.gov / sample: 5 / dataonly effettuerà 5 confronti con la fonte specificata e restituirà il risultato in forma di testo.
w32tm / config è il comando principale utilizzato per configurare il servizio NTP. Con il suo aiuto, puoi impostare l'elenco dei time server utilizzati, il tipo di sincronizzazione e molto altro. Ad esempio, per sovrascrivere i valori predefiniti e configurare la sincronizzazione dell'ora con una sorgente esterna, puoi utilizzare il comando w32tm / config / syncfromflags: manual /manualpeerlist:time.nist.gov / update
w32tm / query - Mostra le impostazioni correnti per il servizio. Ad esempio, il comando w32tm / query / source mostrerà l'origine dell'ora corrente e w32tm / query / configuration mostrerà tutti i parametri del servizio.
net stop w32time - Arresta il servizio orario se avviato.
w32tm / unregister - rimuove il servizio orario dal computer.
w32tm / register - registra il servizio orario sul computer. In questo caso, viene creato nuovamente l'intero ramo di parametri nel registro.
net start w32time - avvia il servizio.
Funzionalità rilevate in Windows 7 - Il servizio Ora non si avvia automaticamente all'avvio di Windows. Risolto in SP1 per Windows 7.
Una soluzione semplice al problema di partire volta sul controller di dominio installato su virtuale macchina Hyper-V governato da Windows Server 2008/2012.
Durante il lavoro controller di dominio governato da Windows Server 2008 R2 / 2012 installato su una macchina virtuale Hyper-Vè stato visto costante deriva del tempo- in un mese, il tempo potrebbe andare via quasi mezz'ora. Inutile dire quanto sia importante l'ora esatta sul controller di dominio, perché secondo essa sincronizzato l'intera flotta di computer nel dominio.
1. Disabilitare la sincronizzazione dell'ora con la macchina host
Per prima cosa devi disabilitare sincronizzazione dell'ora la macchina ospite in base all'ora della macchina ospite, altrimenti si verifica un incidente. Se la macchina host è un membro di un dominio, l'host è sincronizzato con il controller sulla macchina guest e la macchina guest è sincronizzata con l'host: otteniamo un ciclo chiuso, che molto probabilmente porta a un offset temporale costante al suo interno . L'offset è ottenuto letteralmente di alcune frazioni di secondo, ma sommandosi gradualmente per ogni ciclo di sincronizzazione, si verifica uno spostamento dell'orologio molto evidente.
Nelle impostazioni della macchina virtuale Impostazioni → Servizi di integrazione → Sincronizzazione dell'ora - rimuovere la casella di controllo
2. Configurare la sincronizzazione tramite server NTP
Utensili
Per configurare, useremo l'utilità della riga di comando w32tm... I parametri principali dell'utilità che vengono utilizzati per configurare e gestire l'ora: w32tm / query consente di interrogare le impostazioni correnti del client e del server NTP w32tm / config viene utilizzato per configurare il servizio orario w32tm / resync viene utilizzato per inizializzare la sincronizzazione dell'ora w32tm / dumpreg viene utilizzato per visualizzare le impostazioni di registro correnti relative al servizio orario w32tm / debug viene utilizzato per abilitare il registro di debug del servizio orario
personalizzazione
Configurazione della sincronizzazione dell'ora su un controller di dominio che esegue Windows Server 2008 R2 con il ruolo FSMO "Emulatore PDC": w32tm / query / configurazione guardare le impostazioni correnti per il servizio dell'ora w32tm / config / syncfromflags: selezionare manualmente l'origine (l'elenco che abbiamo specificato ) per la sincronizzazione dell'ora w32tm / config /manualpeerlist:"server1.ntp.org server2.ntp.org "imposta l'elenco di nodi specificato manualmente per la sincronizzazione. Gli host sono nomi DNS o indirizzi IP separati da spazi. Quando si specificano più nodi, tutti i valori dei nodi sono racchiusi tra virgolette. Ovviamente puoi essere limitato a un familiare time.windows.com w32tm / config / affidabile: sì, impostiamo il parametro che questa macchina è una fonte affidabile di tempo e può servire i client w32tm / config / update informa il servizio orario che sono state apportate modifiche (è possibile riavviare il servizio) w32tm / query / configurazione controllare le modifiche apportate ai parametri del servizio w32tm / resync eseguire la sincronizzazione (si può giocare, modificare l'ora e controllare se la sincronizzazione avverrà)
Per una maggiore affidabilità è anche possibile riavviare il Servizio Orario con i comandi net stop w32time e net start w32time.
Per comodità, è bene raccogliere i comandi elencati in un file cmd e risolvere il problema con un clic:
W32tm / config / syncfromflags: manuale w32tm / config /manualpeerlist:time.windows.com w32tm / config / affidabile: sì w32tm / config / update w32tm / query / pausa configurazione w32tm / resync
In questo articolo vedremo come configurare NTP in Windows Server 2012. L'articolo non tratta la configurazione dettagliata della sincronizzazione dell'ora in un ambiente di dominio, ma la configurazione di un singolo controller di dominio con il ruolo di emulatore PDC, che è il unico server nell'ambiente che si sincronizza con un'origine dell'ora esterna.
La configurazione è molto semplice. Tutto quello che devi fare è eseguire i seguenti comandi in PowerShell:
w32tm / config /manualpeerlist:pool.ntp.org / syncfromflags: MANUAL
Stop-Service w32time
Start-Service w32time
Se il controller è virtualizzato utilizzando Hyper-V, è necessario ricordare di disabilitare la sincronizzazione dell'ora utilizzando Hyper-V. Apri le impostazioni della macchina virtuale -> Gestione -> Servizi di integrazione e deseleziona la casella di controllo Sincronizzazione dell'ora.
È tutto! Voglio sapere di più? Qualcosa non funziona? Allora diamo un'occhiata più da vicino...
W32tm è il comando principale che usiamo. Esistono anche varianti che utilizzano il "tempo netto", ma in realtà non è necessario utilizzare questa costruzione. Alcuni articoli menzionano anche la modifica diretta del registro, ma Microsoft sconsiglia comunque di farlo, a meno che non ci sia assolutamente altra alternativa. Ma se vuoi davvero modificare il registro, il ramo di cui hai bisogno si trova qui: HKLM \ Sistema \ CurrentControlSet \ Servizi \ W32Time.
Quale server NTP dovrei usare? O è meglio averne qualcuno?
pool.ntp.org è un server NTP casuale round-robin. Per gli utenti finali, questo indirizzo è più che sufficiente. Tuttavia, se necessario, è possibile specificare manualmente più server:
w32tm /config /manualpeerlist:"ntp1.sp.se ntp2.sp.se "/ syncfromflags: MANUAL
Basta aggiungere i server desiderati con uno spazio in mezzo.
Non dimenticare il firewall
Se disponi di un firewall tra il tuo host e Internet, può essere configurato per disabilitare udp / 123 su cui viene eseguito NTP. Ecco come appare sul mio FW Cisco ASA:
Pertanto, ho creato una regola separata per consentire questo traffico.
Informazioni dettagliate e registrazione
Questo comando mostra informazioni utili sulla configurazione della sincronizzazione, l'elenco dei server e l'ora dell'ultima sincronizzazione.
Di solito, quando il server non può ricevere l'ora dal server NTP, nel registro vengono registrate le seguenti informazioni:
Nome registro: Sistema
ID evento: 47
Livello: Avvertimento
Descrizione: Time Provider NtpClient: non è stata ricevuta alcuna risposta valida dal peer pool.ntp.org configurato manualmente dopo 8 tentativi di contatto. Questo peer verrà scartato come origine dell'ora e NtpClient tenterà di rilevare un nuovo peer con questo nome DNS. L'errore era: il peer non è raggiungibile.
Quando tutto è ok, il messaggio è simile a questo:
Nome registro: Sistema
Fonte: Microsoft-Windows-Time-Service
ID evento: 35
Livello: Informazioni
Descrizione: il servizio ora sta sincronizzando l'ora di sistema con l'origine ora pool.ntp.org (ntp.m | 0 × 0 | 0.0.0.0: 123-> 85.10.240.253:123).
Hai ancora problemi? Puoi facilmente includere l'output delle informazioni di debug nel file di registro, che nel mio caso è limitato a 10 megabyte e include tutte le voci di debug.
w32tm / debug / abilita /file:C:\Temp\w32tmdebug.log / dimensione: 10485760 / voci: 0-300
Dopo aver terminato il debug, disattivalo:
In caso di problemi, vedrai molte informazioni nel registro. Per me, quando tutto funziona, questo è segnalato dal seguente record:
- Raggiungibilità: peer pool.ntp.org (ntp.m | 0 × 0 | 0.0.0.0: 123-> 129.70.132.35:123) è raggiungibile.
- Informazioni di registrazione: NtpClient sta attualmente ricevendo dati temporali validi da pool.ntp.org (ntp.m | 0 × 0 | 0.0.0.0: 123-> 129.70.132.35:123).
E quando il mio firewall stava bloccando i pacchetti, ho ricevuto i seguenti messaggi.
- Errore di registrazione: NtpClient è stato configurato per acquisire l'ora da una o più origini orarie, tuttavia nessuna delle origini è attualmente accessibile e non verrà effettuato alcun tentativo di contattare una fonte per 1 minuto. NTPCLIENT NON HA FONTE DI TEMPO PRECISO.
Forza sincronizzazione
Se devi forzare la sincronizzazione del client, esegui il comando:
w32tm / risincronizzazione
Invio del comando di risincronizzazione al computer locale
Il comando è stato completato con successo.
Se ricevi il seguente errore, il computer non può raggiungere il server NTP.
Il computer non si è risincronizzato perché non erano disponibili dati sull'ora.
Ricominciare
Se sei completamente confuso nelle configurazioni, riempito troppo e non capisci più cosa sta succedendo, ricomincia da capo. Questi comandi ripristineranno completamente le impostazioni NTP al loro stato predefinito:
Stop-Service w32time
w32tm / annulla la registrazione
w32tm / registro