Primero tienes que comunicar tu Ubuntu con un servidor NTP para obtener la fecha de manera fiable y estar siempre tan cerca de la hora real como sea posible.
- Abre una terminal (Ctrl+Alt+T) y escribe el siguiente cimando para instalar el servicio NTP
sudo apt-get install ntp -y
Es probable que tu máquina con Ubuntu ya lleve un servicio de tiempo llamado “timesyncd”. Como no pueden estar los dos servicios distintos de tiempo funcionando a la misma vez, deberemos desactivarlo.
sudo systemctl stop systemd-timesyncd
sudo systemctl disable systemd-timesyncd
sudo systemctl stop ntp
sudo systemctl start ntp
Ahora debes entrar en la configuración del fichero para escribir los servidores NTP mas cercanos a ti.
- Abre el navegador en la pagina https://www.ntppool.org/zone/@ y encuentra los servidores mas cercanos a ti.
- Ve al apartado Europa y, en nustro caso, Spain.
- Copia los servidores y abre la configuración de fichero del NTP.
sudo nano /etc/ntp.conf
- Coge las líneas que empiezan por server o por pool y cámbialas por los que habías copiado antes en la página web.
- Sal guardando los cambios (“ctrl + x”), y reinicia el servicio NTP.
sudo systemctl restart ntp
Para comprobar que se haya sincronizado correctamente, escribiendo el comando siguiente debería aparecerte algo parecido a la fotografía (con más o menos servidores dependiendo de cuántos hayas puesto en el código.
sudo ntpq -pn
En la imagen, el símbolo “*” significa que es el servidor que coge tu máquina con Ubuntu para el tiempo, y los “+” los utilizará si la primera fuente no responde. La primera columna muestra las direcciones IP de los servidores NTP, y la segunda columna la fuente del tiempo que te mandan. La tercera columna es el estrato donde se encuentra, que muestra la cantidad de intermediarios que haya (0-15). Los aparatos de estrato 0 son el mismo reloj atómico, por lo que para mandarlo ya necesitan un intermediario, convirtiéndose en 1 (como pasa en la imagen con el GPS).
- Para saber el tiempo en ISO 8601, y comprobar el nuevo tiempo de tu Ubuntu sin tener que reiniciarlo, usa el comando.
date +"%FT%T%Z"
Ahora que tu Ubuntu tiene ya sincronizado su tiempo es hora de convertirlo en servidor NTP para los dispositivos de tu red.
- Abre en la consola de comandos el archivo de configuración NTP.
sudo nano /etc/ntp.conf
- Añade las siguientes líneas, actualiza las IPs con los números de los rangos de IP de tu red local.
- No cambies la última línea del código, que algunos dispositivos se conectan allí para conseguir el NTP de modo automático.
restrict 192.168.0.0 mask 255.255.0.0
broadcast 192.168.0.255
broadcast 224.0.1.1
- Cierra el archivo de configuración y guarda los cambios.
- Reinicia el servicio NTP.
sudo systemctl restart ntp
Tu Ubuntu se ha convertido en servidor NTP para todo aquel dispositivo conectado a la misma red. Sólo tienes que hacer que los dispositivos busquen la hora en la IP de tu máquina con Ubuntu.