Configurare Windows 2008 R2 come server NTP per sincronizzare la rete.

ntp1

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.

ntp14

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.

ntp2

- 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.

ntp3

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

ntp4

- 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.

ntp5

- Nel campo Value data digitare 1 e successivamente OK.

ntp6

- 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.

ntp7

- 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.

ntp8

- 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

ntp9

- 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

ntp15

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

ntp16

- Poichè il servizio utilizza la porta UDP 123 per il suo funzionamento, è necessario aprire la porta nel firewall di Windows.

ntp17

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).

ntp10

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

ntp11

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

ntp12

Per testare la sincronizzazione sul client Linux è sufficiente fermare il servizio ntpd ed utilizzare il comando ntpdate:

# service ntpd stop
# ntpdate srv-dc1

ntp13

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

Hai già letto questi articoli?

About P@olo

Sistemista Informatico con diversi anni di esperienza in ambito aziendale, l'implementare "soluzioni IT che realmente soddisfano le esigenze" è la filosofia lavorativa adottata ed è la chiave della buona riuscita di un progetto. Rimani aggiornato sui prossimi articoli: iscriviti ai Feed RSS e alla Newsletter.