# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

Sincronizar hora en Windows Server 2008 contra un servidor NTP


Vamos a ver como configurar un Windows Server 2008 R2 para sincronizar la hora con un servidor NTP externo en lugar de a través del sistema propio de Windows. Esto es útil cuando el servidor no tiene salida a internet pero sí dispone de servidores NTP en la red privada.

En este caso vamos a configurar un controlador de dominio (Active Directory) para que sincronice la hora contra un servidor NTP Linux. Accedemos al CMD y ejecutamos lo siguiente:

C:\Users\Administrator>w32tm /config /manualpeerlist:192.168.1.100,0x8 /syncfromflags:MANUAL

The command completed successfully.

El significado de la flag 0×8 es “mandar las solicitudes NTP como cliente”. Hemos configurado la sincronización contra el servidor NTP 192.168.1.100. Si quisieramos añadir varios:

C:\Users\Administrator>w32tm /config /manualpeerlist:"192.168.1.100 192.168.1.101 192.168.1.102",0x8 /syncfromflags:MANUAL

Reiniciamos el servicio w32tm:

C:\Users\Administrator>net stop w32time

The Windows Time service is stopping.
The Windows Time service was stopped successfully.

C:\Users\Administrator>net start w32time
The Windows Time service is starting.
The Windows Time service was started successfully.

Ahora ya podemos forzar la sincronización con el siguiente comando. Si la desincronización es muy amplia (+ de 5 horas) es recomendable cambiar la hora a mano para acercarnos a la real y luego sincronizar:

C:\Users\Administrator>w32tm /resync
Sending resync command to local computer
The command completed successfully.

Por último hay que asegurarse de tener el puerto 123 abierto en el firewall:

ntp firewall;

Configurar NTP en Netapp Filer vía SSH


Para configurar la sincronización horaria de un filer de Netapp (Data ONTAP), además de poder hacerlo desde la interfaz web, desde SSH o consola sería así:

Primero accedemos al filer y vemos la configuración correspondiente a la gestión de hora:

filer> options timed
timed.enable                 on
timed.log                    off
timed.max_skew               30m
timed.min_skew               10
timed.proto                  rtc
timed.sched                  1h
timed.servers
timed.window                 0s   

Vemos que no tiene un servidor NTP configurado y que el protocolo elegido es rtc. Para usar NTP y asignar un servidor de sincronización horaria hacemos lo siguiente:

filer> options timed.proto ntp
filer> options timed.servers 10.0.3.110

Donde ntp es el protocolo y 10.0.3.110 es el servidor NTP en este caso (ntp local), si la cabina tuviera acceso a Internet podríamos configurar directamente el servidor externo:

filer> options timed.servers hora.rediris.es

Y la configuración final:

filer> options timed
timed.enable                 on
timed.log                    off
timed.max_skew               30m
timed.min_skew               10
timed.proto                  ntp
timed.sched                  1h
timed.servers                10.0.3.110
timed.window                 0s      

Usar ntpdate para sincronizar la hora en Unix


ntpdate es un comando que permite sincronizar la fecha y hora de nuestros sitemas con servidores de hora en Internet, para ciertas tareas es crítico que la hora del servidor sea la correcta, personalmente en algunas máquinas tengo configurado un cron que sincronice la hora diariamente:

05 01 * * * ntpdate hora.oxixares.com > /dev/null

Veréis que uso el servidor hora.oxixares.com, no obstante si buscáis en google encontraréis múltiples servidores disponibles para la sincronización.

Tened en cuenta que hay que tener instalado ntp para poder usar este comando, en servidores Debian y derivados se instala así:

apt-get install ntp
apt-get -f install ntpdate

Y en red-hat y derivados:

yum install ntp.i386

En FreeBSD lo encontraréis en los puertos.

El fichero de configuración suele encontrarse en /etc/ntp.conf