Otra con FreeBSD: Cuando el NTP no te funciona como [y cuando] quieres >:-(

Saludos a todos.

Hoy vengo con tra de FreeBSD. Resulta que yo tengo un pfSense dentro de un PC sin pila. Sí, sin pila porque no tengo y aún no hemos adquirido por el momento.

Evidentemente esto es un problema porque la fecha del BIOS se resetea a la hora inicial que tiene definida, lo cual representa un inconveniente para la seguridad
informática (no voy a abundar sobre el asunto porque muchos de nosotros sabemos lo que pasa cuando sucede este tipo de cosas). Entonces, el tipo que nos salva de
este problemón se llama NTP o Servicio de Hora de Red.

Sí, ya tenemos la solución en mente, pero… ¿cómo lo hacemos en BSD? Porque yo con lo que he trabajado hasta ahora es con GNU/Linux. Bueno, la onda está en
configurar el cliente y servicio NTP, o sea, a ntpdate y ntpd respectivamente.

Para los que han visto/leído el post de Wireguard, ya deben tener una idea de por dónde hay que tocar. Aquí va:

Crear el archivo /etc/rc.conf.d/ntp.conf con el siguiente contenido:

ntpd_enable=”YES”
ntpdate_enable=”YES”

Luego crear el archivo /etc/ntp.conf con el siguiente contenido:

driftfile /etc/ntp/drift

server ntp1.dominio.cu prefer
server ntp2.dominio.cu
server ntp3.dominio.cu
(…)
server ntpN.dominio.cu

server 127.127.1.0
fudge 127.127.1.0 stratum 10

restrict 127.0.0.1
restrict 127.127.1.0

Tranquilos, tanto ntpdate, como ntpd, leen del mismo archivo (páginas de manual del ntpdate/ntpd de FreeBSD). Para el que no entienda, la onda consiste en que en
el momento del arranque del sistema, ntpdate sincroniza inicialmente como cliente y luego ntpd se encarga de lo demás.

Si se quiere sincronizar inmediatamente, ejecutar lo siguiente:

ntpdate -v -b ntp1.dominio.cu (o el servidor que desee)

y esperar unos segundos. Para chequear que todo está OK, ejecutar luego lo siguiente:

date

Si la hora está OK, pues, ntpdate hizo su trabajo.

Y hasta aquí este corto post. Espero les sea de ayuda.

😀

Acerca de Hector Suarez Planas

Es Licenciado en Ciencia de la Computación (3 de julio de 2002). Ha sido Administrador de Red en varias organizaciones, Programador y Analista de Sistemas. Actualmente se desempeña como Administrador de Red del Telecentro Tele Turquino de Santiago de Cuba. Tiene experiencia con sistemas Windows y GNU/Linux, Infraestructura de Redes (Cisco, AlliedTelesis, Netgear y HP ProCurve, Vyatta/VyOS), Servidores tanto físicos como virtuales (plataformas VMWare, Proxmox VE y Xen), Sistemas de Seguridad Informática (Snort/Suricata IDS, appliances AlienVault OSSIM), programador (Delphi, C++ Builder, Perl [poco], Python [algo]), entre otras cosas. Actualmente estoy incursionando en todo lo que tiene relación con Cloud Computing (OpenStack) y Centros de Datos. :-)
Esta entrada fue publicada en BSD, FreeBSD, NTP. Guarda el enlace permanente.

4 respuestas a Otra con FreeBSD: Cuando el NTP no te funciona como [y cuando] quieres >:-(

  1. OmNiNemo dijo:

    buen blog, felicitaciones… men ha visto las publicaciones que has hecho en difeentes blogs y me gustaria me dieras un norte de como implementar un sistema(estructura) para repartir una supuesta conexion a internet con otros usuarios… funciona mas menos parecido a etecsa… una conexion y cuando uno loguea los demas cojen… bondades del nat…

    he leido algo sobre pfsense, radius, squid y otras cosas…. pero no formulo y voy en circulos…. ahora para resolver lo q hice fue compartir la conexion por windows…y un script .bat para cuando falla el DHCP reconecte….

    PD: mi interfaz wan es un usb dual band pero la pc la ve como si fuera ethernet…. generalmente la gente usa m5 o similares… pero en mi caso como haria….

    saludos y espero me ayudes con el tema… mi correo es el del comentario

    • Hector Suarez Planas dijo:

      Saludos, OnMiNemo.

      Primero que todo, gracias por su comentario.

      Bueno, en ese campo no me he metido mucho a nivel particular, sino que he hecho algo similar a nivel de empresa/organización. Un laboratorio de ello lo tengo en el artículo:

      Revíselo y si hay algo en lo que le ayude, es una pequeña contibución a lo que desea hacer.

      Espero le siirva. 😀

  2. iKeR dijo:

    Buenas, quizas sea una pregunta boba, pero hay algun servidor NTP .cu???, porke tengo un problema, cada vez que se va la luz, se me descincronizan los relojes de las pc con el dominio.
    Saludos y buen blog

    • Hector Suarez Planas dijo:

      Saludos, iKeR.

      Primero que todo, gracias por su comentario.

      No, no hay un servidor NTP a nivel de país con el que podamos contar, y a ningún Administador de Red se le ocurriría abrir el suyo para fuera de su red.

      Ahí lo que le recomiendo es, si tiene Internet, “robar” la hora de algún servidor Web en Internet. OJO, le recomiendo tener un EV sólo para eso, y si no puede, montarlo en un servidor de red que tenga acceso a Internet para actualizaciones o algo (puede ser un FTP centralizado ocn las actualizaciones de los antivirus).

      En mi caso, “tomo prestada” la hora del servidor Mail.RU:

      #!/bin/bash

      # Script para sincronizar la hora del sistema basado en la cabecera HTTP
      # dada como resultado de una peticion GET mediante el comando curl.
      #
      # Esto se hace como alternativa por si el servidor de hora de mi proveedor no
      # funciona adecuadamente, tener una segunda variante de sincronizacion mediante
      # HTTP, dado que no se puede llegar directamente a los servidores de hora de Internet.
      #

      PROXY_USER="usuario"
      PROXY_PASS="contraseña"
      PROXY_SERVER="proxy"
      PROXY_PORT="puerto"

      DATE_UTC=`curl --proxy http://$PROXY_USER:$PROXY_PASS@$PROXY_SERVER:$PROXY_PORT -sD - mail.ru | grep ^Date: | cut -d' ' -f3-6`
      DATE_ZULU=${DATE_UTC}Z

      if [ -z "${DATE_UTC}" ]; then
      echo "Error al obtener el valor de la fecha/hora del servidor en Internet, fallo en el proxy?"
      else
      date -s "${DATE_ZULU}"
      fi

      exit 0

      Espero le sirva. 😀

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *