Herramientas personales

NTPDATE

De Wiki administradores

Instalación Servidor

Para poder gestionar la fecha y hora en el servidor de manera correcta con respecto a los servidores de hora en Internet, primero tendremos que tener instalado el paquete ntp:

apt-get install ntp

Él mismo nos iniciará el demonio ntpd, que es el encargado de ir haciendo pequeños ajustes en nuestro reloj. Una vez instalado esto, el servidor se conectará a un servidor de hora de Internet y obtendrá la hora de dicho servidor. Para ello, obviamente, debe haber una conexión fiable a Internet.

Se crea el fichero de configuración /etc/ntp.conf que deberá tener algo parecido a esto.

# /etc/ntp.conf, configuration for ntpd

# ntpd will use syslog() if logfile is not defined
#logfile /var/log/ntpd

driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

### lines starting 'server' are auto generated,
### use dpkg-reconfigure to modify those lines.

server hora.rediris.es
server hora.oxixares.com

Por defecto, ntp sincronizará la hora en intervalos mínimos de 64 segundos y máximos de 1024 segundos, aunque se puede cambiar en el fichero de configuración pero normalmente no hace falta (es mediante minpoll y maxpoll). Como sincroniza cada cierto tiempo, e intenta no hacer saltos bruscos de hora es posble que estemos un rato con el ntpd ejecutandose y el sistema aún no haya sincronizado la hora (de hecho si son saltos pequeños intenta cambiar ligeramente la frecuencia del reloj del Kernel).

Además en el servidor también estará instalado el paquete ntpdate para poder sincronizar los clientes. Para ello:

apt-get -f install ntpdate

Por defecto deja en /etc/init.d/ntpdate un script, que tan sólo se ejecuta en el arranque (no deja ningún demonio cargado). Coge los servidores ntp donde sincronizarse de /etc/default/ntp-servers. Por lo tanto este fichero lo dejaremos así:

NTPSERVERS="hora.rediris.es hora.oxixares.com"

En el otro fichero por defecto, /etc/default/ntpdate, dejaremos las siguientes líneas:

NTPSERVERS="pool.ntp.org"
NTPOPTIONS="-u"

Con la opción -u le decimos que no use puertos puertos por debajo del 1024 por si hay un cortafuegos que nos esté recortando el tráfico en entrada contra estos puertos privilegiados.


Verificación Servidor

El paquete ntp incorpora varios comandos, uno de los cuales es ntptrace. Si lo ejecutamos podemos obtener esta salida:

localhost.localdomain: stratum 3, offset -0.012603, synch distance 0.149000
hora.rediris.es: stratum 2, offset -0.001384, synch distance 0.038447

Es importante seleccionar correctamente nuestra zona horaria para poder usar ntp (el servidor ntp puede estar en otra zona horaria, pero el protocolo ntp hará los ajustes necesarios). Para seleccionar nuestra zona horaria usaremos tzsetup o bien tzselect.

Al ejecutar el comando date debemos fijarnos que nos diga correctamente la zona en que nos encontremos situados. Ej:

mar abr 10 13:45:22 CEST 2007

Con esto el servidor debe estar configurado perfectamente para sincronizarse automáticamente con el exterior y con los clientes.




Instalación Clientes

En los clientes funcionará la sincronización con el paquete ntpdate que no necesita un demonio corriendo continuamente y que solo se ejecuta una vez cuando arranca el equipo. Para ello hay que instalar el paquete ntpdate:

apt-get -f install ntpdate

Por defecto deja en /etc/init.d/ntpdate un script, que tan sólo se ejecuta en el arranque (no deja ningún demonio cargado). Coge los servidores ntp donde sincronizarse de /etc/default/ntp-servers. Por lo tanto este fichero lo dejaremos tan solo con la ip de nuestro servidor:

NTPSERVERS="172.xx.xx.2"

En el otro fichero por defecto, /etc/default/ntpdate, dejaremos las siguientes líneas:

NTPSERVERS="172.xx.xx.2"
NTPOPTIONS="-u"

Con la opción -u le decimos que no use puertos puertos por debajo del 1024 por si hay un cortafuegos que nos esté recortando el tráfico en entrada contra estos puertos privilegiados.

Y con esto queda configurado el cliente.

Verificación Clientes

Una vez reiniciado el equipo introducimos el comando:

date

Si coincide con el date del servidor, el equipo está sincronizado.

--Francisco Rodrigo López 13:03 10 abr 2007 (CEST)