Сервер синхронизации времени apple

Mac OS X Синхронизация даты и времени

Когда я установил Mac OS X для автоматической установки даты и времени, как часто это делается? И есть ли способ заставить обновление?

NTPd (используемый Mac OSX) будет синхронизироваться со скоростью, которую он считает более подходящей — это зависит от вашего перекоса часов. Это будет чаще, когда вы сначала включите его / подключитесь к сети, а затем будете подключаться через более длительные промежутки времени, когда он достаточно стабилизирует ваши часы.

Он не только синхронизирует ваше текущее время и дату, но также синхронизирует фактическую частоту часов. Это означает, что через некоторое время после того, как вы его включили (и подключились к Интернету), ваши часы будут очень точными, даже если вы долгое время оставались отключенными от сети.

Если вы хотите узнать подробности, зайдите в Википедию и на сайт NTP .

Обновить

Поскольку команда OS X 10.14 (Mojave) ntpdate была удалена — используйте sntp вместо:

Оригинальный ответ

Для более старых версий OX X (до 10.14) оригинальный ответ ниже по-прежнему применим.

Чтобы вручную обновить время с помощью NTP, используйте ntpdate из оболочки:

Ссылки:

Опции ntpdate:

-v

    Будьте многословны. Эта опция приведет ntpdate к регистрации строки идентификации версии.

-u

    Непосредственно ntpdate использовать непривилегированный порт для исходящих пакетов. Это наиболее полезно, когда за брандмауэром блокируется входящий трафик на привилегированные порты, и вы хотите синхронизироваться с хостами за брандмауэром. Обратите внимание, что -d опция всегда использует непривилегированные порты.

-q

    Только запрос — не устанавливайте часы.

Отказ от ответственности: функциональность этой программы теперь доступна в ntpd программе.
См. Параметр -q командной строки на ntpd странице демона NTP .
После подходящего периода траура ntpdate программа должна быть удалена из этого распределения.

Сетевой демон времени (ntpd) регистрирует активность в /var/log/system.log. Вы можете увидеть последние действия с grep:

Прочтите справочную страницу ntp.conf ( man ntp.conf ) для получения дополнительной информации о дальнейшей настройке ntpd, включая объем зарегистрированной информации и (я предполагаю) частоту обновлений.

Также, если выход из строя, выключите сервер времени, сначала установите дату вручную. Затем при включении NTP он будет синхронизироваться. В противном случае он просто игнорирует то, что говорит время. 1944 и 1970 годы не будут синхронизировать часы.

Автоматическая проверка / отмена установки часового пояса на вкладке настроек даты и времени мне не помогла.

Я в конечном итоге с помощью клиента Sntp из командной строки

Как вы можете видеть ниже, мое время составляет

30 секунд слишком быстро.

❯ sntp pool.ntp.org sntp 4.2.8p10@1.3728-o Tue Mar 21 14:36:42 UTC 2017 (136.200.1

2533) kod_init_kod_db(): Cannot open KoD db file /var/db/ntp-kod: No such file or directory 2018-10-30 10:03:35.514209 (-0300) -27.660871 +/- 18.459649 pool.ntp.org 197.84.150.123 s2 no-leap

Я убил свои часы как корень

sh-3.2# sntp -S pool.ntp.org sntp 4.2.8p10@1.3728-o Tue Mar 21 14:36:42 UTC 2017 (136.200.1

2533) kod_init_kod_db(): Cannot open KoD db file /var/db/ntp-kod: No such file or directory 2018-10-30 10:06:26.214299 (-0300) -27.574985 +/- 18.423331 pool.ntp.org 41.231.53.4 s2 no-leap

Дальнейшее SNTP показывает, что синхронизация была достигнута

Источник

Как работает синхронизация времени в интернете

Можно ли синхронизировать свой комп по атомным часам

В прошлый раз мы рассказали, какие сложности могут ждать программистов, когда они пишут код для работы со временем. Сегодня перейдём на более сложный уровень: как компьютеры и другие устройства синхронизируют время между собой.

Зачем нужна синхронизация

