
L’importanza di avere tutti i sistemi sincronizzati con la stessa ora è fondamentale per il corretto funzionamento di una rete basata su Active Directory. La sicurezza delle autenticazioni, che avvengono tramite il protocollo kerberos, si affida al time stamps della richiesta effettuata dai client.
Il non tener conto di questo aspetto può portare a molti problemi di autenticazione poichè se il discostamento degli orologi tra il client e KDC è oltre la soglia di tolleranza, l’autenticazione semplicemente viene rifiutata. E’ quindi molto importante fare in modo che all’interno della rete i vari sistemi abbiano tutti la stessa data e ora.
Fortunatamente Windows Server 2008 viene incontro a questa esigenza tramite Windows Time Service (W32Time) che è un servizio con il compito di mantenere gli orologi sincronizzati nei computer della rete utilizzando il protocollo SNTP.
1. PDC COME SERVER NTP
In una topologia di rete basata su Active Directory, W32Time sincronizza gli orologi della forest utilizzando una relazione gerarchica che inizia dal PDC Emulator nella root domain della forest, considerato per la AD forest lo stratum 2 del time source.

Se il PDC è sincronizzato tramite un Internet time server o un orologio atomico, questi ultimi sono considerati nella gerarchia W32Time stratum 1 del time source.
Quindi il computer che deve essere configurato come NTP server in Active Directory deve essere il domain controller che ricopre il ruolo di PDC Emulator.
2. CONFIGURAZIONE DEL SERVER
La configurazione viene fatta direttamente nel registry di Windows tramite il Registry Editor.

- Una volta avviato il Registry Editor tramite il comando regedit, identificare la voce di registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
- Cliccare con il tasto destro del mouse la voce AnnounceFlags e quindi Modify.

- Nel campo Value data digitare 5 e successivamente click su OK.

- Per abilitare il server NTP, posizionarsi sulla voce di registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\ TimeProviders\ NtpServer
- Cliccare con il tasto destro del mouse la voce Enabled e quindi Modify.

- Nel campo Value data digitare 1 e successivamente OK.

- Per impostare con quali server NTP esterni il nostro sistema deve sincronizzarsi, selezionare la voce di registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
- Cliccare con il tasto destro del mouse la voce NtpServer e quindi Modify.

- Nel campo Value data impostare il DNS name del/i server NTP con i quali effettuare la sincronizzazione seguiti da ,0×1 per ogni valore DNS impostato. Cliccare poi OK.

- Per impostare il valore di time correction o modificare i parametri di default secondo le proprie esigenze, posizionarsi nella chiave di registro:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

- Dopo aver chiuso il Registry Editor, l’ultima operazione da effettuare è il riavvio del servizio W32Time dal Command Prompt tramite il comando seguente:
net stop w32time && net start w32time

- Per fare in modo di avviare il servizio ad ogni reboot del server, impostare lo Startup type del servizio W32Time in Automatic.

- Poichè il servizio utilizza la porta UDP 123 per il suo funzionamento, è necessario aprire la porta nel firewall di Windows.
3. CONFIGURAZIONE DEI CLIENT E TEST DEL SERVIZIO
Utilizzando Windows Time (W32Time) service come server NTP è possibile sincronizzare sia client Windows che non-Windows.
Windows 7
- Effettuare un click con il tasto destro sull’orologio in basso a destra del desktop e selezionare Adjust date/time.
- All’apertura della finestra, selezionare la voce Internet Time e cliccare sul bottone Change Settings…
- Digitare il DNS name del server NTP appena impostato (srv-dc1 nell’esempio).

- Per effettuare la sincronizzazione manuale cliccare sul bottone Update Now.

Linux
Installare il daemon ntpd, renderlo attivo all’avvio del computer ed editare il file di configurazione /etc/ntpd.conf per impostare il nuovo server NTP di riferimento (srv-dc1 nell’esempio):
# yum install ntp
# chkconfig ntpd on
# vi /etc/ntpd.conf

Per testare la sincronizzazione sul client Linux è sufficiente fermare il servizio ntpd ed utilizzare il comando ntpdate:
# service ntpd stop
# ntpdate srv-dc1

A questo punto tutti i sistemi possono essere sincronizzati con il nuovo server NTP appena configurato scongiurando potenziali problemi dovuti all’autenticazione in Kerberos.





Mi chiamo Paolo e sono un sistemista informatico. In questo blog si parla di informatica applicata in ambito aziendale. 





