Як увімкнути ntpd для обслуговування клієнтів ntp (за допомогою High Sierra)?


2

У мене є деякі комп'ютери малини pi на приватній мережі, які не мають годинник реального часу і, отже, не може тримати час точно після їх відключення. Оскільки вони відключені від Інтернету, вони не можуть використовувати ntp для оновлення своїх годинників після синхронізації.

Тим не менш, я можу підключити свій Mac до приватної мережі і попросити комп'ютери малини pi, щоб отримати поточний час від Mac.

Коли я намагаюся зробити це, вона не працює.

Послуга ntpd launchd вимкнена у High Sierra. Коли я намагаюся його запустити, це відбудеться.

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

Я намагався включити так, безрезультатно

$ 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

тому я повинен запустити його вручну так:

sudo /usr/sbin/ntpd

Коли я перевіряю на pi, щоб перевірити, чи синхронізація ntp працює, я отримую таке:

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

Зверніть увагу, що синхронізація NTP встановлена ​​на "ні".

Коли я перевіряю, чи синхронізовано час, це результат:

$ 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

Час не синхронізований. Я не впевнений, як налагоджувати. Невідомо, де зберігаються журнали ntpd.

Зрештою, я просто хочу мати можливість запустити ntpd і дати йому відповідь на запити на час.

Відповіді:


4

Ви повинні налаштувати ntp.conf і ntp-restrict.conf для запуску локального сервера часу:

  1. Вбийте ntpd
  2. Додати

    server 127.0.0.1 prefer
    fudge 127.0.0.1
    

    в кінці файлу /etc/ntp.conf.

  3. Додати

    restrict <network_address> mask <net_mask> nomodify notrap
    

    після блоку обмеження localhost в /etc/ntp-restrict.conf. Замінити <network_address> з адресою локальної мережі (наприклад, 192.168.2.0) і <net_mask> із маскою (наприклад, 255.255.255.0)

  4. Перезавантажити org.ntp.ntpd-legacy (у мене не було проблем з завантаженням системного демона, хоча SIP відключено)

    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. Перевірте місцевий сервер часу:

    ntpdate -vdq 127.0.0.1
    

    Зазвичай сервер не підходить з першої спроби, тому що прошарок до високого (тобто 16 = несинхронізований)! Зачекайте деякий час і повторіть спробу. Тут знадобилося близько 10 хвилин, щоб довести пласт до 2 з 16.

  6. Підключіть ваш Mac до приватний мережі та спробуйте синхронізувати своїх клієнтів Raspberry Pi.

За допомогою SIP можна просто скопіювати файл: sudo cp /System/Library/LaunchDaemons/org.ntp.ntpd-legacy.plist /Library/LaunchDaemons/ і змініть його, щоб бути "Увімкнено", а потім запустіть його: sudo launchctl load -w /Library/LaunchDaemons/org.ntp.ntpd-legacy.plist
Pierz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.