Автор Тема: Как заставить ntpd доверять локальному серверу  (Прочитано 867 раз)

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 246
Идея такая. Сервер с ntpd используется в качестве "прокси" для раздачи времени. Т.е. сам он не имеет доступа к интернету, но синхронизируется через другой компьютер, который имеет. Но на случай, если этот другой компьютер работать не будет, надо хотя бы обеспечить одинаковость времени на всех остальных клиентах. Orphaned Mode - это что то очень замудреное и я пока не могу понять, как оно будет работать в такой конфигурации. В интернете же советуют по старинке прописать в конфиг системные часы.

Т.е. например:
server <другой сервер> iburst
server 127.127.1.0
fudge 127.127.1.0 stratum 10

Проблема в чем. Я никак не могу заставить ntpd доверять локальному серверу раздачи времени, не смотря на то, что у него stratum 1. Прописан ли 127.127.1.0, не прописан - ntpd упорно отказывается синхронизироваться со вторым сервером. Это видно по ntpq -pn. Во первых напротив него не ставится зведочка, а во вторых расхождение времени никуда не девается.

Я даже попробовал извращенный вариант. Подумал, может он не доверяет одному серверу, но будет доверять большему количеству? Взял накидал на обоих машинах альтернативных IP-адресов, чтобы серверов было как бы 3. Это все равно не помогло.

Картина примерно такая:

Не смотрите, что offset маленький - это я уже вручную один раз синхронизировал при помощи ntpdate. Было 15к.

Кто то может объяснить, в чем прикол?
« Последнее редактирование: 14.09.2022 14:06:37 от Mr.Madguy »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 732
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Используйте openntpd, или любой другой сервер времени.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 732
  • Учиться .... Телепатами не рождаются, ими ....
    • Email

Оффлайн Nicom

  • Давно тут
  • **
  • Сообщений: 214
    • Email
не смотря на то, что у него stratum 1.
Стратум подчинённого сервера должен быть больше, или равным основному.

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 246
Короче оно не работает никак. Даже если локальный сервер - единственный в списке. Оно упрямо его не выбирает. И я не верю, что проблема именно в сервере. Потому как через интернет оно по моему работало нормально. Так что проблема скорее всего именно в локальном сервере времени. Ничего что он виндовый? Просто наверное ntpd не любит винду. Как вариант можно конечно попробовать поставить ntpd для винды.

Почитал про другие варианты синхронизации - что то там какие-то заморочки. Пока что попробую все таки решить проблему с ntpd.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 732
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
. Ничего что он виндовый?
И такой есть ?  Windows вроде другой протокол использует.

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 246
И такой есть ?  Windows вроде другой протокол использует.
Ну да. Встроенный w32tm. И NTP вроде и в африке NTP. Но вот это и вызывает подозрение. Может там такие же проблемы как и с SMB? Какие то старые версии протоколов считаются небезопасными? Потому как это бред какой-то. Время получается, Offset есть. А использовать его как системный источник времени оно отказывается. Почему?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 732
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
https://habr.com/ru/company/vdsina/blog/505314/

Вроде реализация разная. Но это не важно. В классике ntp сервер начинает раздавать своё время, когда он синхронизируется с более высоким сервером по иерархии. Время в BOIS как правило "бьётся"  и синхронизироваться с ним не удаётся, поэтому для прикладного синхронизирования применяют менее точные способы синхронизации, которые могут как использовать протокол ntp , так и нет. Про Windows не знаю, для Линукс в качестве сервера часто применяют openntpd, который не такой "суровый" . Что там в Windows не знаю, это сами разбирайтесь.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 732
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
PS Для локальной роботы по сети с ntpd сервером, надо иметь источник времени, типа атомных часов, который "не бьётся"

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 246
PS Для локальной роботы по сети с ntpd сервером, надо иметь источник времени, типа атомных часов, который "не бьётся"
Да, тоже порылся по сети и нашел информацию о том, что скорее всего ntpd не нравится источник времени. Второе - я обнаружил, что винда раздает часы компьютера, а информацию с другого сервера. Я в принципе сразу заметил, что refid был LOCL, но не придал этому значения. Сделал resync и винда начала раздавать данные с другого сервера. Но это все равно не помогло. Наверное действительно нужно искать сервер попроще, который не так придирается к качеству источника. Самое паршивое - создатели ntpd даже не предусмотрели никаких настроек. Есть true и prefer, но они все равно не работают.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 732
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
У меня на работе серевер ntpd, когда я тоже хотел сделать что-то аналогичное (в Линукс) синхронизировался с временем bios около часа. Потом начал раздавать время, потом опять сбился и так до бесконечности.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 31 732
  • Учиться .... Телепатами не рождаются, ими ....
    • Email

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 246
https://habr.com/ru/post/79629/
https://wiki.archlinux.org/title/Network_Time_Protocol_daemon_(Русский)#Использование_ntpd_с_GPS
Ну GPS эти еще нарыть надо. А у меня что есть, то есть. Может конечно найду другой сервер, но есть в принципе простой вариант. Оставить все как есть, т.е. раздавать время будет по прежнему ntpd, просто синхронизироваться другим способом. Например через systemd.

Оффлайн akelot

  • Начинающий
  • *
  • Сообщений: 14
А порт 123 у сервера времени точно открыт?

Оффлайн Mr.Madguy

  • Давно тут
  • **
  • Сообщений: 246
А порт 123 у сервера времени точно открыт?
Если бы он не был открыт, он бы не перешел со статуса INIT и stratum 16. К тому же через ntpdate <сервер> все прекрасно синхронизируется. Просто надо было сделать в конфиге какой-нибудь флаг force, который выбирал бы сервер в качестве кандидата на синхронизацию вне зависимости от качества времени.