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