Sincronizando la hora con ntp

Sincronizando la hora con ntp

En esta ocasión, vamos a configurar un equipo para que sincronice la hora al resto de equipos de la red que podamos tener. Y también, al revés, que varios equipos sincronicen la hora con otro.


Actualización 05/2020: Se ha añadido systemd-timesyncd que ya sincroniza el reloj del sistema a través de la red. Este simple cliente NTP debería ser apropiado para la mayoría de instalaciones. De todas maneras, dejo el procedimiento que en su dia utilice.

Vamos a configurar un equipo como servidor y el resto de equipos como clientes, para ello vamos a utilizar NTP.

Tanto en el equipo servidor como en los equipos clientes, instalamos NTP:

sudo pacman -S ntp

CONFIGURANDO NTP COMO EL SERVIDOR

Modificamos el fichero de configuración:

sudo nano /etc/ntp.conf

Y modificamos los servidores a los que nos vamos a conectar. Para elegirlos podemos consultar NTP Pool Project, y localizar la zona donde se encuentre nuestro país.

Sustituimos los servidores propuestos en el fichero y pegamos los que hemos seleccionado anteriormente:

# Associate to Arch's NTP pool
server 3.es.pool.ntp.org iburst
server 0.europe.pool.ntp.org iburst
server 2.europe.pool.ntp.org iburst

A continuación, verificamos las línea de restricción que nos permite que otros clientes consulten el servidor de tiempo.

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict -4 default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery

Solo permitiremos que nuestra red sea la que pueda sincronizar con el servidor NTP:

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

En caso de que el servidor se desconecte de Internet va a poder seguir proporcionando la hora a la red si incluimos el reloj local como backup:

server 127.127.1.0
fudge 127.127.1.0 stratum 10

Especificamos la ubicación de los parámetros del log NTP:

driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp.log

Ahora seleccionamos nuestra zona horaria

sudo timedatectl set-timezone Europe/Madrid

Y comprobamos con:

sudo timedatectl status

Sincronizamos manualmente:

ntpd -qg

Y por último, añadimos el servicio al inicio y lo arrancamos.

sudo systemctl enable ntpd
sudo systemctl start ntpd

CONFIGURANDO NTP PARA LOS CLIENTES

Modificamos el archivo de configuración

sudo nano /etc/ntp.conf

Añadimos la IP del equipo que realiza las funciones de servidor NTP y el resto de servidores:

# Associate to Arch's NTP pool
server 192.168.1.70 prefer
server 3.es.pool.ntp.org iburst
server 0.europe.pool.ntp.org iburst
server 2.europe.pool.ntp.org iburst

Y por último añadimos el servicio al inicio y lo arrancamos:

sudo systemctl enable ntpd
sudo systemctl start ntpd

Seleccionamos nuestra zona horaria:

sudo timedatectl set-timezone Europe/Madrid

Y activamos NTP:

sudo timedatectl set-ntp true

Comprobamos con:

ntpd -qg

Las columnas delay, offset y jitter deben mostrar una fluctuación distinta de cero. Los servidores ntpd que se estén sincronizando aparecerán con un asterisco como prefijo. Pueden pasar varios minutos antes de que ntpd seleccione un servidor para sincronizarse, prueba a comprobar pasados 17 minutos (1024 segundos).

sudo timedatectl status
 Local time: sáb 2017-08-26 07:20:38 UTC
 Universal time: sáb 2017-08-26 07:20:38 UTC
 RTC time: n/a
 Time zone: n/a (UTC, +0000)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

openntpd

En lugar del anterior, podemos usar openntpd, bastante mas sencillo de configurar.

sudo pacman -S openntpd

Si estamos utilizando un cortafuegos, por ejemplo UFW, permitimos el trafico:

sudo ufw allow 123/udp

Y modificamos el archivo ntpd.conf:

sudo nano /etc/ntpd.conf

Para el servidor:

server 0.europe.pool.ntp.org
server 1.europe.pool.ntp.org
server 2.europe.pool.ntp.org
server 3.europe.pool.ntp.org

listen on 127.0.0.1

Para los clientes:

server 192.168.1.70

Activamos y arrancamos

sudo systemctl enable openntpd.service
sudo systemctl start openntpd.service

Seleccionamos nuestra zona horaria

sudo timedatectl set-timezone Europe/Madrid

y comprobamos con:

sudo timedatectl status
               Local time: sáb 2020-05-02 16:30:29 CEST
           Universal time: sáb 2020-05-02 14:30:29 UTC
                 RTC time: n/a
                Time zone: Europe/Madrid (CEST, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Soy Jaume Ferré, aficionado a los nuevas tecnologias, aunque ya no lo son tanto.
¡Gracias por leerme!

Valora este artículo1 2 3 4 5 (0 votos)

(0 votos)

Categorias del blog

twitter

Últimos tweets