NTP (significa protocolo de tiempo de red) se utiliza para sincronizar el reloj del sistema del cliente con el reloj del servidor. Ayuda a las aplicaciones de red a tener una hora precisa. En este artículo, explicaremos cómo configurar el servidor NTP y sincronizar un reloj de la máquina cliente NTP. Usaremos Ubuntu 20.04 LTS para ejecutar los comandos y explicar el procedimiento.
Requisitos
- Dos máquinas Ubuntu (para host NTP y cliente NTP)
- Usuario Sudo en ambas máquinas Ubuntu
Configurar servidor NTP
Para instalar y configurar el servidor NTP en la máquina host, siga los pasos a continuación:
Paso 1:Instalación de NTP en el servidor host
Para instalar el servidor NTP, primero actualice los repositorios locales en el sistema. Abra la Terminal de línea de comandos en el sistema host y emita el siguiente comando:
$ sudo apt update
Luego proporcione la contraseña de sudo.
Ahora instale NTP en el sistema host. Escribe el siguiente comando en Terminal y presiona Enter:
$ sudo apt install ntp
Cuando se le solicite confirmación, presione y , después de lo cual el sistema comenzará la instalación de NTP.
Una vez completada, puede verificar la instalación desde el siguiente comando:
$ sntp --version
Paso 2:configurar el servidor NTP
De forma predeterminada, NTP está configurado para extraer la hora de los servidores de Internet. Sin embargo, puede configurarlo manualmente para extraer el tiempo de los grupos más cercanos según su ubicación geográfica.
Edite el archivo de configuración NTP de la siguiente manera:
$ sudo nano /etc/ntp.conf
En el archivo de configuración, verá una lista de grupos que utiliza NTP de forma predeterminada.
Para agregar los grupos más cercanos a su ubicación, visite el sitio web support.ntp.org y seleccione su ubicación.
Por ejemplo, si selecciona Europa, verá una lista de grupos como se muestra en la siguiente captura de pantalla.
En el archivo de configuración, elimine la lista predeterminada de grupos e inserte la lista de grupos que ha copiado de support.ntp.org sitio web. En nuestro sistema, hemos agregado los grupos para la región de Europa.
Una vez que haya terminado, presione Ctrl+x . Ahora se le preguntará si desea guardar los cambios, presione y .
Paso 3:reiniciar el servicio NTP
Después de realizar los cambios en /etc/ntp.conf archivo, reinicie el servicio NTP usando el siguiente comando:
$ sudo service ntp restart
Paso 4:permitir NTP en el cortafuegos
Si se ejecuta un firewall en el host NTP, deberá agregar una regla que permita que NTP lo atraviese. Ejecute el siguiente comando en la Terminal para agregar una regla al firewall:
$ sudo ufw allow ntp
Para verificar si la regla se agregó correctamente, escriba el siguiente comando en la Terminal y presione Entrar:
$ sudo ufw status
Ahora el servidor NTP se ha configurado en la máquina host. Ahora pasemos a la configuración del cliente NTP.
Sincronizar el reloj de la máquina cliente NTP con el servidor NTP
Ahora configuraremos la máquina cliente NTP para sincronizar el reloj con el servidor NTP.
Paso 1:Instale ntpdate en la máquina cliente
El comando Ntpdate se usa para una sincronización única con el servidor NTP. Abra la Terminal en la máquina cliente y emita el siguiente comando para instalar ntpdate:
$ sudo apt install ntpdate
Luego ingrese la contraseña de sudo.
Cuando se le solicite confirmación, ingrese y , después de lo cual el sistema iniciará la instalación de ntpdate.
Paso 2:sincronizar manualmente el cliente NTP con el servidor NTP usando ntpdate
En este paso, sincronizaremos manualmente el cliente NTP con el servidor NTP para comprobar si la hora es precisa y si la diferencia no supera los 1024 segundos. Para hacerlo, emita el siguiente comando en la Terminal reemplazando
$ sudo ntpdate <server-IP>
EN nuestro caso, la dirección IP del servidor NTP es 192.168.72.157 , por lo que el comando sería:
$ sudo ntpdate 192.168.72.157
En el resultado anterior, puede ver que la diferencia de tiempo es de solo 0,008231 segundos.
Paso 3:deshabilite el servicio systemd timesyncd
Deshabilite el servicio timesyncd del sistema ya que vamos a sincronizar la hora de nuestro sistema con el servidor NTP. Ejecute el siguiente comando para hacerlo:
$ sudo timedatectl set-ntp off
Paso 4:Instale NTP en la máquina cliente
Como ha visto, la salida del comando ntpdate muestra que la diferencia de tiempo es muy inferior, por lo que ahora podemos configurar ntp.conf en la máquina cliente para sincronizarlo automáticamente con el servidor NTP.
Primero, deberá instalar NTP en la máquina cliente. Ingrese el siguiente comando en la Terminal:
$ sudo apt install ntp
Cuando se le solicite confirmación, ingrese y , después de lo cual el sistema comenzará la instalación de NTP. Una vez completado, puede configurar NTP como se describe en el siguiente paso.
Paso 5:Configure ntp.conf en la máquina cliente para sincronizarlo automáticamente con el servidor NTP
En este paso, configuraremos npt.conf para sincronizar automáticamente la máquina cliente con el servidor NTP.
En la máquina cliente, edite el archivo ntp.conf de la siguiente manera:
$ sudo nano /etc/ntp.conf
Agregue la siguiente línea en el archivo de configuración reemplazando
server <NTP-server-hostname> prefer iburst
Una vez que haya terminado, presione Ctrl+x . Ahora, se le preguntará si desea guardar los cambios, presione y .
Después de realizar cambios en /etc/ntp.conf archivo, reinicie el servicio NTP usando el siguiente comando:
$ sudo service ntp restart
Ahora la máquina cliente se ha conectado al sistema host para la sincronización de tiempo.
Ver estado de sincronización NTP
Para ver el estado de sincronización actual de NTP, emita el siguiente comando en la Terminal:
$ ntpq -p
En el resultado, puede ver "ubuntu" como el servidor de tiempo conectado junto con otra información.
¡Eso es todo! En este artículo, aprendió cómo configurar el servidor NTP en la máquina Ubuntu y luego sincronizar un reloj de la máquina cliente NTP. Ahora puede configurar fácilmente un servidor NTP y conectar varias máquinas cliente con él para sincronizar la hora.