Linux
Configurar NTP en Linux
Configurar NTP (Network Time Protocol) en Linux es esencial para asegurar que la hora del sistema esté sincronizada correctamente con servidores NTP, lo que es especialmente importante en servidores y entornos donde la sincronización horaria es crítica. A continuación te explico en detalle cómo configurar NTP en una distribución Linux basada en Debian (como Debian, Ubuntu) o Red Hat (como CentOS, RHEL).
1. Elegir entre NTP y Chrony
Linux suele utilizar uno de los siguientes servicios para la sincronización de tiempo:
• NTP (ntpd): El clásico protocolo de sincronización de tiempo.
• Chrony: Un cliente/servidor más moderno y rápido para la sincronización de tiempo que reemplaza a NTP en muchas distribuciones modernas.
Para configuraciones nuevas o sistemas recientes, se suele recomendar Chrony ya que tiene mejor rendimiento en sistemas inestables (como máquinas virtuales) y es más eficiente en la corrección rápida de desajustes de tiempo. Aquí veremos cómo configurar NTP.
2. Configurar NTP con ntpd
Paso 1: Instalar el paquete NTP
Primero, instala el paquete NTP. En sistemas Debian (Debian, Ubuntu), ejecuta:
sudo apt update
sudo apt install ntp
En sistemas basados en Red Hat (CentOS, RHEL), ejecuta:
sudo yum install ntp
Paso 2: Configurar NTP
La configuración de NTP se encuentra en el archivo /etc/ntp.conf. Abre este archivo para editarlo:
sudo nano /etc/ntp.conf
Dentro de este archivo, verás una lista de servidores NTP. Por defecto, el archivo ya incluye servidores NTP genéricos (por ejemplo, de pool.ntp.org), pero puedes añadir tus propios servidores si lo necesitas. Un ejemplo de la configuración de servidores es:
# Servidores NTP
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst
• iburst: Esta opción permite una sincronización más rápida cuando el servidor NTP no está inicialmente sincronizado.
Si tienes servidores locales de NTP, puedes reemplazar las líneas pool.ntp.org por la IP o el nombre de tus servidores NTP.
Paso 3: Ajustes adicionales
• Restricciones de acceso: Puedes limitar quién puede consultar o modificar el tiempo de tu servidor configurando restricciones en el archivo ntp.conf. Por ejemplo, para permitir solo consultas de la red local, puedes agregar:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
Este comando permite que las máquinas de la red 192.168.1.0/24 consulten el tiempo, pero sin poder modificar la configuración del servidor.
Paso 4: Iniciar y habilitar el servicio NTP
Inicia y habilita el servicio NTP para que se ejecute en cada inicio del sistema:
sudo systemctl enable ntp
sudo systemctl start ntp
Paso 5: Verificar el estado de NTP
Para verificar que NTP está funcionando correctamente y sincronizando el tiempo, utiliza el siguiente comando:
ntpq -p
Este comando mostrará una lista de servidores NTP con los que el sistema está sincronizando, junto con información sobre el estado de la sincronización.
Solución de problemas
• Si NTP no está sincronizando correctamente, asegúrate de que tu servidor puede alcanzar los servidores NTP a través de la red (es decir, que no haya problemas de conexión a Internet o con el cortafuegos).
• También es posible que necesites ajustar la hora manualmente inicialmente si la diferencia horaria es demasiado grande, usando timedatectl set-time.
Configurar Chrony en Linux
Linux suele utilizar uno de los siguientes servicios para la sincronización de tiempo:
• NTP (ntpd): El clásico protocolo de sincronización de tiempo.
• Chrony: Un cliente/servidor más moderno y rápido para la sincronización de tiempo que reemplaza a NTP en muchas distribuciones modernas.
Para configuraciones nuevas o sistemas recientes, se suele recomendar Chrony ya que tiene mejor rendimiento en sistemas inestables (como máquinas virtuales) y es más eficiente en la corrección rápida de desajustes de tiempo.
Chrony es una alternativa moderna al clásico ntpd. Es más eficiente, sobre todo en sistemas con conexiones intermitentes o máquinas virtuales, donde los relojes del sistema pueden desincronizarse fácilmente.
Paso 1: Instalar Chrony
En sistemas Debian (Debian, Ubuntu), ejecuta:
sudo apt install chrony
En sistemas basados en Red Hat (CentOS, RHEL):
sudo yum install chrony
Paso 2: Configurar Chrony
La configuración de Chrony se encuentra en el archivo /etc/chrony/chrony.conf. Abre el archivo para editarlo:
sudo nano /etc/chrony/chrony.conf
Dentro del archivo, verás una lista de servidores NTP, similares a los de ntp.conf:
# Servidores NTP
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst
• iburst: Esta opción permite una sincronización más rápida cuando el servidor NTP no está inicialmente sincronizado.
Puedes agregar tus propios servidores NTP si los tienes. Por ejemplo, si usas servidores internos:
server 192.168.1.100 iburst
server 192.168.1.101 iburst
Paso 3: Configuración de acceso
Si necesitas restringir el acceso a las máquinas de tu red local, puedes agregar algo como esto:
allow 192.168.1.0/24
Esto permitirá a las máquinas de la red 192.168.1.0/24 consultar el servidor Chrony.
Paso 4: Iniciar y habilitar Chrony
Inicia y habilita el servicio Chrony:
sudo systemctl enable chrony
sudo systemctl start chrony
Paso 5: Verificar la sincronización con Chrony
Para verificar el estado de la sincronización, utiliza:
chronyc tracking
Esto te dará información sobre la sincronización de tiempo del sistema. Para ver la lista de servidores NTP a los que está conectado Chrony:
chronyc sources
Paso 6: Verificar el estado de sincronización
Puedes verificar el estado del reloj del sistema usando:
timedatectl status
Solución de problemas
• Si Chrony no está sincronizando correctamente, asegúrate de que tu servidor puede alcanzar los servidores NTP a través de la red (es decir, que no haya problemas de conexión a Internet o con el cortafuegos).
• También es posible que necesites ajustar la hora manualmente inicialmente si la diferencia horaria es demasiado grande, usando timedatectl set-time.
netcat (nc) en linux
Voy a tratar de explicar de forma sencilla como usar el comando netcat.
¿Qué es netcat?
Netcat o nc es una herramienta que nos ayudará a comprobar las conexiones de red de nuestros sistemas. Puede comprobar o enviar paquetes tando en TCP como en UDP. Puede abrir conexiones TCP, enviar paquetes UDP, escuchar peticiones sobre puertos arbitrarios tanto TCP como UDP, permite supervisar puertos abiertos y otras muchas cosas más y funciona tanto en IPv4 como IPv6.