От того, какое на компьютере установлено время, зависит многое:

  • отображение спецпредложений и акций на сайтах;
  • публикация и сортировка комментариев к статьям;
  • совместная работа компьютеров в локальной сети — если время на компьютерах будет различаться, это может привести к сбоям;
  • если одна база данных обслуживается с нескольких компьютеров, они должны чётко синхронизироваться во времени; иначе запрос одного компьютера может прилететь из будущего, а реальный запрос из будущего попасть в далекое прошлое;
  • если вы используете телефон для двойной аутентификации, то с неправильным временем телефон будет выдавать неправильный код, и аутентификация не пройдёт;
  • от времени зависят сертификаты безопасности: если ваше локальное время намного отличается от общемирового, то для вас все сертификаты безопасности будут недействительными, сайты не откроются.
Читайте также:  Как стереть айфон до заводских установок

В целом единственный случай, когда не нужна синхронизация, — когда компьютер работает независимо от сети, а результаты его вычислений не связаны со временем. В остальных случаях синхронизация полезна.

Как работает синхронизация

В общем виде синхронизация времени работает так:

  1. Устройство посылает запрос на сервер синхронизации и запоминает время, когда ушёл запрос. Запрос идёт по протоколу NTP, о нём ниже.
  2. Сервер получает запрос, и, если всё в порядке, — записывает, когда он его получил, и отправляет данные с точным временем на сервере.
  3. Устройство получает ответ от сервера и записывает, во сколько оно его получило.
  4. Зная время отправки и получения запроса и точное время на сервере, можно рассчитать глобальное время (но с какой-то точностью).

Это всё повторяется с какой-то периодичностью — раз в час, раз в день или с любым другим интервалом.

Что такое NTP

NTP — это сокращение от Network Time Protocol, что переводится как «протокол сетевого времени».

Протокол спроектирован так, чтобы заниматься только синхронизацией времени. Для этого используются пакеты объёмом всего 48 байт, причём 24 из них заполняет устройство, а 24 — сервер. Это значит, что для точности в 0,01 секунды достаточно один раз получить и передать 48 символов. Если размер пакета сделать слишком большим, то задержки при передаче будут больше и может пострадать точность синхронизации.

Для работы NTP нужен сервер точного времени, который ответит на наш запрос. Сервер всегда знает, какое сейчас время, и моментально реагирует на каждый запрос.

В операционной системе Windows точное время берётся с сервера time.windows.com У компании Apple сервер точного времени — time.apple.com

Какие бывают серверы синхронизации

В протоколе NTP есть несколько классов серверов точного времени, в зависимости от точности. Эти классы называются Stratum, а цифра после названия показывает уровень сервера по отношению к самому точному времени.

Stratum 1 — самые точные серверы, которые могут учитывать время с точностью в одну триллионную долю секунды. Они получают время напрямую от атомных часов либо от сервисов GRS или «Глонасс». Для запуска и обслуживания такого сервера нужно сложное оборудование, поэтому серверов первого уровня в мире мало. Большинство из них не отвечает на запросы от обычных пользователей и обслуживает только другие серверы уровнем пониже.

Stratum 2 — серверы точного времени второго уровня. Они получают данные от серверов первого уровня и работают с погрешностью примерно 0,001 секунды. Такие серверы уже могут отвечать на большинство запросов и обслуживать серверы поменьше.

Stratum 3 получают данные от серверов второго уровня, и тут уже точность может падать до 0,05 секунды. Дальше идут уровни 4, 5 и так далее, ограничений снизу нет.

Какая точность нужна для синхронизации

Если вам просто нужно «обычное» точное время с точностью до секунды (например, на телефоне или в часах), то подойдёт любой сервер синхронизации времени. Обычно это будут сервера Stratum 3, потому что их больше всего.

Если нужно что-то обрабатывать с точностью до 0,01 секунды, то нужно найти сервер второго уровня в своей стране и подключиться к нему (так будет точнее). Например, можно использовать серверы в Саратове.

Если же вам нужна точность 0,001 секунды или выше — договаривайтесь с владельцем сервера первого уровня или создавайте свой сервер.

Источник

Читайте также:  Стекло у айфона бьется

О точном времени

К сервису синхронизации времени по протоколу NTP все уже привыкли — оно включено по умолчанию или легко включается для большинства популярных операционных систем. Однако какая точность при этом достигается? Какие бывают сервера точного времени, и с какими можно работать простым смертным? Какие есть подводные камни, и как выбрать «правильные» сервера времени?