Ottima guida.
Ciao,
Ho eseguito tutta la procedura ma sul PC CLIENT con Windows 7 (e anche sul SERVER) non mi compare il menù “ORA INTERNET” per impostare il server NTP.
aiuto!
Per impostare un server NTP in Windows 7:
- Cliccare sull’orologio/data nella barra in basso a destra dello schermo.
- Selezionare la voce “Change date an time settings”
- Selezionare il pannello Internet Time e click su” Change Settings”
- Specificare nel campo Server il nome del server NTP
Cliccando sul bottone “Update Now”, ora e data si dovrebbero sincronizzare con il server NTP specificato.
é possibile mettere anche solo l’ip invece del nome dns nel campo “Value Data”?
Generalmente non è una buona idea utilizzare in una rete direttamente gli indirizzi IP ma comunque funziona ugualmente.
E gli altri DC di sicuro non saranno NTP server, ma dovendo essere modificato sempre il campo “value data” sarebbe meglio mettere il nome dns del pdc emulator oppure utilizzare un server ntp esterno?
Si può propagare (parlo per i dc) con una policy?
Se parliamo di un ambiente Active Directory, configurare il PDC emulator facendolo puntare ad un server NTP esterno assicura che l’ora interna sia sempre corretta.
E’ consigliabile utilizzare il DNS name per il server esterno perchè se venisse cambiato l’IP (cosa che capita) del server NTP di riferimento, il servizio non funzionerebbe più correttamente.
Tutti i clients della rete che fanno parte del dominio (join) puntano automaticamente al PDC emulator e anche gli apparati di rete, se lo prevedono, dovrebbero puntare al server NTP interno (PDC emulator appunto) per fare in modo che data e ora siano sincronizzate assicurando il perfetto time stamp per l’autenticazione Kerberos.
Ciao, ti ringrazio davvero tanto per il tuo blog. Sono entrato da poco nel mondo IT nella sezione della ditta dove lavoro e penso proprio che mi saranno di grande aiuto i tuoi articoli…è da tempo che cercavo un sito così!
Bè che dire… grazie per il complimento e spero che gli articoli pubblicati possano esserti utili.
Ciao, ho seguito la tua procedura ma:
1) è normale non vedere mai, nemmeno stoppando e riavviando il servizio, il tab “ora internet”?
2) ho due DC in failover cluster ma nemmeno il PDC riesce ad allinearsi con il server ntp.ien.it che gli ho regolarmente impostato tramite registro di sistema.
3) il secondo DC deve puntare al PDC (intendo dire come impostazioni di server ntp) per funzionare vero? Altrimenti potrebbero creare casino giusto?
Grazie in anticipo
ciao
1) Si è normale se il computer/server è membro di un dominio.
2) Il server corretto NTP è ntp1.inrim.it. Verifica inoltre che il firewall abbia la porta UDP 123 aperta.
3) Tutti i DC (eccetto il PDC) devono puntare al PDC altrimenti l’orario LAN non è correttamente in sync.
Ciao, il firewall su ogni PC e server della rete è giù..ci affidiamo ad un Netasq U120 ed ho verificato che la porta 123 UDP fosse aperta. Abbiamo impostato sul PDC il seguente ntp server: ntp.ien.it. Però devo controllare il DC02….non è che anche se fermo il servizio w32time risolvo il problema vero?
P.S. mi daresti qualche dritta per dei corsi come amministratore di rete (posto comunque il fatto che “ne fa di più la pratica che la grammatica”?) Non è che per caso sei dalle parti di Milano? Così magari mi insegni qualcosa…se vuoi scrivermi direttamente alla mia mail (sicuramente tu la vedi).
ciao ciao
Ciao e grazie ancora
Alla fine ho risolto…dimenticavo di dire che i nostri DC sono virtuali, quindi dovevo impostare anche i due nodi fisici…ho tutti i server con gestione cluster in failover.
Cosa bisogna fare invece per la sincronizzazione della Data dei PC?
Il server NTP consente la sincronizzazione della sola Ora del PC, fornendo messaggio di mancata sincronizzazione nel caso in cui la data è sbagliata.
NTP ha dei limiti di sicurezza basati sul valore della discrepanza tra local time (client) e network time (server). Se la discrepanza è troppo alta, NTP non effettua l’aggiornamento del time.
In questo caso bisogna correggere manualmente la data nel client e ripetere l’operazione di sync.
Quindi nel caso in cui il PC (es. PC con batteria scarica o problemi di scheda madre) ha data sbagliata anche di un giorno, è corretto che la sincronizzazione non vada a buon fine; in tal caso va prima modificata la data e poi fatta la sincronizzazione dell’ora manualmente, giusto?
E’ sufficiente aggiornare solo la data manualmente, poi puoi effettuare la sincronizzazione tramite NTP.