¿Cómo habilito ntpd para servir a clientes ntp (usando High Sierra)?

2

Tengo algunas computadoras Raspberry Pi en una red privada que no tienen relojes en tiempo real y, por lo tanto, no puedo mantener el tiempo con precisión después de que se apagan. Debido a que están desconectados de Internet, no pueden usar ntp para actualizar sus relojes después de sincronizarse.

Sin embargo, puedo conectar mi mac a la red privada y pedir a las computadoras de la frambuesa pi que obtengan la hora actual desde la mac.

Cuando intento hacer esto, no funciona.

El servicio ndpd launchd está deshabilitado en High Sierra. Cuando intento iniciarlo, esto sucede.

$ sudo launchctl load -w /System/Library/LaunchDaemons/org.ntp.ntpd-legacy.plist 
Password:
/System/Library/LaunchDaemons/org.ntp.ntpd-legacy.plist: Service is disabled

Intenté habilitarlo así, sin éxito

$ sudo launchctl enable system/org.ntp.ntpd-legacy
$ sudo launchctl load -w /System/Library/LaunchDaemons/org.ntp.ntpd-legacy.plist
Password:
/System/Library/LaunchDaemons/org.ntp.ntpd-legacy.plist: Service is disabled

así que tengo que iniciarlo manualmente así:

sudo /usr/sbin/ntpd

Cuando pruebo en el pi para ver si la sincronización ntp está funcionando, obtengo esto:

pi@jessie:~ $ timedatectl status
      Local time: Mon 2018-05-07 14:53:03 GMT+7
  Universal time: Mon 2018-05-07 21:53:03 UTC
        RTC time: n/a
       Time zone: Etc/GMT+7 (GMT+7, -0700)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

Observe que NTP sincronizado está configurado en "no".

Cuando pruebo para ver si los tiempos están sincronizados, este es el resultado:

$ date; SSHPASS='pass' sshpass -e ssh pi@pi1 date
Mon May  7 14:52:23 PDT 2018
Mon May  7 14:52:00 GMT+7 2018

Los tiempos no están sincronizados. No estoy seguro de cómo depurar. No está claro dónde se almacenan los registros ntpd.

En última instancia, solo quiero poder iniciar ntpd y que responda a las solicitudes de tiempo.

    
pregunta Alex Ryan 08.05.2018 - 00:28

1 respuesta

4

Tiene que configurar ntp.conf y ntp-restrict.conf para ejecutar un servidor de hora local:

  1. Mata ntpd
  2. Añadir

    server 127.0.0.1 prefer
    fudge 127.0.0.1
    

    al final de /etc/ntp.conf.

  3. Añadir

    restrict <network_address> mask <net_mask> nomodify notrap
    

    después del bloque de restricción localhost en /etc/ntp-restrict.conf. Reemplace <network_address> con su dirección de red local (por ejemplo, 192.168.2.0) y <net_mask> con su máscara (por ejemplo, 255.255.255.0)

  4. Volver a cargar org.ntp.ntpd-legacy (no tuve ningún problema para cargar el daemon del sistema, aunque SIP está deshabilitado):

    sudo launchctl unload -w /System/Library/LaunchDaemons/org.ntp.ntpd-legacy.plist
    sudo launchctl load -w /System/Library/LaunchDaemons/org.ntp.ntpd-legacy.plist
    
  5. Revisa tu servidor de hora localmente:

    ntpdate -vdq 127.0.0.1
    

    Por lo general, el servidor no es adecuado en el primer intento porque el stratum es demasiado alto (es decir, 16 = no sincronizado )! Espera un momento y vuelve a intentarlo. Aquí demoró aproximadamente 10 minutos bajar el estrato a 2 desde 16.

  6. Conecte su Mac a la red privada e intente sincronizar sus clientes de Raspberry Pi.
respondido por el klanomath 08.05.2018 - 03:28

Lea otras preguntas en las etiquetas