Типы серверов

Сервера бывают Stratum 1 и 2, 3(выше редко).

Stratum 1 — получают точное время непосредственно от источника точного времени: атомных часов (например time-a.nist.gov, точность — трилионные доли секунды) или GPS приемника (ntpx.imvp.ru точность — миллиардные доли секунды). Есть сервера получающие точное время через сотовую сеть CDMA (миллионные доли секунды). При работе с ntpd узнать тип сервера можно командой ntpq -np: «PPS» значит GPS, «ACTS» значит прямое соединение с атомными часами (там же и другая ценная статистика — пинг, «дрожжание» пинга(jitter), ранг сервера(1,2. ) ).

«Простым» смертным обращаться к Stratum-1 серверам строго запрещено, т.к. нагрузка на них и так очень большая (а на многие Stratum-1 сервера вообще нет публичного доступа). Считается что вы можете подключаться к Stratum-1 серверам или просить доступ к ним, если вы держите NTP сервер, обслуживающий не менее 100 клиентов. Полный список серверов можно увидеть тут: support.ntp.org/bin/view/Servers/StratumOneTimeServers. Естественно, желательно подключатся к серверам в своей стране.

Stratum 2 — получают точное время от Stratum-1 серверов. При правильной настройке и выборе серверов-источников точного времени имеют погрешность менее 1мс. Подключатся обычно можно всем, но многие сервера регулярно умирают от нагрузки (например time.windows.com). www.pool.ntp.org поддерживает round-robin списки публичных Stratum-2 NTP серверов. Таким образом обеспечивается балансировка нагрузки, и они практически всегда доступны. Подключиться к этим серверам можно по адресам 0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org и 3.ru.pool.ntp.org (это для России, выбираются случайно из списка

Stratum 3 — получают время от Stratum-2 серверов, и т.д.

Практическая точность

Stratum-1
Это график разницы системного времени с временем полученным со Stratum-1 серверов (canonical.com — Stratum-2 сервер, для сравнения).
*.nist.gov — расположены в США, из-за «большого» пинга иногда случаются жуткие «выбросы». Ошибка с Российских Stratum-1 серверов обычно укладыватся в +- 1 мс.

Stratum-2
Это — разница с Stratum-2 серверами: 4 из Российского пулла, 1 из европейского, дефолтный сервер времени убунты (europium.canonical.com), и те же *.nist.gov:

Сразу бросаются в глаза сервера, имеющие постоянную ошибку до 20 мс.

Резюме

  • Время на серверах и рабочих станциях нельзя пускать на «самотёк», иначе отклонение времени может достичь минут.
  • Если точность +-0.05 секунды вас устраивает, можно не заморачиваться с выбором серверов, и синхронизироваться с сервером по умолчанию
  • Если необходима точность до +-0.01 секунды, нужно найти Stratum-2 NTP в вашей стране, построить с них графики отклонения (Munin+плагин ntp_peers), и отбросить «кривые». Под windows это конечно будет затруднительно сделать. Затем в linux установить демон ntpd, и дать ему 3-6 серверов для синхронизации (он сам будет выбирать наиболее «качественные»).
  • Если нужна точность до +-0.001 секунды И вы будете предоставлять сервис точного времени в вашей организации — подключайтесь к Stratum-1 серверам в вашей стране. Ваш сервис крайне желательно делать публичным.
  • Если нужно точнее 0.001 секунды — остается только настраивать свой Stratum-1 сервер от GPS или CDMA. В обоих случаях нужно либо антенну с улицы вести, или чтобы сигнал «добивал» (в случае с GPS — малореально). Атомные часы объемом менее кубометра пока не делают, так что этот вариант отпадает

PS. Кстати, по умолчанию в Ubuntu синхронизация времени происходит один раз при загрузке системы. Если аптайм под полгода — время может сильно уехать. Устанавливаете ntpd — он корректирует время постоянно и «плавно» (без резких рывков, «размазывая» замедление/ускорение времени). В Windows синхронизация происходит раз в сутки неделю одним «скачком», что может вызвать сложности при обработке логов, если набежала большая разница.

Товарищи!

Даешь большое публичных NTP серверов в России! Особенно Stratum-1 (с ними вообще у нас напряженка, 2-3 штуки на весь exUSSR). Кстати, точное время можно брать и с Глонасс, кто возьмётся запустить первый Глонасс-powered сервер?

Читайте также:  Проектирование домов для iphone

PPS. Не могу понять, в какой блог перенести, подскажите 🙂

Источник

7.15 ntpdate — утилита синхронизации времени в ОС

В РЕД ОС синхронизировать время можно следующими основными способами:

  • вручную при помощи утилиты ntpdate;
  • автоматически при помощи сервиса ntp.

Программа ntpdate — позволяет разово синхронизировать локальное время с эталонным сервером времени в интернете. Подобных эталонов существует достаточно много. Для примера можно воспользоваться одним из них — pool.ntp.org.

Запускаем синхронизацию времени:

Утилита провела синхронизацию, в результате которой к системному времени было добавлено число секунд, необходимое для приближения к эталонному. Если в результате работы синхронизации возникает ошибка: «no server suitable for synchronization found», то попробуйте в работе утилиты использовать непривилегированный порт. По-умолчанию ntpdate работает по 123 порту. Если он закрыт на фаерволе, то помочь в синхронизации поможет следующий параметр:

Если у вас запуск ntpdate завершается ошибкой — «the NTP socket is in use, exiting», значит у вас уже установлена и запущена служба ntpd, которая заняла необходимый udp-порт, необходимый для работы ntpdate.

Сервер времени ntp использует в своей работе одноименный протокол — Network Time Protocol, которому для работы необходим UDP-порт 123. Так что перед установкой и настройкой службы времени убедитесь, что на фаерволе открыт этот порт.

Устанавливаем сервер ntp:

Если вы используете РЕД ОС версии 7.1 или 7.2, выполните команду:

Если вы используете РЕД ОС версии 7.3 и старше, выполните команду:

Теперь отредактируем файл конфигурации /etc/ntp.conf, удалив все лишнее:

server Список серверов для синхронизации времени.
Driftfile Задает адрес файла, в котором хранится история изменений времени во время синхронизации. Если по каким-то причинам синхронизация времени с внешними источниками станет невозможна, служба времени изменит системные часы в соответствии с записями в этом файле.
Restrict 127.0.0.1 Указывает, что пользоваться нашим сервером времени можно только непосредственно с локального интерфейса. Если вам необходимо разрешить другим компьютерам в вашей локальной сети синхронизировать время с текущей машины, то укажите в данном параметре адрес вашей сети, например:

restrict 192.168.10.0 mask 255.255.255.0

restrict default nomodify notrap nopeer noquery — Параметры указывают на то, что клиентам данного сервиса времени запрещено изменять его настройки, получать его статус. Они могут только забрать с него значения точного времени.

disable monitor — Данный параметр повышает безопасность, предотвращая использования одной из уязвимостей сервиса ntpd, которую можно использовать для проведения DDoS атак.

Logfile — Указывает путь к файлу с логами сервиса.

После завершения редактирования файла настроек запускаем службу синхронизации времени:

Проверяем запустился ли сервер:

Все в порядке, служба слушает положенный порт 123. Проверим на всякий случай системные логи используемой ОС:

Теперь настроим автозапуск ntp вместе с загрузкой используемой ОС:

Наблюдать за работой службы ntp можно с помощью команды:

remote Адрес удаленного эталона времени, с которого была синхронизация.
Refid Указывает, откуда каждый эталон получает точное время. Это могут быть другие сервера времени, система GPS и другое.
St Уровень (Stratum) это число от 1 до 16, которое указывает на точность эталона. 1- максимальная точность, 16 — сервер недоступен. Уровень вашего сервера будет равен уровню наименее точного удаленного эталона плюс 1.
poll Интервал в секундах между опросами.
Reach Восьмеричное представление массива из 8 бит, отражающего результаты последних восьми попыток соединения с эталоном. Бит выставлен, если удаленный сервер ответил.
Delay Время задержки ответа на запрос о точном времени.
Offset Разница между вашим и удаленным сервером
jitter Дисперсия (Jitter) — это мера статистических отклонений от значения смещения (поле offset) по нескольким успешным парам запрос-ответ. Чем меньше значение дисперсии, тем лучше, поскольку позволяет точнее синхронизировать время.

Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.

Источник

Оцените статью