NTP es un protocolo de red utilizado para sincronizar todos los relojes del sistema en una red. Esto permite que todos los sistemas de una red tengan la misma hora. NTP lo hace poniéndose en contacto con otros servidores de tiempo en Internet. NTP usa el puerto UDP 123 para comunicarse con clientes y otros servidores NTP. En esta publicación, le mostraremos cómo configurar el servidor y el cliente NTP en el sistema Debian.
Para la demostración, hemos usado dos máquinas Debian con los siguientes detalles:
host NTP – Nombre de host:ntp-host, dirección IP estática:192.168.72.158
Cliente NTP – Nombre de host:cliente, dirección IP:192.168.72.159
Nota :Los pasos que se muestran aquí han sido probados en Debian 10 (Buster).
Instalar y configurar el servidor NTP en la máquina host Debian
Para instalar y configurar el servidor NTP en Debian 10, deberá realizar todos los pasos que se enumeran a continuación:
Paso 1:Ejecute la actualización de Apt
Primero, deberá actualizar la lista de paquetes para descargar la última versión del paquete NTP. Abra la Terminal y ejecute el siguiente comando para hacerlo:
$ sudo apt update
Paso 2:Instalación de NTP en el servidor host
Para instalar el servidor NTP en la máquina host, ejecute este comando:
$ sudo apt install ntp
Después de ejecutar el comando anterior, es posible que se le pregunte si desea continuar con la instalación proporcionándole el y/n (sí/no) opción. Introduzca y para continuar con el proceso de instalación.
Para verificar si NTP está instalado y ver la información de la versión, ejecute el siguiente comando:
$ sntp --version
Paso 3:Configuración del servidor NTP
Para configurar el servidor NTP, debe tener dos elementos en su máquina host:uno es /etc/ntp.conf archivo y el otro es ntpd demonio. Primero, configuraremos el ntp.conf archivo y luego reiniciaremos el ntpd demonio.
Edite el /etc/ntp.conf archivo usando el siguiente comando:
$ sudo nano /etc/ntp.conf
Cuando se instala el servidor NTP, se configura de forma predeterminada para obtener la hora de los siguientes servidores:
pool 0.debian.pool.ntp.org iburst
pool 1.debian.pool.ntp.org iburst pool 2.debian.pool.ntp.org iburst pool 3.debian.pool.ntp.org iburst
Puede reemplazarlos con los servidores de tiempo más cercanos a su ubicación. Visite el sitio web ntp.org para encontrar los servidores de grupo NTP más cercanos a su ubicación.
Para usar cualquier servidor de grupo NTP específico, deberá agregarlo a su ntp.conf expediente. Vamos a agregar servidores de grupos para la región de Asia, que se muestra a continuación:
En el ntp.conf archivo, reemplace la lista de grupos predeterminada con las siguientes líneas:
server 0.asia.pool.ntp.org server 1.asia.pool.ntp.org server 2.asia.pool.ntp.org server 3.asia.pool.ntp.org
Luego guarde y cierre el ntp.conf archivo.
Paso 4:reiniciar el demonio NTP
Ahora debe reiniciar el demonio NTP. Use el siguiente comando para hacer esto:
$ sudo service ntp restart
Ahora, ejecute el siguiente comando para verificar si el servidor NTP se ejecuta sin problemas:
$ sudo service ntp status
Paso 5:permitir NTP a través del cortafuegos
Si está utilizando un firewall, deberá configurarlo para permitir conexiones UDP al puerto NTP 123. Ejecute el siguiente comando para permitir que los clientes accedan al servidor NTP:
$ sudo ufw allow 123/udp
Ahora ejecute el siguiente comando para verificar si la regla se ha agregado correctamente:
$ sudo ufw status
Instalar y configurar el cliente NTP en la máquina del cliente Debian
Para configurar una máquina como cliente NTP, deberá asegurarse de que el desplazamiento (diferencia horaria entre el reloj local y el servidor NTP) no supere los 1024 segundos. Si el desplazamiento es mayor que este valor, la fuente de tiempo se considerará inexacta. Por esta razón, primero intentaremos sincronizar manualmente el cliente NTP con el servidor NTP usando el ntpdate. Si el valor de compensación es inferior a 1024 segundos, configuraremos el archivo ntpd.conf para la sincronización automática.
Paso 1:sincronizar el cliente NTP con el servidor NTP manualmente mediante ntpdate
Ntpdate se utiliza para sincronizar la hora del cliente NTP con el servidor NTP solo una vez. Para instalarlo en la máquina cliente, use el siguiente comando:
$ sudo apt install ntpdate
Después de ejecutar el comando anterior, es posible que se le pregunte si desea continuar con la instalación proporcionándole el y/n (sí/no) opción. Introduzca y para continuar con el proceso de instalación.
Ahora use el siguiente comando para sincronizar manualmente el cliente NTP con el servidor NTP:
$ sudo ntpdate <ntp-server-hostname/ip>
En nuestro escenario, sería:
$ sudo ntpdate 192.168.72.158
La salida de ntpdate El comando mostrará el valor de compensación (diferencia horaria entre el reloj local y el servidor NTP). En nuestro ejemplo, el valor de compensación es 0,054776 segundos, que es muy inferior. Por lo tanto, ahora podemos configurar ntp.conf para sincronizar automáticamente la hora con nuestro servidor NTP.
Paso 2:Configuración del archivo de hosts
Agregue la siguiente entrada de nombre de host en /etc/hosts archivo de la máquina cliente. Este paso es necesario para resolver el servidor NTP a través del nombre de host.
<ntp-server-hostname> <ntp-server-ip>
Asegúrese de reemplazar ntp-server-hostname y ip-servidor-ntp con el nombre de host y la dirección IP de su NTP respectivamente. En nuestro escenario, sería:
192.168.72.158 ntp-host
Paso 3:deshabilite systemd timesyncd Daemon
Como vamos a configurar NTP, deshabilite systemd timesyncd demonio. Use el siguiente comando para hacerlo:
$ sudo timedatectl set-ntp off
Paso 4:sincronizar el cliente NTP con el servidor NTP automáticamente usando el archivo de configuración NTP
Ahora configuraremos nuestra máquina cliente para sincronizar con el servidor NTP automáticamente. Por esta razón, instalaremos NTP usando el siguiente comando en el sistema cliente:
$ sudo apt install ntp
Después de ejecutar el comando anterior, es posible que se le pregunte si desea continuar con la instalación proporcionándole el y/n (sí/no) opción. Introduzca y para continuar con el proceso de instalación. Una vez finalizada la instalación, configure ntp.conf archivo.
Ejecute el siguiente comando para editar el archivo ntp.conf:
$ sudo nano /etc/ntp.conf
Inserte la siguiente línea en el archivo:
server <ntp-server-hostname/ip> prefer iburst
En nuestro escenario, sería:
server 192.168.72.158 prefer iburst
En la línea de arriba, preferir se utiliza para marcar el servidor especificado como el servidor preferido para la sincronización NTP. Donde el iburst se utiliza para enviar seis paquetes para sincronización en lugar del habitual (en caso de que no se pueda acceder al servidor NTP).
Ahora reinicie el demonio NTP para aplicar los cambios de configuración:
$ sudo service ntp restart
Comprobar el estado de sincronización de NTP
Ahora, para verificar si NTP funciona correctamente, ejecute el siguiente comando:
$ ntpq -p
Aquí está el resultado del comando anterior donde remoto es el nombre de host del servidor NTP y refid es el servidor de nivel superior al que nuestro servidor NTP se ha conectado para la sincronización.
¡Eso es todo! En la publicación de hoy, le mostramos cómo configurar el servidor NTP en Debian 10. Luego explicamos cómo configurar el cliente NTP en otra máquina Debian y sincronizarlo con el servidor NTP. Siguiendo todos los sencillos pasos explicados anteriormente, puede sincronizar fácilmente todos los relojes del sistema en una red.
Puede visitar nuestra publicación sobre cómo configurar un servidor y un cliente NTP en Ubuntu 20.04 LTS.