Синхронизация времени NTP.
Синхронизация времени является важной задачей, хотя не многие задумывались об этом. Ну что плохого в убежавшем на сервере времени? А знаете ли вы, что многие проблемы с часами влияют на протоколы, связанные с криптографией? По этой причине в Active Directory разница в часах более 5 минут будет приводить к проблемам аутентификации Kerberos.
Часовые уровни. Strata.
Чтобы понять устройство NTP следует знать про концепцию strata или stratum. Авторитетные источники времени, такие как спутники GPS, цезиевые атомные часы, радио волны WWVB — всё это stratum 0. Они авторитетны на том основании, что у них есть некоторый способ поддержания высокоточного хронометража. Можно, конечно, воспользоваться обычными кварцевыми часами, но зная, что за месяц с ними легко потерять 15 секунд, то лучше их не использовать в качестве мерила времени. Stratum 0 это когда секунда не потеряется за 300 000 лет!
Компьютеры, которые напрямую (не по сети!) берут время у
Следующий уровень компьютеров, берущих время по сети у stratum 1 — это … барабанная дробь … интрига … stratum 2! Опять таки из-за различных задержек (сетевые точно), stratum 2 чуток отстаёт от stratum 1 и уж точно от stratum 0. На практике это разница от нескольких микросекунд (1 мкс = 10
Как понятно из схемы, stratum 4 берёт время у вышестоящего stratum 3. stratum 5 у stratum 4 и так далее. stratum 16 считается самым нижним слоем и время там считается несинхронизированным.
Чтобы синхронизировать время с помощью протокола NTP, следует сначала вручную выставить ваше время. Недопустима разница между вашим точным временем и показаниями ваших часов более 1000 секунд. Если используемый вами сервер времени врёт более 1000 миллисекунд (1 секунда), то он будет исключён из списка и будут использоваться другие вместо него. Данный механизм позволяет отсеивать плохие источники времени.
Клиент времени.
В файле /etc/ntp.conf для клиента важны строки Server. Их может быть несколько — до 10 штук!
Сколько добавлять? Следует иметь в виду:
- Если у вас только один сервер (одна строка server), то если данный сервер начнёт врать, то вы будете слепо следовать за ним. Если его время убежит на 5 секунд и вы убежите в след за ним.
- Если добавлено 2 сервера (2 строки server), то NTP пометит их обоих как false tickers. Если один из них будет врать, то NTP не может понять кто врёт, так как нет кворума.
- Если добавлено 3 и более сервера времени, то можно вычислить одного вруна false tickers. Если серверов времени 5 или 6, то можно найти 2 вруна false tickers. Если серверов 7 или 8, то 3 false tickers. Если серверов 9 и 10, то 4 false tickers.
Проект NTP Pool.
Есть такой проект NTP Pool по адресу которого pool.ntp.org/zone/ru/ можно найти рекомендованные для русских пользователей сервера времени.
server 0.ru.pool.ntp.org
server 1.ru.pool.ntp.org
server 2.ru.pool.ntp.org
server 3.ru.pool.ntp.org
Такие операционные системы, как Debian и Ubuntu, предлагают пользователям свои сервера времени.
server 0.debian.pool.ntp.org
server 1.debian.pool.ntp.org
server 2.debian.pool.ntp.org
server 3.debian.pool.ntp.org
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org
Если вызвать на вашем Linux компьютере, который использует NTP, команду ntpq -pn
remote refid st t when poll reach delay offset jitter ============================================================================== +93.180.6.3 77.37.134.150 2 u 62 1024 377 53.658 -0.877 1.174 +85.21.78.23 193.190.230.65 2 u 1027 1024 377 54.651 0.167 1.531 *62.173.138.130 89.109.251.24 2 u 940 1024 377 52.796 -0.143 1.001 +91.206.16.3 194.190.168.1 2 u 258 1024 377 93.882 -0.680 2.196 -91.189.94.4 193.79.237.14 2 u 596 1024 377 100.219 1.562 1.482
О чём говорят названия столбцов:
- remote — удалённые сервера, с которыми вы синхронизируете время.
- refid — вышестоящий stratum для данного сервера.
- st — уровень stratum. От 0 (нам недоступно) до 16 (нам не желательно). Идеально — 2.
- t — тип соединения. «
u» — unicast или manycast, «b» — broadcast или multicast, «l» local reference clock, «s» — симметричный узел, «A» — manycast сервер, «B» — broadcast server, «M» — multicast сервер. - when — время, когда последний раз сервер ответил нам. Параметр отображает число в секундах, но может в минутах, если число с m или в часах, если h.
- poll — частота опроса. Минимум 16 секунд, максимум 32 часа. Число должно быть 2n. Обычно в данном параметре наблюдается или 64 секунды или 1024.
- reach — 8 бит октета, показывающий статус общения с удалённым сервером времени: успешный или сбойный. Если биты установлены — то успешно, иначе — сбой. Значение 377 — бинарно это 0000 0000 1111 1111.
- delay — значение в миллисекундах показывает время между отправкой и получения ответа (round trip time — RTT).
- offset — смещение в миллисекундах между вами и серверами времени. Может быть положительным и отрицательным числом.
- jitter — абсолютное значение в миллисекундах с указанием среднеквадратичного отклонения вашего смещения.
Перед IP адресом NTP сервера есть символ — это tally code. Виды tally code:
- » « — отброшен как недопустимый.
- «x» — отброшен алгоритмом «пересечения» (intersection algorithm). Алгоритм пересечения подготавливает список кандидатов партнеров, могущих стать источниками синхронизации и вычисляет доверительный интервал для каждого из них.
- «.» — отброшен из-за переполнения таблицы.
- «-« — отброшен алгоритмом кластеризации (cluster algorithm). Алгоритм кластеризации сортирует список кандидатов по кодам слоя и расстояния синхронизации.
- «+» — сервер включён алгоритмом «комбинирования» (combine algorithm). Этот сервер — отличный кандидат если текущий сервер времени начнёт отказывать вам.
- «#» — сервер является отличным альтернативным сервером времени. Сервер с # можно увидеть только если у вас более 10 записей server в /etc/ntp.conf
- «*» — текущий сервер времени. Его показания используются для синхронизации ваших часов.
- «o» — сервер Pulse per second (PPS). Обычно это означает, что данный сервер времени использует источники времени типа GPS спутников и другие сигналы точного времени. Если рисуется о, то другие типы tally code уже отображаться не будут.
В поле refid могут быть следующие значения:
- IP адрес — адрес удалённого сервера времени.
- .ACST.- NTP manycast сервер.
- .ACTS.- Automated Computer Time Service из American National Institute of Standards and Technology.
- .AUTH.- ошибка аутентификации.
- .AUTO.- ошибка в последовательностях Autokey.
- .BCST.- NTP broadcast сервер.
- .CHU.- Shortwave radio receiver от станции CHU в Ottawa, Ontario, Canada.
- .CRYPT.- ошибка протокола Autokey.
- .DCFx.- LF radio receiver от станции DCF77 в Mainflingen, Germany.
- .DENY.- В доступе отказано.
- .GAL.- European Galileo satellite receiver.
- .GOES.- American Geostationary Operational Environmental Satellite receiver.
- .GPS.- American Global Positioning System receiver.
- .HBG.- LF radio receiver от станции HBG в Prangins, Switzerland.
- .INIT.- Peer association initialized.
- .IRIG.- Inter Range Instrumentation Group time code.
- .JJY.- LF radio receiver от станции JJY в Mount Otakadoya, рядом с Fukushima или Mount Hagane на острове Kyushu, Japan.
- .LFx.- Обычный LF radio receiver.
- .LOCL.- локальные часы хоста.
- .LORC.- LF radio receiver от Long Range Navigation (LORAN-C).
- .MCST.- NTP multicast сервер.
- .MSF.- Anthorn Radio Station рядом с Anthorn, Cumbria.
- .NIST.- American National Institute of Standards and Technology.
- .PPS.- часы Pulse per second.
- .PTB.- Physikalisch-Technische Bundesanstalt от Brunswick и Berlin, Germany.
- .RATE.- превышен порог опроса NTP.
- .STEP.- изменение шага NTP. Смещение offset менее 1000 миллисекунд, но более 125 миллисекунд.
- .TDF.- LF radio receiver от станции TéléDiffusion de France в Allouis, France.
- .TIME.- NTP association timeout.
- .USNO.- United States Naval Observatory.
- .WWV.- HF radio receiver от станции WWV в Fort Collins, Colorado, United States.
- .WWVB.- LF radio receiver от станции WWVB в Fort Collins, Colorado, United States.
- .WWVH.- HF radio receiver от станции WWVH в Kekaha, на острове Kauai на Hawaii, United States.
Рекомендации для клиента серверов времени.
Во-первых, избавьтесь от мысли как бы получить время от stratum 1, дескать они ближе всех к точному времени. Они то ближе к точнейшему времени на планете, только сами они перегружены и у них высокие задержки RTT для обычных серверов. Лучше найти нормальный stratum 2 и не переживать по этому поводу. Не забывайте, что речь идёт о микросекундах и миллисекундах, что в обычной жизни — вполне достаточно.
Во-вторых, помните, что подключение к ближайшему серверу времени не всегда идеальный вариант. Важнее не территориальная близость, а уровень stratum. Проект NTP Pool публикует список серверов только уровня stratum 1 и stratum 2 и лучше взять до 10 серверов времени из данного списка, что будет просто замечательно.
В-третьих, если вы простой домашний пользователь-клиент, то рекомендованные вам сервера в вашей операционной системе будут идеальным вариантом, не требующим лишних телодвижений.
Для крупных контор, лучшим вариантом будет поднятие своего сервера времени для рабочих компьютеров. Данный сервер будет получать точное время от серверов времени в Интернете и предоставлять его локальным компьютерам. На серверах Debian и Ubuntu достаточно раскомментировать строку
restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap
в конфигурационном файле демона ntpd — /etc/ntp.conf
Пользователи из сети 192.168/16 будут иметь возможность брать с вашего сервера показания точнейших часов. Для внутренних серверов на базе Linux, которые не являются серверами времени и занимаются своими задачами, вместо запуска демона ntpd в клиентском режиме — вполне достаточно указать в файле /etc/cron. daily/syncntpd. Рекомендуется прочесть различия между ntpdate и ntp и решить для себя вопрос.#!/bin/sh
/usr/sbin/ntpdate IP.адрес.вашего.сервера > /dev/null 2>&1
exit 0
и раз в сутки, благодаря команде ntpdate, будет произведена синхронизация времени. Во избежании недоразумений, не поленитесь перед внедрением сервера времени и синхронизации всего и вся через протокол NTP — выставите вручную правильное время на всех доступных вам серверах и рабочих станциях. Если ваше несинхронизированное время слишком отличается от правильного, то можно вначале огрести много не нужных проблем.
В-четвёртых, NTP никак не связан, в какой стране и какие часовые пояса используются и как происходит переход на летнее и зимнее время и делается ли в данной стране такой переход. Это обязанность лежит на операционной системе, которую вам нужно обновлять, если в стране происходят изменения в часовых делах. В системах Debian и Ubuntu за это отвечает пакет tzdata, который должен быть актуальным.
В-пятых, лучше не поднимать свой NTP сервер на высоконагруженной системе.
Дополнительные материалы:
Как разрешить прохождение трафика NTP в iptables.
Как синхронизация времени стала безопасной / Блог компании RUVDS.com / Хабр
Как сделать так, чтобы время per se не врало, если у вас есть миллион больших и малых устройств, взаимодействующих по TCP/IP? Ведь на каждом из них есть часы, а время должно быть верным на всех. Эту проблему без ntp невозможно обойти.
Представим себе на одну минуту, что в одном сегменте промышленной ИТ инфраструктуры возникли трудности с синхронизацией сервисов по времени. Немедленно начинает сбоить кластерный стек Enterprise ПО, распадаются домены, мастера и Standby узлы безуспешно стремятся восстановить status quo.
Возможна также ситуация, когда злоумышленник намеренно старается сбить время через MiTM, или DDOS атаку. В такой ситуации может произойти все что угодно:
- истечет срок действия паролей учетных записей пользователей;
- истечет срок действия X. 509 сертификатов;
- двухфакторная аутентификация TOTP перестанет работать;
- бэкапы «устареют» и система удалит их;
- сломается DNSSec.
Понятно, что каждый первый департамент ИТ заинтересован в надежной работе служб синхронизации времени, и хорошо бы они были надежны и безопасны в промышленной эксплуатации.
Сломать NTP за 25 минут
Сетевые протоколы — милленниалы имеют одну особенность, они давно устарели и никуда уже не годятся, но заменить их не так-то легко даже тогда, когда набирается критическая масса энтузиастов и финансирования.
Основная претензия к классическому NTP в отсутствии надежных механизмов защиты от атак злоумышленников. Предпринимались разнообразные попытки решить эту проблему. Для этого сначала внедрили механизм заранее установленных ключей (PSK) для обмена симметричными ключами.
К сожалению этот способ себя не оправдал в виду простой причины — он плохо масштабируется. Нужна ручная настройка на стороне клиента в зависимости от сервера. Это значит, что вот так вот просто нельзя добавить еще одного клиента. Если на сервере NTP что-то меняется, надо перенастраивать все клиенты.
Тогда придумали AutoKey, но сразу же в нем обнаружили ряд серьезных уязвимостей в самом дизайне алгоритма и от него пришлось отказаться. Все дело в том, что начальное число (seed) содержит всего лишь 32-бита, оно слишком мало и не содержит достаточно вычислительной сложности для лобовой атаки.
- Key ID — симметричный 32-битный ключ;
- MAC (message authentication code) — контрольная сумма NTP пакета;
Autokey рассчитывается следующим образом.
Autokey=H(Sender-IP||Receiver-IP||KeyID||Cookie)
Где H() — криптографическая хэш функция.
Для расчета контрольной суммы пакеты используется та же функция.
MAC=H(Autokey||NTP packet)
Так получается, что вся целостность проверок пакетов держится на аутентичности кукис. Завладев ими, можно восстановить autokey и затем подделать MAC. 32 хэша до тех пор пока созданный куки не совпадет с тем, что получен от NTP сервера. На обычной домашней станции с Intel Core i5 на это уйдет 25 мин.
NTS — новый Autokey
Мириться с такими дырами в безопасности Autokey было невозможно и в 2012 г. появилась новая версия протокола. В целях скомпрометированного названия решили провести ребрендинг, так Autokey v.2 окрестили Network Time Security.
Протокол NTS является расширением безопасности NTP и в настоящее время поддерживает лишь одноадресный режим (unicast). Он дает надежную криптографическую защиту от манипуляций пакетами, предотвращает отслеживание, хорошо масштабируется, устойчив к потере сетевых пакетов и приводит к наименьшим потерям точности, возникающим в процессе защиты соединения.
NTS соединение состоит из двух этапов, в которых используются протоколы нижнего уровня. На первом этапе клиент и сервер договариваются о различных параметрах соединения и обмениваются куки, содержащими ключи со всем сопутствующим набором данных. На втором этапе происходит собственно защищенный NTS сеанс между клиентом и сервером NTP.
NTS состоит из двух протоколов нижнего уровня: Network Time Security Key Exchange (NTS-KE), инициализация безопасного соединения поверх TLS, и NTPv4 — последней инкарнации протокола NTP. Чуть подробнее об этом ниже.
Первый этап — NTS KE
На данном этапе NTP клиент инициирует TLS 1.2/1.3 сеанс по отдельному TCP соединению с сервером NTS KE. Во время этой сессии происходит следующее.
- Стороны определяют параметры AEAD алгоритма для второго этапа.
- Стороны определяют второй протокол нижнего уровня, но на данный момент лишь NTPv4поддерживается.
- Стороны определяют IP адрес и порт NTP сервера.
- NTS KE сервер выдает куки под NTPv4.
- Стороны извлекают из материала куки пару симметричных ключей (C2S и S2C).
Такой подход имеет большое преимущество в том, что вся нагрузка по передаче секретной информации параметров соединения ложится на проверенный и надежный протокол TLS. Тем самым отпадает необходимость изобретать собственный велосипед для безопасного NTP рукопожатия.
Второй этап — NTP под защитой NTS
На втором этапе клиент безопасно синхронизирует время с NTP сервером. Для этой цели он передает четыре специальных расширения (extension field) в структуре NTPv4 пакета.
- Unique Identifier Extension содержит случайный nonce для предотвращения атак путем повтора.
- NTS Cookie Extension содержит один из имеющихся в наличие у клиента NTP куки. Поскольку только клиент располагает симметричными AAED ключами C2S и S2C, сервер NTP должен извлечь их из материала куки.
- NTS Cookie Placeholder Extension способ для клиента запросить дополнительные куки с сервера. Это расширение необходимо, чтобы ответ сервера NTP не был намного длиннее, чем запрос. Это позволяет предотвратить атаки усиления.
- NTS Authenticator and Encrypted Extension Fields Extension содержит шифр алгоритма AAED с C2S ключем, заголовком NTP, временными отметками, и упомянутыми выше EF в качестве сопутствующих данных. Без этого расширения возможно подделать временные отметки.
Получив запрос от клиента, сервер проверяет подлинность NTP пакета. Для этого он должен расшифровать куки, извлечь алгоритм AAED и ключи. После успешной проверки NTP пакета на валидность сервер отвечает клиенту в следующем формате.
- Unique Identifier Extension зеркальная копия клиентского запроса, мера против атак путем повтора.
- NTS Cookie Extension больше куки для продолжения сеанса.
- NTS Authenticator and Encrypted Extension Fields Extension содержит шифр AEAD с S2C ключем.
Второе рукопожатие можно повторить много раз, минуя первый этап, так как каждый запрос и ответ дает клиенту дополнительные куки. Это дает то преимущество, что относительно ресурсоемкие TLS операции вычисления и передачи PKI данных делятся на число повторных запросов. Это особенно удобно для специализированных FPGA хронометров, когда весь основной функционал можно упаковать в несколько функций из области симметричной криптографии, передав весь TLS стек на другое устройство.
NTPSec
В чем особенность NTP? Несмотря на то, что автор проекта Dave Mills старался как можно лучше документировать свой код, редкий программист сумеет разобраться в хитросплетениях алгоритмов синхронизации времени 35-детней давности. Часть кода написана до эпохи POSIX, а Unix API тогда сильно отличался от того, что используется в наши дни. Кроме того, нужны знания по статистике, чтобы очистить сигнала от помех на шумных линиях.
NTS была не первой попыткой починить NTP. После того, как злоумышленники научились использовать уязвимости NTP для усиления DDoS атак, стало ясно, что нужны радикальные перемены. И пока готовились и доводились до ума черновики NTS, National Science Foundation США в конце 2014 г. срочно выделил грант на модернизацию NTP.
Рабочую группу возглавил не абы кто, а Эрик Стивен Реймонд — один из основателей и столпов сообщества Open Source и автор книги Собор и Базар. Первым делом Эрик со товарищи попробовали перенести код NTP из платформы BitKeeper на git, но не тут-то было. Лидер проекта Harlan Stenn был против этого решения и переговоры зашли в тупик. Тогда было решено форкнуть код проекта, так возник NTPSec.
Солидный опыт, в том числе работа над GPSD, математический бэкграунд и магический навык чтения древнего кода — Эрик Реймонд был именно тем хакером, который мог вытащить такой проект. В команде нашелся специалист по миграции кода и всего за 10 недель NTP обосновалсяна GitLab-е. Работа закипела.
Команда Эрика Раймонда взялась за дело так же, как Огюст Роден при работе с глыбой камня. Удалив 175 KLOC старого кода, им удалось значительно сократить площадь атаки, закрыв множество дыр безопасности.
Вот неполный список попавших под раздачу:
- Недокументированные, устаревшие, устаревшие или сломанные refclock.
- Неиспользуемая библиотека ICS.
- libopts/autogen.
- Старый код для Windows.
- ntpdc.
- Autokey.
- C код ntpq переписан на Python.
- C код sntp/ntpdig переписан на Python.
Помимо очистки кода были и у проекта были и другие задачи. Вот неполный список достижений:
- Значительно усилена защита кода от переполнения буфера. Чтобы предотвратить переполнение буфера, все небезопасные строковые функции (strcpy / strcat / strtok / sprintf / vsprintf / gets) заменили безопасными версиями, которые реализуют ограничение размера буфера.
- Добавлена поддержка NTS.
- Десятикратно повысили точность временного шага с помощью привязки физического оборудования. Это связано с тем, что современные компьютерные часы стали гораздо точнее тех, что были в момент зарождения NTP. Больше всех от этого выиграли GPSDO и выделенные радиостанции времени.
- Количество языков программирования сократилось до двух. Вместо скриптов Perl, awk и даже S, теперь сплошной Python. За счет этого больше возможностей повторного использования кода.
- Вместо лапши скриптов autotools проект стал использовать систему сборки программного обеспечения waf.
- Обновили и реорганизовали документацию проекта. Из противоречивой, и местами архаичной коллекции документов создали вполне сносную документацию. Каждый ключ командной строки и каждая сущность конфигурации теперь имеют единую версию правды. Кроме того, страницы руководства и веб документация теперь создаются из одних и тех же основных файлов.
NTPSec доступен для ряда Linux дистрибутивов. В данный момент последняя стабильная версия 1.1.8, для Gentoo Linux — предпоследняя.
(1:696)$ sudo emerge -av ntpsec
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] net-misc/ntpsec-1.1.7-r1::gentoo USE="samba seccomp -debug -doc -early -gdb -heat -libbsd -nist -ntpviz -rclock_arbiter -rclock_generic -rclock_gpsd -rclock_hpgps -rclock_jjy -rclock_local -rclock_modem -rclock_neoclock -rclock_nmea -rclock_oncore -rclock_pps -rclock_shm -rclock_spectracom -rclock_trimble -rclock_truetime -rclock_zyfer -smear -tests" PYTHON_TARGETS="python3_6" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No]
Chrony
Была еще одна попытка заменить старый NTP более безопасный аналог. Chrony в отличие от NTPSec написан с нуля и предназначен для надежной работы в широком диапазоне условий, включая нестабильные сетевые соединения, частичная доступность или перегрузки сети и изменения температуры. Кроме того chrony обладает и другими преимуществами:
- chrony может быстрее синхронизировать системные часы с большей точностью;
- chrony меньше, потребляет меньше памяти и обращается к процессору только тогда, когда это необходимо. Для экономии ресурсов и энергии это большой плюc;
- chrony поддерживает метки времени на аппаратном уровне в Linux, что обеспечивает чрезвычайно точную синхронизацию в локальных сетях.
Впрочем, в chrony отсутствуют некоторые возможности старого NTP такие, как широковещательный и многоадресный (multicast) клиент / сервер. В добавок классический NTP поддерживает большее число ОС и платформ.
Для отключения функциональности сервера и NTP запросов к процессу chronyd достаточно прописать port 0 в файл chrony. conf. Это делается в тех случаях, когда нет нужды обслуживать время для NTP клиентов или одноранговых узлов. Начиная с версии 2.0, порт сервера NTP открыт только в тех случаях, когда доступ разрешен директивой allow или соответствующей командой, либо же настроен одноранговый узел NTP, или используется директива broadcast.
Программа состоит из двух модулей.
- chronyd — сервис, работающий в фоновом режиме. Он получает информацию о разнице системных часов с внешним сервером времени и корректирует локальное время. Он также реализует протокол NTP и может выступать в качестве клиента или сервера.
- chronyc — утилита командной строки для мониторинга и контроля программы. Используется для тонкой настройки различных параметров сервиса, например позволяет добавлять или удалять серверы NTP в то время, как chronyd продолжает работать.
Начиная с 7-й версии RedHat Linux использует chrony в качестве службы синхронизации времени. Пакет также доступен для остальных дистрибутивов Linux. Последняя стабильная версия 3.5, готовится к выходу v4.0.
(1:712)$ sudo emerge -av chrony
These are the packages that would be merged, in order:
Calculating dependencies... done!
[binary N ] net-misc/chrony-3.5-r2::gentoo USE="adns caps cmdmon ipv6 ntp phc readline refclock rtc seccomp (-html) -libedit -pps (-selinux)" 246 KiB
Total: 1 package (1 new, 1 binary), Size of downloads: 246 KiB
Would you like to merge these packages? [Yes/No]
Как настроить собственный удаленный сервер chrony в интернете для синхронизации времени в офисной сети. Далее пример настройки на VPS.
Пример настройки Chrony на RHEL / CentOS на VPS
Давайте теперь немного потренируемся и поднимем свой собственный NTP сервер на VPS. Это очень просто, достаточно выбрать подходящий тариф на сайте RuVDS, получить готовый сервер и набрать с десяток несложных команд. Для наших целей вполне подойдет такой вариант.
Переходим к настройке сервиса и первым делом ставим пакет chrony.
[root@server ~]$ yum install chrony
RHEL 8 / CentOS 8 используют другой пакетный менеджер.
[root@server ~]$ dnf install chrony
После установки chrony нужно запустить и активировать сервис.
[root@server ~]$ systemctl enable chrony --now
При желании можно внести правки в /etc/chrony.conf, заменив сервера NPT на ближайшие локальные для сокращения времени отклика.
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.ru.pool.ntp.org iburst
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst
Далее настраиваем синхронизацию NTP сервера с узлами из указанного пула.
[root@server ~]$ timedatectl set-ntp true
[root@server ~]$ systemctl restart chronyd.service
Необходимо также открыть наружу NTP порт, иначе межсетевой экран будет блокировать входящие соединения от клиентских узлов.
[root@server ~]$ firewall-cmd --add-service=ntp --permanent
[root@server ~]$ firewall-cmd --reload
На стороне клиента достаточно правильно выставить часовой пояс.
[root@client ~]$ timedatectl set-timezone Europe/Moscow
В файле /etc/chrony.conf указывает IP или название хоста нашего VPS сервера, на котором запущен NTP server chrony.
server my.vps.server
И наконец запуск синхронизации времени на клиенте.
[root@client ~]$ systemctl enable --now chronyd
[root@client ~]$ timedatectl set-ntp true
В следующий раз расскажу, какие есть варианты синхронизации времени без интернета.
NTP, Chrony и systemd-timesyncd / Блог компании VDSina.ru / Хабр
Большинство людей следят за временем. Мы встаём вовремя, чтобы выполнить наши утренние ритуалы и отправиться на работу, сделать перерыв на обед, уложиться в сроки проекта, отметить дни рождения и праздники, сесть на самолёт и так далее.
Более того: некоторые из нас одержимы временем. Мои часы питаются от солнечной энергии и получают точное время из Национального института стандартов и технологий (NIST) в Форт-Коллинз (штат Колорадо) через длинноволновую радиостанцию WWVB. Сигналы времени синхронизируются с атомными часами, также расположенными в форте Коллинз. Мой Fitbit синхронизируется с моим телефоном, который синхронизируется с сервером NTP, который в конечном итоге синхронизируется с атомными часами.
Устройства тоже следят за временем
Есть много причин, по которым нашим устройствам и компьютерам нужно точное время. Например, в банковской сфере, на фондовых рынках и других финансовых предприятиях транзакции должны выполняться в надлежащем порядке, и для этого критически важны точные временные последовательности.
Наши телефоны, планшеты, автомобили, системы GPS и компьютеры требуют точной настройки времени и даты. Я хочу, чтобы часы на рабочем столе моего компьютера показывали правильное время. Я хочу, чтобы в моём локальном календаре напоминания появлялись в нужное время. Правильное время также гарантирует, что задания cron и systemd запускались в нужное время.
Дата и время также важны для ведения журнала, поэтому немного проще найти те или иные логи, ориентируясь по дате и времени. Например, однажды я работал в DevOps (в то время его так не называли) и занимался настройкой системы электронной почты в штате Северная Каролина. Раньше мы обрабатывали более 20 миллионов писем в день. Отслеживание электронной почты через серию серверов или определение точной последовательности событий с использованием файлов журналов на географически разнесенных хостах может быть намного проще, если соответствующие компьютеры синхронизированы по времени.
Время одно — часов много
Хосты Linux должны учитывать, что существует системное время и время RTC. RTC (Real Time Clock — часы реального времени) является немного странным и не особо точным названием для аппаратных часов.
Аппаратные часы работают непрерывно, даже когда компьютер выключен, используя аккумулятор на материнской плате системы. Основная функция RTC — хранить время, когда соединение с сервером времени недоступно. В те времена, когда нельзя было подключиться к серверу времени через интернет каждый компьютер должен был иметь точные внутренние часы. Операционные системы должны были обращаться к RTC во время загрузки, и пользователь должен был вручную установить системное время, используя аппаратный интерфейс конфигурации BIOS, чтобы убедиться, что оно правильное.
Аппаратные часы не понимают концепцию часовых поясов; в RTC хранится только время, а не часовой пояс или смещение от UTC (Всемирное координированное время, которое также известно как GMT или среднее время по Гринвичу). Вы можете установить RTC с помощью инструмента, о котором я расскажу позже в этой статье.
Системное время — это время, которое ОС отображает на часах GUI на вашем рабочем столе, в выходных данных команды date, в метках времени журналов. Это также относится ко времени создания, изменения и открытия файлов.
На странице man для rtc есть полное описание RTC и системных часов.
Что там у NTP?
Компьютеры во всем мире используют NTP (сетевой протокол времени) для синхронизации своего времени со стандартными эталонными часами через интернет с помощью иерархии серверов NTP. Основные серверы времени находятся на уровне 1, и они напрямую подключены к различным национальным службам времени на уровне 0 через спутник, радио или даже модемы по телефонным линиям. Службы времени на уровне 0 могут быть атомными часами, радиоприёмником, который настроен на сигналы, передаваемые атомными часами, или приёмником GPS, использующим высокоточные сигналы часов, передаваемые спутниками GPS.
На подавляющем большинстве эталонных серверов открыто несколько тысяч общедоступных серверов NTP stratum 2, которые доступны для всех. Многие организации и пользователи (включая меня) с большим количеством хостов, которым требуется NTP-сервер, предпочитают устанавливать свои собственные серверы времени, поэтому только один локальный хост обращается к stratum 2 или 3. Затем они настраивают оставшиеся узлы в сети для использования локального сервера времени. В случае моей домашней сети это сервер уровня 3.
Различные реализации NTP
Первоначальная реализация NTP — это ntpd. Затем к ней присоединились две более новых, chronyd и systemd-timesyncd. Все три синхронизируют время локального хоста с сервером времени NTP. Служба systemd-timesyncd не так надёжна, как chronyd, но этого достаточно для большинства целей. Если RTC не синхронизирован, она может постепенно корректировать системное время, чтобы синхронизироваться с NTP-сервером, когда локальное системное время немного смещается. Служба systemd-timesync не может использоваться в качестве сервера времени.
Chrony — это реализация NTP, содержащая две программы: демон chronyd и интерфейс командной строки под названием chronyc. У Chrony есть некоторые функции, которые во многих случаях просто незаменимы:
- Chrony может синхронизироваться с сервером времени намного быстрее, чем старый сервис ntpd. Это хорошо для ноутбуков или настольных компьютеров, которые не работают постоянно.
- Он может компенсировать колебания тактовых частот, например, когда хост переключается в спящий режим или входит в спящий режим, или когда тактовая частота изменяется из-за скачкообразного изменения частоты, которое замедляет тактовые частоты при низких нагрузках.
- Он решает проблемы со временем, связанные с нестабильным сетевым соединением или перегрузкой сети.
- Он регулирует задержки в сети.
- После начальной временной синхронизации Chrony никогда не останавливает часы. Это обеспечивает стабильные и согласованные временные интервалы для многих системных служб и приложений.
- Chrony может работать даже без подключения к сети. В этом случае локальный хост или сервер можно обновить вручную.
- Chrony может выступать в качестве NTP-сервера.
Ещё раз: NTP — это протокол, который может быть реализован на хосте Linux с использованием Chrony или systemd-timesyncd.
RPM-пакеты NTP, Chrony и systemd-timesyncd доступны в стандартных репозиториях Fedora. RPM systemd-udev — это менеджер событий ядра, который в Fedora установлен по умолчанию, но не является обязательным для использования.
Вы можете установить все три и переключаться между ними, но это создаст лишнюю головную боль. Так что лучше не стоит. Современные релизы Fedora, CentOS и RHEL перешли на Chrony как стандартную реализацию, и кроме того, у них есть systemd-timesyncd. Я считаю, что Chrony работает хорошо, обеспечивает лучший интерфейс, чем служба NTP, предоставляет гораздо больше информации и повышает контроль, что безусловно понравится системным администраторам.
Отключение служб NTP
Возможно, на вашем хосте уже запущена служба NTP. Если это так, вам нужно отключить её перед переключением на что-то другое. У меня был запущен chronyd, поэтому я использовал следующие команды, чтобы остановить и отключить его. Запустите соответствующие команды для любого демона NTP, который вы используете на своем хосте:
[root@testvm1 ~]# systemctl disable chronyd ; systemctl stop chronyd
Removed /etc/systemd/system/multi-user. target.wants/chronyd.service.
[root@testvm1 ~]#
Проверьте, что служба остановлена и отключена:
[root@testvm1 ~]# systemctl status chronyd
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:chronyd(8)
man:chrony.conf(5)
[root@testvm1 ~]#
Проверка статуса перед запуском
Статус системной синхронизации часов позволяет определить, запущена ли служба NTP. Поскольку вы ещё не запустили NTP, команда timesync-status намекнёт на это:
[root@testvm1 ~]# timedatectl timesync-status
Failed to query server: Could not activate remote peer.
Прямой запрос статуса даёт важную информацию. Например, команда timedatectl без аргумента или параметров выполняет подкоманду status по умолчанию:
[root@testvm1 ~]# timedatectl status
Local time: Fri 2020-05-15 08:43:10 EDT
Universal time: Fri 2020-05-15 12:43:10 UTC
RTC time: Fri 2020-05-15 08:43:08
Time zone: America/New_York (EDT, -0400)
System clock synchronized: no
NTP service: inactive
RTC in local TZ: yes
Warning: The system is configured to read the RTC time in the local time zone.
This mode cannot be fully supported. It will create various problems
with time zone changes and daylight saving time adjustments. The RTC
time is never updated, it relies on external facilities to maintain it.
If at all possible, use RTC in UTC by calling
'timedatectl set-local-rtc 0'.
[root@testvm1 ~]#
Так вы получите местное время для вашего хоста, время UTC и время RTC. В данном случае системное время установлено на часовой пояс America / New_York (TZ), RTC установлено на время в местном часовом поясе, а служба NTP не активна. Время RTC начало немного отклоняться от системного времени. Это нормально для систем, часы которых не были синхронизированы. Величина смещения на хосте зависит от времени, прошедшего с момента последней синхронизации системы.
Мы также получили предупреждение об использовании местного времени для RTC — это относится к изменениям часового пояса и настройкам летнего времени. Если компьютер выключен в тот момент, когда необходимо внести изменения, время RTC не изменится. Но для серверов или других хостов, которые работают круглосуточно, это вообще не проблема. Кроме того, любая служба, которая обеспечивает синхронизацию времени NTP, будет корректировать время хоста ещё на начальном этапе запуска, поэтому после завершения запуска время вновь станет правильным.
Установка часового пояса
Обычно вы указываете часовой пояс во время процедуры установки, и у вас нет задачи менять его в дальнейшем. Однако бывают случаи, когда необходимо изменить часовой пояс. Есть несколько инструментов, которые могут помочь. Для определения местного часового пояса хоста Linux использует файлы часовых поясов. Эти файлы находятся в каталоге /usr/share/zoneinfo. По умолчанию для моего часового пояса система прописывает вот это: /etc/ localtime -> ../usr/share/zoneinfo/America/New_York. Но вам не нужно знать такие тонкости, чтобы изменить часовой пояс.
Главное — знать официальное название часового пояса для вашего местоположения и соответствующую команду. Скажем, вы хотите изменить часовой пояс на Лос-Анджелес:
[root@testvm2 ~]# timedatectl list-timezones | column
<SNIP>
America/La_Paz Europe/Budapest
America/Lima Europe/Chisinau
America/Los_Angeles Europe/Copenhagen
America/Maceio Europe/Dublin
America/Managua Europe/Gibraltar
America/Manaus Europe/Helsinki
<SNIP>
Теперь вы можете установить часовой пояс. Я использовал команду date для проверки изменений, но вы также можете использовать timedatectl:
[root@testvm2 ~]# date
Tue 19 May 2020 04:47:49 PM EDT
[root@testvm2 ~]# timedatectl set-timezone America/Los_Angeles
[root@testvm2 ~]# date
Tue 19 May 2020 01:48:23 PM PDT
[root@testvm2 ~]#
Теперь вновь можете изменить часовой пояс своего хоста на местное время.
systemd-timesyncd
Демон systemd timesync предоставляет реализацию NTP, которой легко управлять в контексте systemd. Он устанавливается по умолчанию в Fedora и Ubuntu. Однако запускается он по умолчанию только в Ubuntu. Я не уверен насчёт других дистрибутивов. Вы можете проверить у себя сами:
[root@testvm1 ~]# systemctl status systemd-timesyncd
Конфигурирование systemd-timesyncd
Файл конфигурации для systemd-timesyncd — это /etc/systemd/timesyncd.conf. Это простой файл с меньшим количеством включенных опций, чем в старых сервисах NTP и chronyd. Вот содержимое этого файла (без дополнительных изменений) на моей виртуальной машине с Fedora:
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See timesyncd.conf(5) for details.
[Time]
#NTP=
#FallbackNTP=0.fedora.pool.ntp.org 1.fedora.pool.ntp.org 2.fedora.pool.ntp.org 3.fedora.pool.ntp.org
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048
Единственный раздел, который он содержит, кроме комментариев, это [Time]. Все остальные строки закомментированы. Это значения по умолчанию, их не нужно менять (если у вас нет для этого причин). Если у вас нет сервера времени NTP, определенного в строке NTP =, по умолчанию в Fedora используется резервный сервер времени Fedora. Я обычно добавляю свой сервер времени:
NTP=myntpserver
Запуск timesync
Запустить и сделать systemd-timesyncd активным можно так:
[root@testvm2 ~]# systemctl enable systemd-timesyncd.service
Created symlink /etc/systemd/system/dbus-org.freedesktop.timesync1.service → /usr/lib/systemd/system/systemd-timesyncd.service.
Created symlink /etc/systemd/system/sysinit.target.wants/systemd-timesyncd. service → /usr/lib/systemd/system/systemd-timesyncd.service.
[root@testvm2 ~]# systemctl start systemd-timesyncd.service
[root@testvm2 ~]#
Установка аппаратных часов
Вот как выглядит ситуация после запуска timesyncd:
[root@testvm2 systemd]# timedatectl
Local time: Sat 2020-05-16 14:34:54 EDT
Universal time: Sat 2020-05-16 18:34:54 UTC
RTC time: Sat 2020-05-16 14:34:53
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Изначально разница между RTC и местным временем (EDT) не превышает секунды, и расхождение возрастает ещё на пару секунд в течение следующих нескольких дней. Поскольку в RTC нет понятия часовых поясов, команда timedatectl должна выполнить сравнение, чтобы определить нужный часовой пояс. Если время RTC точно не соответствует местному времени, то значит, оно не соответствует и местному часовому поясу.
В поисках дополнительной информации я проверил состояние systemd-timesync и обнаружил вот что:
[root@testvm2 systemd]# systemctl status systemd-timesyncd.service
● systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2020-05-16 13:56:53 EDT; 18h ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 822 (systemd-timesyn)
Status: "Initial synchronization to time server 163.237.218.19:123 (2.fedora.pool.ntp.org)."
Tasks: 2 (limit: 10365)
Memory: 2.8M
CPU: 476ms
CGroup: /system.slice/systemd-timesyncd.service
└─822 /usr/lib/systemd/systemd-timesyncd
May 16 09:57:24 testvm2.both.org systemd[1]: Starting Network Time Synchronization...
May 16 09:57:24 testvm2.both.org systemd-timesyncd[822]: System clock time unset or jumped backwards, restoring from recorded timestamp: Sat 2020-05-16 13:56:53 EDT
May 16 13:56:53 testvm2. both.org systemd[1]: Started Network Time Synchronization.
May 16 13:57:56 testvm2.both.org systemd-timesyncd[822]: Initial synchronization to time server 163.237.218.19:123 (2.fedora.pool.ntp.org).
[root@testvm2 systemd]#
Обратите внимание на сообщение журнала, в котором говорится, что системное время не установлено или сброшено назад. Служба Timesync устанавливает системное время на основе временной метки. Метки времени поддерживаются демоном timesync и создаются при каждой успешной синхронизации.
Команда timedatectl не имеет возможности взять значение аппаратных часов из системных часов. Она может установить время и дату только из значения, введённого в командной строке. Вы можете установить RTC на то же значение, что и системное время, используя команду hwclock:
[root@testvm2 ~]# /sbin/hwclock --systohc --localtime
[root@testvm2 ~]# timedatectl
Local time: Mon 2020-05-18 13:56:46 EDT
Universal time: Mon 2020-05-18 17:56:46 UTC
RTC time: Mon 2020-05-18 13:56:46
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
NTP service: active
RTC in local TZ: yes
Опция —localtime говорит о том, что аппаратные часы показывают местное время, а не UTC.
Зачем вам вообще RTC?
Любая реализация NTP установит системные часы во время запуска. И зачем тогда RTC? Это не совсем так: это произойдет только в случае, если у вас есть сетевое соединение с сервером времени. Однако многие системы не имеют постоянного доступа к сетевому соединению, поэтому аппаратные часы полезны для того, чтобы Linux мог на их основе установить системное время. Это лучше, чем установка времени вручную, даже если оно может отклоняться от реального времени.
Заключение
В этой статье рассмотрены некоторые инструменты для управления датой, временем и часовыми поясами. Инструмент systemd-timesyncd предоставляет NTP-клиента, который может синхронизировать время на локальном хосте с NTP-сервером. Однако systemd-timesyncd не предоставляет серверную службу, поэтому, если вам нужен NTP-сервер в вашей сети, вы должны использовать что-то ещё — например, Chrony, для работы в качестве сервера.
Я предпочитаю иметь единственную реализацию для любой служб в моей сети, поэтому использую Chrony. Если вам не нужен локальный NTP-сервер или если вы не против использовать Chrony в качестве сервера и systemd-timesyncd в качестве SNTP-клиента. Ведь нет необходимости использовать дополнительные возможности Chrony как клиента, если вас устраивает функционал systemd-timesyncd.
Еще одно замечание: вы не обязаны использовать инструменты systemd для реализации NTP. Вы можете использовать старую версию ntpd, Chrony или другую реализацию NTP. Ведь systemd состоит из большого количества сервисов; многие из них являются необязательными, поэтому их можно отключить и использовать вместо них что-то ещё. Это не огромный монолитный монстр. Можно не любить systemd или его части, но вы должны принять обоснованное решение.
Мне нравится реализация NTP в systemd, но я предпочитаю Chrony, потому что он лучше отвечает моим потребностям. Это Linux, детка -)
На правах рекламы
VDSina предлагает серверы под любые задачи, огромный выбор операционных систем для автоматической установки, есть возможность установить любую ОС с собственного ISO, удобная панель управления собственной разработки и посуточная оплата. Напомним, у нас есть вечные серверы, которые точно неподвластны времени 😉
NET TIME — синхронизация времени компьютера
NET TIME — синхронизация времени компьютера
NET TIME синхронизирует показания часов компьютера с другим компьютером или доменом. Если используется без параметров в домене Windows Server, выводит текущую дату и время дня, установленные на компьютере, который назначен сервером времени для данного домена. Эта команда позволяет задать сервер времени NTP для компьютера.
Видео: NET TIME — как синхронизировать время с сервером в Windows
Синтаксис команды NET TIME
- net time [{\\имя_компьютера | /domain[:имя_домена] | /rtsdomain[:имя_домена]}] [/set]
- net time [\\имя_компьютера] [/querysntp]
- net time [\\имя_компьютера] [/setsntp[:список_серверов_NTP]], где
- \\имя_компьютера — указывает имя сервера, время на котором нужно проверить или с которым нужно синхронизировать таймер.
- /domain[:имя_домена] — задает имя домена, с которым синхронизируются часы.
- /rtsdomain[:имя_домена] — указывает домен сервера надежного времени (RTS), с которым будут синхронизироваться часы.
- /set — синхронизирует часы с временем указанного компьютера или домена.
- /querysntp — выводит имя сервера NTP (Network Time Protocol), сконфигурированного для локального компьютера, или компьютера, указанного в параметре \\имя_компьютера.
- /setsntp[:список_серверов_NTP] — указывает список серверов времени NTP для использования на локальном компьютере.
Примеры команды NET TIME
- net help time — отображение справки для указанной команды net;
- net time \\PC1— вывод на экран текущего времение сервера в сети для компьютера PC1;
- net time /querysntp — отображение на экране имени сервера NTP для локальнго компьютера;
- net time \\Proton /set — синхронизация часов локального компьютера с временем компьютера Proton.
Net time системные ошибки в ходе выполнения
Системная ошибка 5. Отказано в доступе
Часто спрашивают, почему появляется «Системная ошибка 5. Отказано в доступе» при использовании команды Net time. Отвечаю, все в правах пользователя под которым запускается команда. В качестве примера пробовал запустить команду сначала с правами локального администратора на Windows 10 — получил ошибку, далее запустил с правами администратора домена — результат на рисунке ниже.
Системная ошибка 1314. Клиент не обладает требуемыми правами
Вам нужно зайти в «редактор локальной политики безопасности». Открываем «Выполнить» Win+R. Ввести — «secpool».
Локальные политики-Параметры безопасности-Контроль учетный записей: Все администраторы работают в режиме одобрения администратором-Отключить-ОК-Перезагрузить компьютер/ноутбук.
Далее запустил с правами администратора домена, команда успешно выполнилась.
Настройка NTP для синхронизации времени
В сети ЦОД ручное определение времени системы на всех устройствах может занимать довольно много времени, при этом системное время может быть еще и неточным. В таких ситуациях способен помочь протокол NTP, позволяющий быстро и точно синхронизировать системное время всех устройств, подключенных в сеть.
Ниже вы можете посмотреть на диаграмму настройки протокола NTP, где в целях синхронизации времени настроены IP-адреса SwitchA и SwitchB. При этом SwitchA синхронизировал свои часы с более авторитетными часами, к примеру, с GPS — системой глобального позиционирования. Таким образом, SwitchA функционирует еще и как сервер времени SwitchB.
План конфигурации
Создание данной конфигурации можно разделить на 2 части: 1. Настраиваем IP-адреса для SwitchA и SwitchB. 2. Конфигурируем SwitchA как основные тактовые часы, что позволит использовать локальные часы SwitchA в качестве опорных часов. 3. Настраиваем SwitchB в целях синхронизации времени с SwitchA и настраиваем аутентификацию NTP в целях обеспечения безопасности синхронизации.
Что же, приступим.
Процедура конфигурирования
Первое, что надо сделать, — настроить IP-адреса для SwitchA и SwitchB. Начнем со SwitchA:
Теперь настраиваем IP-адрес для SwitchB:
На этой стадии все, переходим к этапу номер два. Теперь понадобится настроить SwitchA в качестве главного сервера синхронизации и включить NTP-аутентификацию. Также следует установить уровень синхронизации 1.
Прежде чем идти далее, сделаем небольшое отступление и скажем, что значение полосы уровня синхронизации находится в пределах от 1 до 15. При этом часы в подсети синхронизируются по возрастанию уровней, а уровень синхронизации можно установить. В нашем примере уровень синхронизации равен 1.
К слову, в реальных условиях сервер NTP, который синхронизирован с авторитетными часами, задают как stratum 1 и используют в качестве источника синхронизации. Прочие сетевые устройства синхронизируют свои часы с часами сервера NTP, а это значит, что локальные часы сервера NTP настроены в качестве основных часов NTP.
Итак, продолжаем:
Вообще, методы аутентификации включают как MD5, так и HMAC-SHA256. HMAC-SHA256 характеризуется более высокой безопасностью, а MD5 — более высокой скоростью. В нашем примере мы применяем HMAC-SHA256 (третья строка вышеуказанного кода). Из первой же строки можно заметить, что ширина часов устанавливается на 1.
Теперь включаем функцию NTP-сервера для SwitchA:
Следующий шаг — настройка SwitchB в целях синхронизации времени со SwitchA с последующим включением NTP-аутентификации. IP-адрес NTP-сервера — 10.10.1.1. Режим синхронизации часов устанавливается на одноадресный клиент/сервер.
Важно понимать, что идентификатор ключа SwitchB-аутентификации должен быть таким же, как и в случае со SwitchA. Иначе аутентификация завершится с ошибкой.
Проверяем конфигурацию
В первую очередь проверим конфигурацию на SwitchA. Для этого: 1) запустим команду display ntp status, чтобы просмотреть статус NTP:
2) запустим команду display clock, чтобы увидеть состояние часов:
Теперь можно проверить конфигурацию на SwitchB. Здесь: 1) запускаем команду display ntp status:
2) запускаем команду display clock:
Файлы конфигурации
Вот как выглядит файл конфигурации SwitchA (представленный в конфигурации формат зашифрованного текста может отличаться, что зависит от версии системного ПО):
А вот SwitchB:
Выводы и рекомендации
Итак, какие возможны сценарии использования NTP: 1. Режим одноадресного клиента/сервера. Подходит для более высокого уровня в подсети синхронизации. Клиентам нужно получить IP-адрес сервера непосредственно до момента синхронизации. 2. Одноранговый режим. Подходит для более низкого уровня в подсети синхронизации. Активный и пассивный одноранговые узлы можно синхронизировать друг с другом. Если точнее, одноранговый узел более высокого уровня синхронизируется с узлом нижнего уровня. 3. Широковещательнй режим. Подходит, если IP-адрес сервера либо однорангового узла не определен, а также если надо синхронизировать в сети часы большого числа устройств. 4. Многоадресный режим. Для высокоскоростной сети, имеющей несколько рабочих станций и не требующей высокой точности часов. В типичной ситуации один либо несколько серверов сетевой синхронизации регулярно отправляют на рабочие станции многоадресные пакеты. Задержка передачи пакетов в локали находится на уровне миллисекунд. 5. Manycast. Когда серверы разбросаны по сети. Здесь клиент способен обнаруживать и синхронизироваться с ближайшим manycast-сервером.
Какие состояния проходит NTP в процессе синхронизации: — часы не установлены. Показывается, что часы не обновляются; — частота задана по конфигурации. Показывается, что тактовая частота установлена посредством NTP; — набор часов. Показывается, что часы установлены; — набор часов с неопределенной частотой. Показывается, что часы установлены, однако тактовая частота не определена; — часы синхронизированы. Показывается, что часы были синхронизированы; — импульс (часы устанавливаются в XXX сек. ). Показывается, что система обнаруживает факт того, что разница во времени между клиентом и сервером синхронизации больше 128 миллисекунд. Локальные часы проверяются в течение XXX секунд.
Что можно сделать, если в NTP-синхронизации возникает ошибка (как обнаружить неисправность): 1. Запустите display ntp event clock-unsync, что отобразит последние 10 причин сбоев синхронизации. 2. Запустите display ntp sessions, что позволит увидеть информацию про все сеансы локального NTP. 3. Запустите display ntp slot-status, что даст возможность просмотреть состояния системы часов.
Статья написана по материалам центра документации компании Huawei.
Настройка NTP сервера в CentOS и синхронизации времени на телефонных аппаратах.
Анонс: В данной статье проведем настройку NTP сервера и автоматическую синхронизацию на ip-телефонах
Описание:
Почему важно иметь правильное выставленное время не стоит даже пояснять, однако выставлять правильное время на каждом отдельном телефонном аппарате может быть затруднительно, в особенности, когда штат состоит не из 5 человек. Для упрощения подобной настройки будем использовать в качестве ntp-сервера АТС, чтоб подключенные к ней ip-телефоны.
Проводить настройку будем на CentOS 6.9, а в качестве телефонного аппарата в этом примере будем использовать fanvil X3S
Настройка CentOS
Подключаемся к АТС через PuTTY
PuTTYПеред настройкой убедитесь, что у вас открыт UDP порт 123 т.к ntp-сервер использует протокол Network Time Protocol.
Установка простая. Какой-то надобности в сборке и установки из пакетов у нас нет и устанавливать будем через пакетный менеджер yum: # yum -y install ntp
УстановкаПосле нам необходимо отредактировать файл конфигурации ntp.conf. Переходим в папку etc.
ПереходимИ открываемntp.conf любым удобным вам текстовым редактором
Настройка Nt_conf 1И приводим содержимое к следующему виду:
Настройка Ntp_conf 2Список параметров:
- driftfile: Данный пункт отвечает за адрес лог-файла в котором хранится история изменения времени во время синхронизации. Если синхронизация времени с внешними источниками станет невозможно, то служба обратиться к данному файлу.
- restrict ( 127.0.0.1 ): Здесь указывается ip адреса которым позволено использовать наш сервер времени. В данном примере указан только локальный интерфейс.
- restrictdefault nomodify notrap nopeer noquery: Эти параметры указывают на то, что клиентам запрещено изменять настройки и получать его статус
- server: Задается список серверов для синхронизации времени. Дополнительный параметр iburst нужен для повышения точности синхронизации. Он указывает, что на сервер нужно посылать не один, а несколько пакетов.
- disable monitor: Параметр отвечает за безопасностью. Предотвращает использования уязвимости сервиса ntpd, которую используют злоумышленники для проведения DDoS атак.
- logfile: Здесь прописывается путь к файлу логов.
Заканчиваем редактирования файла настроек. После, запускаем службу следующей командой:
# service ntpd start
Настройка Ntp_conf 3После чего проверяем, запущен ли сервер:
netstat -tulnp | grep 123
Настройка Ntp_conf 4Как видим выше – все в порядке. Служба слушает порт 123. Переходим теперь к телефонам
Настройка Fanvil
В целом, настройки на любых телефонных аппаратах будут аналогичны, несмотря на различные web-интерфейсы. Подключаемся к телефону (в нашем случае стандартный пароль и логин admin/admin):
Настройка fanvil 1Переходим в «Настройки телефона»
Настройка fanvil 2Переходим дальше в «Время/Дата»
Настройка fanvil 3В разделе «Настройка времени» указываем в качестве NTP-сервера 1 нашу АТС после чего применяем настройки.
Настройка fanvil 4Настройка на этом завершена.
Синхронизация времени по протоколу NTP на устройствах Cisco — Советы по работе с Cisco
Сегодня вкратце пробежимся по вопросу синхронизации времени, по протоколу
NTP (Network Time Protocol)Сначала определимся, для чего нам синхронизировать время на оборудовании, таком как: коммутаторы, маршрутизаторы, файрволлы, и так далее.
Делается это в первую очередь для того, чтоб отследить по логам когда произошло то или иное событие. И вы можете себе представить, какая польза будет от логов, если время не синхронизированное.. правильно — никакой.
Протокол NTP работает на основе протокола UDP, через 123 порт.
У данного протокола есть некоторая иерархия для синхронизирующих систем, иными словами уровни.
Уровень 1 присваивается системе, которая синхронизируется с высокоточными часами, например через GPS.
Система, которая будет синхронизировать с Уровня 1, будет иметь Уровень 2, и так далее.
Тем самым мы можем определить насколько точным временем обладает станция, с которой мы синхронизируемся.
В нашей ситуации у нас в сети есть машина с точным временем, у меня она настроена на основе FreeBSD, с этой машины, главное сетевое устройство будет брать время (синхронизировать), и тем самым будет становиться главным для других сетевых устройств (в идеологии cisco будет ntp мастером).
Хочу отметить тот факт, что по NTP передается время только в формате UTC (Гринвич), каждая тайм зона настраивается не посредственно на железке.
Давайте рассмотрим пример простой настройки NTP.
Для начала синхронизируем время на нашем главном роутере (который будет раздавать другим сетевым устройствам ).
Для этого заходим в режиме глобальной конфигурации:
ntp server 10.0.100.254
где, 10.0.100.254 в нашем случае это машина с FreeBSD, имеющая точное время.
Этого достаточно для минимальной настройки.
Теперь проверим, смогли ли мы подключиться к серверу времени и получить с него время, для этого используем команду:
show ntp associations
должны увидеть нечто подобное:
Звездочка напротив ip нашего ntp сервера, говорит нам, что все хорошо, связь по крайней мере установлена.
Теперь посмотрим, синхронизировалось ли время?
show ntp status
Если все синхронизировалось, то мы должны увидеть следующее:
Время получено, теперь необходимо установить нужную там тайм зону.
Так же в режиме глобальной конфигурации делаем:
clock timezone MSK/MSD 3
Теперь давайте проверим время:
Все замечательно.
Перейдем к настройке нашего роутера в режим мастера.
Для этой настройки, нам необходимо что данный роутер мастер и указать уровень (в cisco он зовется как stratum number), тот самый, о котором я говорил в начале, я укажу уровень пятый.
ntp master 5
Теперь попробуем настроить на другом сеттером устройстве ntp, чтоб оно синхронизировалось с нашего основного роутера, делается это так же как и здесь выше настраивали синхронизацию с FreeBSD сервера.
ntp server 10.0.100.1 prefer
где, 10.0.100.1 это наш головной роутер.
prefer это ключевое слово, которое указывает что данный ntp сервер является приоритетным (тоесть можно прописать, что синхронизировать можно не с одного сервера, а с нескольких, делается это для того, что если один недоступен, или время слишком отличается от других, что говорит о каких-то проблемах, устройство может переключиться на другой сервер времени, а prefer делает этот сервер более предпочтительным, нежели другие.)
так же мы указываем нужную нам таймзону.
clock timezone MSK/MSD 3
Проверяем:
Все замечательно, все работает.
Теперь рассмотрим вопрос безопасности.
Для начала, разберем вопрос по ограничению с помощью ACL, кто может синхронизировать, а кто нет.
Все достаточно стандартно и прозрачно.
На сервере времени создаем соответствующий ACL:
access-list 20 remark ACCESS to NTP Sync
access-list 20 permit 10.0.100.3
теперь привяжем этот список доступа к ntp.
ntp access-group serve-only 20
Если все настроено верно, то связь с ntp севером установится и синхронизация пройдет успешно.
Так же дополнительно можно прописать на клиентах список доступа. К каким серверам времени можно обращаться. Делается это похожим способом:
access-list 20 remark ACCESS SYNC to NTP Serv
access-list 20 permit 10.0.100.1
Привяжем список доступа к NTP
ntp access-group peer 20
Теперь рассмотрим безопасность на основе аутентификации.
Все также достаточно прозрачно.
В конфигурацию ntp достаточно добавить следующее:
ntp authentication-key 1 md5 15060E1F10243F34 7
ntp authenticate
ntp trusted-key 1
первой командой мы задаем ключ аутентификации, второй включаем аутентификацию, а третей указываем что аутентификацию проводить по первому ключу.
Настраиваем это на каждой из сторон (сервер — клиент).
Вот собственно и все. Получилась небольшой вводный курс по настройке NTP на Cisco устройствах.
Для отладки используем :
ASW-M#debug ntp ?
adjust NTP clock adjustments
authentication NTP authentication
events NTP events
loopfilter NTP loop filter
packets NTP packets
params NTP clock parameters
refclock NTP reference clocks
select NTP clock selection
sync NTP clock synchronization
validity NTP peer clock validity
ASW-M#debug ntp
Включаем все что нам интересно, например events, sync, auth и смотрим что происходит.
Если мы зашли на устройство через ssh/telnet не забываем ter mon 🙂
Просмотров: 10 715
Инструменты и настройки службы времени Windows
- 28 минут на чтение
В этой статье
Применимо к: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 10
Служба времени Windows (W32Time) синхронизирует дату и время на всех компьютерах, управляемых доменными службами Active Directory (AD DS).В этой статье рассматриваются различные инструменты и настройки, используемые для управления службой времени Windows.
По умолчанию компьютер, присоединенный к домену, синхронизирует время через доменную иерархию источников времени. Однако, если компьютер был вручную настроен на синхронизацию из определенного источника времени, возможно, потому, что он ранее не был присоединен к домену, вы можете перенастроить компьютер, чтобы он начал автоматически получать свое время из иерархии домена.
Большинство компьютеров, присоединенных к домену, имеют тип клиента времени NT5DS, что означает, что они синхронизируют время из иерархии домена.Исключением является контроллер домена, который функционирует как хозяин операций эмулятора основного контроллера домена (PDC) для домена корневого леса. Мастер операций эмулятора PDC, в свою очередь, обычно настроен на синхронизацию времени с внешним источником времени.
Вы можете достичь точности времени до одной миллисекунды в своей области. Дополнительные сведения см. В разделах Поддержка границ для точного времени и в разделе «Точное время для Windows Server 2016».
Осторожно
Не используйте команду Net time для настройки или установки времени на часах компьютера, когда запущена служба времени Windows.
Кроме того, на старых компьютерах под управлением Windows XP или более ранней версии команда Net time / querysntp отображает имя сервера протокола сетевого времени (NTP), с которым компьютер настроен для синхронизации, но этот сервер NTP используется только тогда, когда клиент времени компьютера настроен как NTP или AllSync. С тех пор эта команда устарела.
Сетевой порт
Служба времени Windows соответствует спецификации протокола сетевого времени (NTP), которая требует использования порта 123 UDP для постоянной синхронизации времени.Всякий раз, когда компьютер синхронизирует свои часы или передает время другому компьютеру, это происходит через порт 123 UDP. Этот порт зарезервирован исключительно службой времени Windows.
Примечание
Если у вас есть компьютер с несколькими сетевыми адаптерами (многосетевым), вы не можете включить службу времени Windows на основе сетевого адаптера.
Средство командной строки W32tm.exe можно использовать для настройки параметров службы времени Windows и диагностики проблем со временем компьютера. W32tm.exe — предпочтительный инструмент командной строки для настройки, мониторинга и устранения неполадок службы времени Windows. W32tm.exe входит в состав Windows XP и более поздних версий и Windows Server 2003 и более поздних версий.
Членство в локальной группе администраторов требуется для локального запуска W32tm.exe, а членство в группе администраторов домена требуется для удаленного запуска W32tm.exe.
Запустить W32tm.exe
- В строке поиска Windows введите cmd .
- Щелкните правой кнопкой мыши Командная строка , затем выберите Запуск от имени администратора .
- В командной строке введите w32tm , а затем соответствующий параметр, как описано ниже:
Параметр | Описание |
---|---|
/? | Отображает справку командной строки W32tm |
/ регистр | Регистрирует службу времени Windows для запуска в качестве службы и добавляет в реестр сведения о конфигурации по умолчанию. |
/ отменить регистрацию | Отменяет регистрацию службы времени Windows и удаляет всю информацию о ее конфигурации из реестра. |
/ monitor [/ domain: < имя домена >] [/ computers: < name > [, < name > [, < name > …]]] [/ thread : < число >] | Отслеживает службу времени Windows. / домен : указывает, какой домен отслеживать.Если имя домена не указано или не указан ни один параметр / домен или / компьютеры , используется домен по умолчанию. Эта опция может использоваться более одного раза. / компьютеры : Отслеживает данный список компьютеров. Имена компьютеров разделяются запятыми без пробелов. Если имя имеет префикс * , оно рассматривается как PDC. Эта опция может использоваться более одного раза. / нитей : указывает количество компьютеров для одновременного анализа.Значение по умолчанию — 3. Допустимый диапазон — 1-50. |
/ ntte | Преобразует системное время Windows NT (измеренное в 10 -7 -секундных интервалах, начиная с 0ч 1 января 1601 года) в читаемый формат. |
/ ntpte | Преобразует время NTP (измеренное в 2 -32 -секундных интервалах, начиная с 0ч 1 января 1900 г.) в читаемый формат. |
/ resync [/ computer: < computer >] [/ nowait] [/ rediscover] [/ soft] | Сообщает компьютеру, что он должен как можно скорее повторно синхронизировать свои часы, отбрасывая всю накопленную статистику ошибок. / компьютер: < компьютер > : указывает компьютер, который следует повторно синхронизировать. Если не указано, локальный компьютер выполнит повторную синхронизацию. / nowait : не ждать повторной синхронизации; вернуться немедленно.В противном случае дождитесь завершения повторной синхронизации перед возвратом. / повторно открыть : Повторно определяет конфигурацию сети и повторно обнаруживает сетевые источники, а затем выполняет повторную синхронизацию. / soft : повторная синхронизация с использованием существующей статистики ошибок. Это используется в целях совместимости. |
/ stripchart / computer: < target > [/ period: < refresh >] [/ dataonly] [/ samples: < count >] [/ rdtsc] | Отображает ленточную диаграмму смещения между этим компьютером и другим компьютером. / компьютер: < цель > : компьютер, по которому нужно измерить смещение. / period: < refresh > : время между выборками в секундах. По умолчанию — 2 секунды. / dataonly : Отображает только данные, без графики. / samples: < count > : собирает < count > образцов, затем останавливается. Если не указано иное, образцы будут собираться до нажатия Ctrl + C . / rdtsc : для каждого образца этот параметр печатает значения, разделенные запятыми, вместе с заголовками RdtscStart , RdtscEnd , FileTime , RoundtripDelay и NtpOffset вместо текстового изображения.
|
/ config [/ computer: < target >] [/ update] [/ manualpeerlist: < peers >] [/ syncfromflags: < source >] [/ LocalClockDispersion: < секунд > ] [/ надежный: (ДА | НЕТ)] [/ largephaseoffset: < миллисекунд >] ** | / компьютер: < target > : настраивает конфигурацию < target >. Если не указано, по умолчанию используется локальный компьютер. / обновление : уведомляет службу времени Windows об изменении конфигурации, в результате чего изменения вступают в силу. / manualpeerlist: < peers > : Устанавливает ручной список одноранговых узлов на < peers >, который представляет собой список DNS или IP-адресов, разделенных пробелами. При указании нескольких одноранговых узлов этот параметр должен быть заключен в кавычки. / syncfromflags: < источник > : Устанавливает, с какими источниками клиент NTP должен синхронизироваться.< source > должен представлять собой список этих ключевых слов, разделенных запятыми (без учета регистра):
/ надежный: (ДА | НЕТ) : Укажите, является ли этот компьютер надежным источником времени.Этот параметр имеет значение только для контроллеров домена.
|
/ tz | Отображает текущие настройки часового пояса. |
/ dumpreg [/ subkey: < key >] [/ computer: < target >] | Отображает значения, связанные с данным разделом реестра. Ключ по умолчанию — HKLM \ System \ CurrentControlSet \ Services \ W32Time (корневой ключ для службы времени Windows). / подключ: < ключ > : отображает значения, связанные с подключом ключа по умолчанию. / компьютер: < target > : запрашивает параметры реестра для компьютера < target > |
/ query [/ computer: < target >] {/ source | / конфигурация | / сверстники | / status} [/ verbose] | Отображает информацию о службе времени Windows на компьютере.Этот параметр впервые был доступен для клиента Windows Time в Windows Vista и Windows Server 2008. / компьютер: < target > : запрашивает информацию о < target >. Если не указано, значением по умолчанию является локальный компьютер. / источник : отображение источника времени. / конфигурация : отображает конфигурацию времени выполнения и источник настройки. В подробном режиме также отображается неопределенный или неиспользуемый параметр. / peers : отображает список одноранговых узлов и их статус. / статус : отображает статус службы времени Windows. / подробный : Устанавливает подробный режим для отображения дополнительной информации. |
/ отладка {/ отключить | {/ enable / file: < name > / size: / < bytes > / entries: < value > [/ truncate]}} | Включает или отключает частный журнал службы времени Windows на локальном компьютере.Этот параметр впервые был доступен для клиента Windows Time в Windows Vista и Windows Server 2008. / disable : отключает личный журнал. / enable : Включает личный журнал.
|
Настроить клиент на использование двух серверов времени
Чтобы клиентский компьютер указывал на два разных сервера времени, один с именем ntpserver.contoso.com
и другой с именем clock.adatum.com
, введите в командной строке следующую команду и нажмите клавишу ВВОД:
w32tm / config / manualpeerlist: "ntpserver.contoso.com clock.adatum.com "/ syncfromflags: manual / update
Установить клиент для автоматической синхронизации времени с источником домена
Чтобы настроить клиентский компьютер, который в настоящее время синхронизирует время с помощью компьютера, указанного вручную, для автоматической синхронизации времени из иерархии домена AD, выполните следующее:
w32tm / config / syncfromflags: domhier / update
чистая остановка w32time
чистый старт w32time
Проверить конфигурацию времени клиента
Чтобы проверить конфигурацию клиента на клиентском компьютере под управлением Windows с именем хоста contosoW1
, выполните следующую команду:
W32tm / запрос / компьютер: contosoW1 / конфигурация
В выходных данных этой команды отображается список параметров конфигурации W32time, установленных для клиента.
Важно
Windows Server 2016 улучшил алгоритмы синхронизации времени, чтобы они соответствовали спецификациям RFC. Поэтому, если вы хотите настроить клиент местного времени, чтобы он указывал на несколько одноранговых узлов, мы рекомендуем вам подготовить три или более разных сервера времени.
Если у вас только два сервера времени, вы должны указать флаг Ntpserver UseAsFallbackOnly
(0x2), чтобы отменить приоритет одного из них. Например, если вы хотите установить приоритет ntpserver.contoso.com
по сравнению с clock.adatum.com
, выполните следующую команду.
w32tm / config /manualpeerlist:"ntpserver.contoso.com,0x8 clock.adatum.com, 0xa "/ syncfromflags: manual / update
Кроме того, вы можете запустить следующую команду и прочитать в выходных данных значение NtpServer
:
reg запрос HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Parameters
Настроить сброс часов компьютера
Для W32tm.exe, чтобы сбросить часы компьютера, смещение часов компьютера относительно текущего времени ( CurrentTimeOffset
) должно быть меньше значения MaxAllowedPhaseOffset
, при этом одновременно удовлетворяя следующему:
Значения для CurrentTimeOffset
, SystemClockRate
, PhaseCorrectRate
и MaxAllowedPhaseOffset
все измеряются в тактах часов, где 1 мс = 10 000 тактов часов в системе Windows.
Чтобы получить значение SystemClockRate
, вы можете использовать следующую команду и преобразовать его из секунд в такты часов, используя формулу (секунды × 1000 × 10,0000):
W32tm / запрос / статус / подробный
ClockRate: 0.0156000s
В следующих примерах показано, как применить эти вычисления для Windows Server 2012 R2 и более ранних версий. Если взять в качестве примера 156 000 секунд, значение SystemClockRate
будет (0,0156000 × 1000 × 10 000) = 156 000 тактов.
Пример: тактовая частота системы снижена на четыре минуты
Время на часах вашего компьютера — 11:05, а фактическое текущее время — 11:09:
PhaseCorrectRate = 1
UpdateInterval = 30000 тактов
SystemClockRate = 156,000 тактов
MaxAllowedPhaseOffset = 10 мин = 600 секунд = 600 × 1000 × 10 000 = 6 000 000 000 тактов часов
| CurrentTimeOffset | = 4 мин = 4 × 60 × 1000 × 10000 = 2400000000 тактов
Является ли CurrentTimeOffset
≤ MaxAllowedPhaseOffset
?
2,400,000,000 ≤ 6,000,000,000: ИСТИНА
И удовлетворяет ли он вышеуказанному уравнению?
(| CurrentTimeOffset | ÷ (PhaseCorrectRate × UpdateInterval) ≤ SystemClockRate ÷ 2)
Это 2,400,000,000 / (30,000 × 1) ≤ 156,000 ÷ 2
80 000 ≤ 78 000: ЛОЖЬ
Следовательно, W32tm.exe немедленно переведет часы назад.
Примечание
В этом случае, если вы хотите установить часы назад медленно, вам также придется отрегулировать значения PhaseCorrectRate
или UpdateInterval
в реестре, чтобы убедиться, что результат уравнения ИСТИНА.
Пример: тактовая частота системы снижена на три минуты
Время на часах вашего компьютера — 11:05, а фактическое текущее время — 11:08:
PhaseCorrectRate = 1
UpdateInterval = 30000 тактов
SystemClockRate = 156,000 тактов
MaxAllowedPhaseOffset = 10 мин = 600 секунд = 600 × 1000 × 10 000 = 6 000 000 000 тактов часов
| CurrentTimeOffset | = 3 минуты = 3 × 60 × 1000 × 10000 = 1800000000 тактов
Является ли CurrentTimeOffset
≤ MaxAllowedPhaseOffset
?
1,800,000,000 ≤ 6,000,000,000: ИСТИНА
И удовлетворяет ли он вышеуказанному уравнению?
(| CurrentTimeOffset | ÷ (PhaseCorrectRate × UpdateInterval) ≤ SystemClockRate ÷ 2)
Is 3 минуты × (1,800,000,000) ÷ (30,000 × 1) ≤ 156,000 ÷ 2
60 000 ≤ 78 000: ИСТИНА
В этом случае часы будут переводиться назад медленно.
Использование редактора локальной групповой политики
Служба времени Windows хранит ряд свойств конфигурации в виде записей реестра. Вы можете использовать объекты групповой политики (GPO) в редакторе локальной групповой политики для настройки большей части этой информации. Например, вы можете использовать объекты групповой политики, чтобы настроить компьютер как NTPServer или NTPClient, настроить механизм синхронизации времени или настроить компьютер как надежный источник времени.
Примечание
Параметры групповой политикидля службы времени Windows могут применяться на контроллерах домена Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 и Windows Server 2008 R2 и могут применяться к компьютерам под управлением Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 и Windows Server 2008 R2.
Windows хранит информацию о политике службы времени Windows в редакторе локальной групповой политики в разделе Конфигурация компьютера \ Административные шаблоны \ Система \ Служба времени Windows
. Он хранит информацию о конфигурации, которую политики определяют в реестре Windows, а затем использует эти записи реестра для настройки записей реестра, относящихся к службе времени Windows. В результате значения, определенные групповой политикой, перезаписывают все ранее существовавшие значения в разделе реестра службы времени Windows.Некоторые из предустановленных параметров GPO отличаются от соответствующих записей реестра службы времени Windows по умолчанию.
Например, предположим, что вы редактируете параметры политики в политике Time Providers \ Configure Windows NTP Client policy. Windows загружает эти параметры в область политики реестра в следующем подразделе:
HKLM \ Software \ Policies \ Microsoft \ W32time \ TimeProviders \ NtpClient
Затем Windows использует параметры политики для настройки соответствующих записей реестра службы времени Windows в следующем подразделе:
HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Time Providers \ NTPClient \\
В следующей таблице перечислены политики, которые можно настроить для службы времени Windows, и подразделы реестра, на которые эти политики влияют.
Примечание
При удалении параметра групповой политики Windows удаляет соответствующую запись из области политики реестра.
Групповая политика 1 | Реестры 2, 3 |
---|---|
Глобальные настройки конфигурации | W32Time W32Time \ Config W32Time \ Параметры |
Поставщики времени \ Настройка клиента NTP Windows | W32Time \ TimeProviders \ NtpClient |
Поставщики времени \ Включить клиент Windows NTP | W32Time \ TimeProviders \ NtpClient |
Поставщики времени \ Включить Windows NTP Server | W32Time \ TimeProviders \ NtpServer |
1 Путь к категории: Конфигурация компьютера \ Административные шаблоны \ Система \ Служба времени Windows
2 Подраздел: HKLM \ SOFTWARE \ Policies \ Microsoft
3 Подраздел: HKLM \ SYSTEM \ Услуги
Ссылка на реестр Windows
Предупреждение
Эта информация предоставляется в качестве справочной информации для использования при поиске и устранении неисправностей и проверке.Ключи реестра Windows используются W32Time для хранения важной информации. Не меняйте эти значения. Изменения в реестре не проверяются редактором реестра или Windows до их применения. Если реестр содержит недопустимые значения, в Windows могут возникнуть неисправимые ошибки.
Служба времени Windows хранит информацию в реестре по пути HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time в следующих подразделах:
В следующих таблицах «Все версии» относятся к Windows 7, Windows 8, Windows 10, Windows Server 2008 и Windows Server 2008 R2, Windows Server 2012 и Windows Server 2012 R2, Windows Server 2016 и Windows Server 2019.
Примечание
Некоторые параметры в реестре измеряются в тактах часов, а некоторые — в секундах. Чтобы преобразовать время из тиков часов в секунды, используйте следующие коэффициенты преобразования:
- 1 минута = 60 секунд
- 1 сек = 1000 мс
- 1 мс = 10 000 тактов часов в системе Windows, как описано в свойстве DateTime.Ticks.
Например, 5 минут превращаются в 5 × 60 × 1000 × 10000 = 3 000 000 000 тактов часов.
Записи конфигурации
Записи подраздела Config
расположены по адресу HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Config
.
Запись в реестре | Версии | Описание |
---|---|---|
AnnounceFlags | Все версии | Определяет, помечен ли этот компьютер как надежный сервер времени. Компьютер не считается надежным, если он также не отмечен как сервер времени.
Значение по умолчанию для членов домена — 10 . Значение по умолчанию для автономных клиентов и серверов — 10 . |
Отключение цепи | Управляет отключением механизма связывания. Если связывание отключено (установлено значение 0), контроллер домена только для чтения (RODC) может синхронизироваться с любым контроллером домена, но узлы, пароли которых не кэшированы на RODC, не смогут синхронизироваться с RODC.Это логическая настройка, значение по умолчанию — 0 . | |
Время ожидания входа в цепочку | Задает максимальное количество времени, в течение которого запись может оставаться в таблице цепочки, прежде чем запись будет считаться истекшей. Просроченные записи могут быть удалены при обработке следующего запроса или ответа. Значение по умолчанию — 16 (секунд). | |
ChainLoggingRate | Управляет частотой, с которой событие, указывающее количество успешных и неудачных попыток создания цепочки, регистрируется в системном журнале в средстве просмотра событий.По умолчанию — 30 (минут). | |
ChainMaxEntries | Управляет максимальным количеством записей, разрешенных в таблице цепочки. Если таблица цепочки заполнена и никакие просроченные записи не могут быть удалены, все входящие запросы отклоняются. Значение по умолчанию — 128 (записей). | |
ChainMaxHostEntries | Управляет максимальным количеством записей, разрешенных в таблице цепочки для конкретного хоста.Значение по умолчанию — 4 (записей). | |
ClockAdjustmentAuditLimit | Windows Server 2016 версии 1709 и более поздних версий; Windows 10 версии 1709 и более поздних версий | Задает наименьшие корректировки локальных часов, которые могут регистрироваться в журнале событий службы W32time на целевом компьютере. Значение по умолчанию — 800 (частей на миллион — PPM). |
ClockHoldoverPeriod | Windows Server 2016 версии 1709 и более поздних версий; Windows 10 версии 1709 и более поздних версий | Указывает максимальное количество секунд, в течение которого системные часы могут номинально сохранять свою точность без синхронизации с источником времени.Если в течение этого периода времени W32time не получает новые выборки от любого из своих поставщиков входных данных, W32time инициирует повторное открытие источников времени. По умолчанию: 7800 секунд. |
EventLogFlags | Все версии | Управляет событиями, регистрируемыми службой времени.
|
FrequencyCorrectRate | Все версии | Управляет скоростью корректировки часов. Если это значение слишком мало, часы работают нестабильно и излишне корректируются. Если значение слишком велико, синхронизация часов занимает много времени. Значение по умолчанию для членов домена — 4 . Значение по умолчанию для автономных клиентов и серверов — 4 . Примечание |
HoldPeriod | Все версии | Управляет периодом времени, в течение которого обнаружение всплесков отключается, чтобы быстро синхронизировать локальные часы. Пик — это временная выборка, указывающая на то, что время отстает на несколько секунд, и обычно получается после того, как хорошие временные выборки были возвращены последовательно.Значение по умолчанию для членов домена — 5 . Значение по умолчанию для автономных клиентов и серверов — 5 . |
LargePhaseOffset | Все версии | Указывает, что смещение времени, большее или равное этому значению в 10 -7 секунд, считается всплеском. Сбой сети, например большой объем трафика, может вызвать скачок. Всплеск будет игнорироваться, если он не сохраняется в течение длительного периода времени. Значение по умолчанию для членов домена — 50000000 .Значение по умолчанию для автономных клиентов и серверов — 50000000 . |
LastClockRate | Все версии | Поддерживается W32Time. Он содержит зарезервированные данные, которые используются операционной системой Windows, и любые изменения этого параметра могут привести к непредсказуемым результатам. Значение по умолчанию для членов домена — 156250 . Значение по умолчанию для автономных клиентов и серверов — 156250 . |
LocalClockDispersion | Все версии | Управляет дисперсией (в секундах), которую вы должны принять, когда единственным источником времени являются встроенные часы CMOS.Значение по умолчанию для членов домена — 10 . Значение по умолчанию для автономных клиентов и серверов — 10 . |
MaxAllowedPhaseOffset | Все версии | Задает максимальное смещение (в секундах), для которого W32Time пытается настроить часы компьютера, используя тактовую частоту. Когда смещение превышает это значение, W32Time устанавливает часы компьютера напрямую. Значение по умолчанию для членов домена — 300 . Значение по умолчанию для автономных клиентов и серверов — 1 . |
MaxClockRate | Все версии | Поддерживается W32Time. Он содержит зарезервированные данные, которые используются операционной системой Windows, и любые изменения этого параметра могут привести к непредсказуемым результатам. Значение по умолчанию для членов домена — 155860 . Значение по умолчанию для автономных клиентов и серверов — 155860 . |
MaxNegPhaseCorrection | Все версии | Задает наибольшую отрицательную поправку времени в секундах, которую делает служба.Если служба определяет, что требуется большее изменение, чем это требуется, вместо этого она регистрирует событие. Примечание Значение по умолчанию для членов домена — 0xFFFFFFFF . Значение по умолчанию для автономных клиентов и серверов — 54 000 (15 часов). |
MaxPollInterval | Все версии | Задает наибольший интервал в log2 секундах, разрешенный для интервала опроса системы.Обратите внимание, что хотя система должна опрашивать в соответствии с запланированным интервалом, провайдер может отказать в выдаче образцов по запросу. Значение по умолчанию для контроллеров домена — 10 . Значение по умолчанию для членов домена — 15 . Значение по умолчанию для автономных клиентов и серверов — 15 . |
MaxPosPhaseCorrection | Все версии | Задает наибольшую положительную поправку времени в секундах, которую делает служба.Если служба определяет, что требуется большее изменение, чем это требуется, вместо этого она регистрирует событие. Примечание Значение по умолчанию для членов домена — 0xFFFFFFFF . Значение по умолчанию для автономных клиентов и серверов — 54 000 (15 часов). |
MinClockRate | Все версии | Поддерживается W32Time.Он содержит зарезервированные данные, которые используются операционной системой Windows, и любые изменения этого параметра могут привести к непредсказуемым результатам. Значение по умолчанию для членов домена — 155860 . Значение по умолчанию для автономных клиентов и серверов — 155860 . |
MinPollInterval | Все версии | Задает наименьший интервал в базе журнала 2 секунды, разрешенный для интервала опроса системы. Обратите внимание, что хотя система не запрашивает образцы чаще, чем это, поставщик может создавать образцы в любое время, отличное от запланированного интервала.Значение по умолчанию для контроллеров домена — 6 . Значение по умолчанию для членов домена — 10 . Значение по умолчанию для автономных клиентов и серверов — 10 . |
PhaseCorrectRate | Все версии | Управляет скоростью исправления фазовой ошибки. Указание небольшого значения быстро исправляет фазовую ошибку, но может привести к нестабильности часов. Если значение слишком велико, исправление фазовой ошибки занимает больше времени. Значение по умолчанию для членов домена — 1 . Значение по умолчанию для автономных клиентов и серверов — 7 . Примечание |
PollAdjustFactor | Все версии | Управляет решением увеличить или уменьшить интервал опроса для системы.Чем больше значение, тем меньше количество ошибок, вызывающих уменьшение интервала опроса. Значение по умолчанию для членов домена — 5 . Значение по умолчанию для автономных клиентов и серверов — 5 . |
RequireSecureTimeSyncRequests | Windows 8 и более поздние версии | Управляет тем, будет ли контроллер домена отвечать на запросы синхронизации времени, использующие старые протоколы аутентификации. Если включено (установлено значение 1 ), контроллер домена не будет отвечать на запросы, использующие такие протоколы.Это логическая настройка, значение по умолчанию — 0 . |
SpikeWatchPeriod | Все версии | Задает время, в течение которого подозрительное смещение должно сохраняться, прежде чем оно будет принято как правильное (в секундах). Значение по умолчанию для членов домена — 900 . Значение по умолчанию для автономных клиентов и рабочих станций — 900 . |
TimeJumpAuditOffset | Все версии | Целое число без знака, указывающее порог аудита временного скачка в секундах.Если служба времени настраивает локальные часы, устанавливая часы напрямую, и корректировка времени превышает это значение, тогда служба времени регистрирует событие аудита. |
Интервал обновления | Все версии | Определяет количество тактов часов между корректировками фазовой коррекции. Значение по умолчанию для контроллеров домена — 100 . Значение по умолчанию для членов домена — 30 000 . Значение по умолчанию для автономных клиентов и серверов — 360 000 . Примечание |
UtilizeSslTimeData | Версии Windows более поздние, чем Windows 10, сборка 1511 | Значение 1 указывает, что W32Time использует несколько временных меток SSL для заполнения часов, которые являются крайне неточными. |
Параметры
Параметры , записи подраздела
расположены по адресу HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Parameters
.
Запись в реестре | Версии | Описание |
---|---|---|
AllowNonstandardModeCombinations | Все версии | Указывает, что нестандартные комбинации режимов разрешены при синхронизации между одноранговыми узлами.Значение по умолчанию для членов домена — 1 . Значение по умолчанию для автономных клиентов и серверов — 1 . |
NtpServer | Все версии | Определяет разделенный пробелами список одноранговых узлов, от которого компьютер получает отметки времени, состоящий из одного или нескольких имен DNS или IP-адресов в каждой строке. Каждое указанное имя DNS или IP-адрес должно быть уникальным. Компьютеры, подключенные к домену, должны синхронизироваться с более надежным источником времени, например официальным U.С. часы времени.
Для этой записи реестра для членов домена нет значения по умолчанию. Значение по умолчанию для автономных клиентов и серверов — time.windows.com, 0x1 . |
ServiceDll | Все версии | Поддерживается W32Time.Он содержит зарезервированные данные, которые используются операционной системой Windows, и любые изменения этого параметра могут привести к непредсказуемым результатам. Расположение по умолчанию для этой библиотеки DLL как на членах домена, так и на автономных клиентах и серверах -% windir% \ System32 \ W32Time.dll. |
Главный сервис | Все версии | Поддерживается W32Time. Он содержит зарезервированные данные, которые используются операционной системой Windows, и любые изменения этого параметра могут привести к непредсказуемым результатам.Значение по умолчанию для членов домена — SvchostEntry_W32Time . Значение по умолчанию для автономных клиентов и серверов — SvchostEntry_W32Time . |
Тип | Все версии | Указывает, от каких одноранговых узлов следует принимать синхронизацию:
|
Записи NtpClient
Записи подраздела NtpClient
расположены по адресу HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ TimeProviders \ NtpClient
Запись в реестре | Версия | Описание |
---|---|---|
AllowNonstandardModeCombinations | Все версии | Указывает, что нестандартные комбинации режимов разрешены при синхронизации между одноранговыми узлами.Значение по умолчанию для членов домена — 1 . Значение по умолчанию для автономных клиентов и серверов — 1 . |
Совместимость Флаги | Все версии | Указывает следующие флаги и значения совместимости:
|
CrossSiteSyncFlags | Все версии | Определяет, выбирает ли служба партнеров по синхронизации вне домена компьютера. Возможные варианты и значения:
|
DllName | Все версии | Задает расположение библиотеки DLL для поставщика времени. Расположение по умолчанию для этой библиотеки DLL как на членах домена, так и на автономных клиентах и серверах — % windir% \ System32 \ W32Time.dll . |
Включено | Все версии | Указывает, включен ли поставщик NtpClient в текущей службе времени.Значение по умолчанию для членов домена — 1 . Значение по умолчанию для автономных клиентов и серверов — 1 . |
EventLogFlags | Все версии | Задает события, регистрируемые службой времени Windows.
|
Провайдер ввода | Все версии | Указывает, следует ли включить NtpClient в качестве InputProvider, который получает информацию о времени от NtpServer. NtpServer — это сервер времени, который отвечает на запросы времени клиентов в сети, возвращая образцы времени, которые полезны для синхронизации локальных часов. Значение по умолчанию как для членов домена, так и для автономных клиентов — 1 . |
LargeSampleSkew | Все версии | Задает большой перекос выборки для регистрации в секундах. В соответствии со спецификациями Комиссии по безопасности и обмену (SEC) это должно быть установлено на три секунды. События будут регистрироваться для этого параметра только в том случае, если EventLogFlags явно настроен на перекос большой выборки 0x2. Значение по умолчанию для членов домена — 3. Значение по умолчанию для автономных клиентов и серверов — 3. |
ResolvePeerBackOffMaxTimes | Все версии | Задает максимальное количество удвоений интервала ожидания при повторных попытках найти одноранговый узел для синхронизации с ошибкой.Нулевое значение означает, что интервал ожидания всегда минимален. Значение по умолчанию для членов домена — 7 . Значение по умолчанию для автономных клиентов и серверов — 7 . |
ResolvePeerBackoffMinutes | Все версии | Задает начальный интервал ожидания в минутах перед попыткой найти одноранговый узел для синхронизации. Значение по умолчанию для членов домена — 15 . Значение по умолчанию для автономных клиентов и серверов — 15 . |
SpecialPollInterval | Все версии | Задает специальный интервал опроса в секундах для одноранговых узлов, выполняемых вручную. Когда установлен флаг SpecialInterval 0x1, W32Time использует этот интервал опроса вместо интервала опроса, определяемого операционной системой. Значение по умолчанию для членов домена — 3600 . Значение по умолчанию для автономных клиентов и серверов — 604 800 . Новое для сборки 1703, SpecialPollInterval содержится в значениях реестра MinPollInterval и MaxPollInterval Config. |
SpecialPollTimeRemaining | Все версии | Поддерживается W32Time. Он содержит зарезервированные данные, которые используются операционной системой Windows. Он указывает время в секундах до того, как W32Time выполнит повторную синхронизацию после перезагрузки компьютера. Любые изменения этого параметра могут привести к непредсказуемым результатам. Значение по умолчанию как для членов домена, так и для автономных клиентов и серверов остается пустым. |
Записи NtpServer
Записи подраздела NtpClient
расположены по адресу HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ TimeProviders \ NtpServer
.
Запись в реестре | Версии | Описание |
---|---|---|
AllowNonstandardModeCombinations | Все версии | Указывает, что нестандартные комбинации режимов разрешены при синхронизации между клиентами и серверами. Значение по умолчанию для членов домена — 1 . Значение по умолчанию для автономных клиентов и серверов — 1 . |
DllName | Все версии | Задает расположение библиотеки DLL для поставщика времени.Расположение по умолчанию для этой библиотеки DLL как на членах домена, так и на автономных клиентах и серверах — % windir% \ System32 \ W32Time.dll . |
Включено | Все версии | Указывает, включен ли поставщик NtpServer в текущей службе времени. Значение по умолчанию для членов домена — 1 . Значение по умолчанию для автономных клиентов и серверов — 1 . |
InputProvider | Все версии | Указывает, следует ли включить NtpClient в качестве InputProvider, который получает информацию о времени от NtpServer.NtpServer — это сервер времени, который отвечает на запросы времени клиентов в сети, возвращая образцы времени, которые полезны для синхронизации локальных часов. Значение по умолчанию как для членов домена, так и для автономных клиентов: 1 | .
Расширенное ведение журнала
Следующие записи реестра не являются частью конфигурации W32Time по умолчанию, но могут быть добавлены в реестр для получения расширенных возможностей ведения журнала. Информация, регистрируемая в журнале системных событий, может быть изменена путем изменения значений параметра EventLogFlags в редакторе объектов групповой политики.По умолчанию служба времени Windows регистрирует событие каждый раз, когда переключается на новый источник времени.
Чтобы включить ведение журнала W32Time, добавьте следующие записи реестра:
Запись | Версии | Описание |
---|---|---|
FileLogEntries | Все версии | Управляет количеством записей, созданных в файле журнала времени Windows. Значение по умолчанию — none, что не регистрирует никаких действий Windows Time.Допустимые значения: от 0 до 300 . Это значение не влияет на записи журнала событий, обычно создаваемые Windows Time | .
FileLogName | Все версии | Управляет расположением и именем файла журнала времени Windows. Значение по умолчанию пусто, и его не следует изменять, если не будет изменен FileLogEntries . Допустимое значение — это полный путь и имя файла, которые Windows Time будет использовать для создания файла журнала. Это значение не влияет на записи журнала событий, обычно создаваемые Windows Time. |
Размер файлаLogSize | Все версии | Управляет циклическим ведением журнала файлов журнала времени Windows. Если FileLogEntries и FileLogName определены, определяет размер в байтах, позволяющий достичь файла журнала перед перезаписью самых старых записей журнала новыми записями. Используйте для этого параметра значение 1000000 или больше. Это значение не влияет на записи журнала событий, обычно создаваемые Windows Time. |
Параметры объекта групповой политики
Параметры групповой политикисодержатся в объектах групповой политики Global Configuration Settings и Windows NTP Client Settings .
Глобальные параметры конфигурации
Это глобальные параметры групповой политики и значения по умолчанию для службы времени Windows. Эти параметры содержатся в глобальных параметрах конфигурации GPO в редакторе локальной политики.
Параметр групповой политики | Значение по умолчанию |
---|---|
ОбъявлениеФлаги | 10 |
EventLogFlags | 2 |
FrequencyCorrectRate | 4 |
Период удержания | 5 |
LargePhaseOffset | 1 280 000 |
LocalClockDispersion | 10 |
MaxAllowedPhaseOffset | 300 |
MaxNegPhaseCorrection | 54000 (15 часов) |
MaxPollInterval | 15 |
MaxPosPhaseCorrection | 54000 (15 часов) |
MinPollInterval | 10 |
PhaseCorrectRate | 7 |
PollAdjustFactor | 5 |
SpikeWatchPeriod | 90 |
Интервал обновления | 100 |
Настройки клиента Windows NTP
Это настройки клиента Windows NTP и значения по умолчанию для службы времени Windows.Эти параметры содержатся в Настроить Windows NTP Client GPO в редакторе локальной групповой политики.
Параметр групповой политики | Значение по умолчанию |
---|---|
NtpServer | time.windows.com , 0x1 |
Тип | NTP — использовать для компьютеров, не присоединенных к домену NT5DS — использовать для компьютеров, присоединенных к домену |
CrossSiteSyncFlags | 2 |
ResolvePeerBackoffMinutes | 15 |
ResolvePeerBackoffMaxTimes | 7 |
SpecialPollInterval | 3 600 |
EventLogFlags | 0 |
См. RFC 1305 — Протокол сетевого времени Инженерной группы Интернета (IETF).
Лучшие практики для служб NTP
Протокол сетевого времени (NTP) синхронизирует время компьютера-клиента или сервера с другим сервером или в пределах нескольких миллисекунд от всемирного координированного времени (UTC). Серверы NTP, долгое время считавшиеся основной службой Интернета, в последнее время стали использоваться для усиления крупномасштабных распределенных атак типа «отказ в обслуживании» (DDoS). Хотя в 2016 году не произошло заметного роста частоты DDoS-атак, согласно отчету Akamai State of the Internet / Security, за последние 12 месяцев произошли одни из самых крупных DDoS-атак.Одна из проблем, которую использовали злоумышленники, — это ненадлежащие серверы NTP. В 2014 году насчитывалось более семи миллионов серверов NTP, которыми злоупотребляли. Согласно статье в ACM, опубликованной в январе 2015 года, в результате обновлений программного обеспечения, исправления файлов конфигурации или того простого факта, что интернет-провайдеры и IXP решили блокировать трафик NTP, количество серверов, которые могут быть использованы для злоупотреблений, сократилось почти на 99 процентов за несколько месяцев. Очередь . Но есть еще над чем поработать. Для создания DDoS-атаки в диапазоне 50–400 Гбит / с требуется всего 5000 серверов NTP, которые могут быть неправомерно использованы.В этом сообщении блога я исследую проблемы NTP и рекомендую некоторые передовые методы обеспечения точного времени с помощью этого протокола.
Как работает NTP
Закон Сигала гласит:
Человек с часами знает, который час. Человек с двумя часами никогда не уверен.
Ученый-компьютерщик Дэвид Л. Миллс создал NTP в начале 1980-х для синхронизации компьютерных часов со стандартным отсчетом времени.С момента создания NTP группа добровольцев из проекта пула NTP поддерживала большой общедоступный «виртуальный кластер серверов времени, обеспечивающий надежную простую в использовании службу NTP для миллионов клиентов» по всему миру для многих дистрибутивов Linux и сетевых устройств.
Как подробно описано на NTP.org, NTP работает иерархически, передавая время от одного слоя к другому. Например, Stratum 0 служит эталонными часами и является наиболее точным и высокоточным сервером времени (например,g., атомные часы, часы GPS и радиочасы.) Серверы Stratum 1 берут свое время с серверов Stratum 0 и так далее до Stratum 15; Часы Stratum 16 не синхронизируются ни с одним источником. Время на клиенте устанавливается путем обмена пакетами с одним или несколькими слоями серверов. Эти пакеты помещают временные метки в каждое сообщение, и время, необходимое для передачи сообщений, является факторами в алгоритме для установления консенсуса в отношении времени, которое должно быть на клиенте.
NTP может предоставить точный источник времени через консенсус с несколькими серверами ввода.Он также может определить, какие из доступных серверов времени неточны. Одна из проблем заключается в том, что NTP был создан в то время, когда интернет-сообщество было более дружелюбным. Во время создания NTP серверы NTP не занимались проверкой пользователей. В начале 80-х годов прошлого века NTP-серверы были общедоступными в качестве ресурса, который разработчики могли использовать для устранения неполадок и подтверждения своего собственного решения NTP.
Стандартным протоколом для NTP является протокол дейтаграмм пользователя (UDP). Это дизайнерское решение создало возможности для злоупотреблений.UDP, который не требует установления соединения, является протоколом с максимальными усилиями и, следовательно, более подвержен спуфингу и потере пакетов, чем протокол управления передачей (TCP). В то время как добровольцы проекта пула NTP продолжали продвигать NTP, мотивация для многих сетевых администраторов и владельцев бизнеса исправлять свое собственное оборудование не так сильна. С момента своего создания сетевой протокол NTP был интегрирован в бесчисленное количество систем, многие из которых не были исправлены и могли запускать код старше 20 версий.
Атаки, связанные с уязвимостями NTP
Кори Доктороу недавно написал о возможных последствиях устаревшего протокола NTP для Boing / Boing:
NTP — это то, как практически каждый компьютер, с которым вы взаимодействуете, поддерживает точность своих часов, что является функцией настолько фундаментальной для функционирования Интернета, что ее невозможно переоценить … Более того, уязвимости в NTP во много раз перевернули Интернет. -серверы в силу-множители для атак типа «отказ в обслуживании», превращая простые карающие атаки в практически неудержимые.
Метод, использованный для недавних DDoS-атак, основан не на уязвимостях, а на плохой конфигурации. Службы NTP отвечают на запрос списка отслеживаемых серверов. Один небольшой запрос с поддельным источником может сгенерировать список из 600 серверов и быть отправлен на цель. Даже при отсутствии уязвимости, когда сотни или тысячи этих серверов перенаправляются на невольную цель, жертвы не заботятся о семантике проблемы, причиняющей им боль; они просто хотят облегчения.
Синхронизация времени в системах или ее отсутствие может быть существенным фактором, способствующим возникновению уязвимостей, которые могут поставить под угрозу основные функции системы. В дополнение к злоупотреблениям NTP, способствующим DDoS-атакам, отсутствие синхронизации времени в сети создает возможность для атак повторного воспроизведения (т. Е. Атак воспроизведения), связанных с поддельной или злонамеренной повторяющейся задержкой аутентичной передачи данных.
Например, атака воспроизведения может произойти, когда пользователь пытается предоставить подтверждение личности другому пользователю.Злоумышленник посередине перехватит сообщение и не даст ему добраться до намеченной цели. Затем злоумышленник отправляет запрос на подтверждение личности и включает украденное доказательство в качестве подтверждения. Если время не синхронизировано, окно, в котором разрешен обмен, может быть увеличено сверх того, что считается безопасным, и допускает уловку. В результате допустимые пользователи могут быть обмануты, думая, что они успешно подтвердили личность самозванца, выдающего себя за законного пользователя.Честно говоря, этот тип атаки с воспроизведением является необычным и чрезвычайно сложным для успешного выполнения без доступа к сети, пути связи и скомпрометированной машине на этом пути.
Многие эксперты по безопасности, такие как Шон Келли, отмечали, что NTP использовался для управления журналами и изменения времени в компьютерной системе, изменяя последовательность событий. Когда часы не синхронизированы, сетевым аналитикам гораздо труднее выполнять корреляцию журналов в разрозненных системах.Манипуляции с NTP могут значительно затруднить идентификацию сетевых действий и последовательности событий, ведущих к атаке.
Другие приложения, которые могут оказаться под угрозой из-за того, что время не работает должным образом, включают высокоскоростную торговлю и камеры видеонаблюдения. Многие чувствительные ко времени алгоритмы шифрования, включающие обмен ключами и токенами, также подвержены риску из-за недостатков NTP.
Лучшие практики NTP
В оставшейся части этого поста подробно описаны передовые методы настройки вашего собственного NTP-сервера и запроса общедоступного NTP-сервера.
Используйте общедоступный NTP для внешних хостов. Если предприятие создает возможности, службы или другие встроенные платформы, которые предназначены для развертывания за пределами предприятия, сетевые администраторы могут рассмотреть возможность запроса общедоступного сервера NTP из пула доступных серверов, упомянутого ранее.
Важно отметить, что большинство общедоступных серверов NTP определяют правила взаимодействия. Если у предприятия есть несколько устройств внутри предприятия, которые будут использовать NTP, имеет смысл настроить собственную иерархию для синхронизации, вместо того, чтобы конкурировать за доступ к общедоступным серверам.
Настройте собственную внутреннюю иерархическую службу NTP для вашей сети. Можно приобрести устройства NTP Stratum 1 или Stratum 0 для внутреннего использования по цене, меньшей стоимости типичного сервера. Также можно настроить частный сервер NTP по очень низкой цене. Возможность создания готового коммерческого NTP-сервера подтверждается недавней попыткой настроить компьютер Raspberry Pi в качестве сервера Stratum-1. Если вы все же решите настроить свою собственную, обратите внимание на следующие рекомендации:
- Стандартизация по времени UTC. В рамках предприятия стандартизируйте все системы на всемирное координированное время (UTC). Стандартизация в формате UTC упрощает корреляцию журналов внутри организации и с внешними сторонами, независимо от того, в каком часовом поясе находится синхронизируемое устройство.
- Защита сетевой службы времени. Ограничьте команды, которые можно использовать на стратум-серверах. Не разрешать публичные запросы к stratum-серверам. Разрешить только известным сетям / хостам связываться с их соответствующими серверами уровня.
- Учитывайте потребность бизнеса в криптографии. Многие администраторы пытаются защитить свои сети с помощью зашифрованной связи и зашифрованной аутентификации. Я хотел бы сделать здесь примечание предостережения, потому что, хотя существуют криптографические службы, связанные с NTP для защиты связи NTP, использование шифрования вводит больше источников для проблем, таких как требование управления ключами, а также требует более высоких вычислительных затрат.
- Помните закон Сигала. В идеале было бы неплохо иметь три или более серверов Stratum 0 или Stratum 1 и использовать эти серверы в качестве основных мастеров. Помните закон Сигала: наличие двух серверов NTP затрудняет определение точного из них. Два сервера Stratum 0 предоставят более точную метку времени, потому что они используют источник времени, который считается окончательным.
Наличие трех или более источников времени позволит сети поддерживать точное время даже в случае отказа одного из основных мастеров.В идеале серверы NTP должны быть расположены в трех географически разных местах. Эта группа основных мастеров будет источником времени для предприятия. Они будут считаться скрытыми мастерами, потому что они будут предоставлять услуги только серверам вторичного слоя. Такая конфигурация позволит этим серверам предоставлять время совместно размещенным вторичным мастерам, которые фактически предоставляют услуги организации. Основные мастера остаются скрытыми и доступны только инфраструктуре NTP, которая предоставляет услуги в другом месте.Эта цепочка поставок должна позволить вам предоставлять точное время в вашей организации и иметь несколько источников, подтверждающих точный источник времени.
В местах, где есть больше устройств, которым требуется синхронизация времени, можно добавить дополнительные серверы Stratum 2 или Stratum 3 и заставить их полагаться на вторичных мастеров, а также друг друга для дальнейшего распределения нагрузки на систему и предоставления услуг более широкой группе Клиенты NTP.
За счет настройки внутренней службы NTP на последней версии стабильного кода и стандартизации ее использования становится труднее кооптировать жизнеспособность сетевых атак, основанных на времени, или процессов, которые зависят от времени.Идентификация порядка событий при взломе становится проще, потому что время в журналах теперь может быть системой записи. Для правоохранительных органов и других следственных органов точные услуги НПТ могут быть очень конструктивными при оценке доказательств и упорядочении цепочки событий.
Подводя итоги и заглядывая в будущее
По мере того, как атаки становятся все более изощренными, наша команда сетевых аналитиков в CERT все чаще находит доступные в Интернете сервисы, которые плохо развернуты в сети.Как написал Марк Лэнгстон в своей недавней публикации на тему «Лучшие практики DNS», многие из этих сервисов составляют основу безопасности и работы внутренних и внешних сетевых приложений.
Это последняя из серии сообщений в блогах, предлагающих передовые методы работы с этими основополагающими структурами, чтобы помочь правительственным учреждениям и другим предприятиям устранять скрытые источники уязвимостей в своих сетях. Руководитель нашей группы Рэйчел Картч опубликовала первую публикацию из этой серии «Распределенные атаки типа« отказ в обслуживании »: четыре передовых метода предотвращения и реагирования».
Мы будем рады вашим отзывам в разделе комментариев ниже.
Дополнительные ресурсы
Прочтите сообщение в блоге Марка Лэнгстона Шесть передовых методов защиты надежной инфраструктуры системы доменных имен (DNS) .
Прочтите сообщение в блоге Рэйчел Картч Распределенные атаки отказа в обслуживании: четыре передовых метода предотвращения и реагирования .
Синхронизация сетевого времени с использованием NTP
Большинство людей полагают, что компьютерные часы на серверах, рабочих станциях и сетевых устройствах по своей природе точны.Это неверно. Большинство этих часов устанавливаются вручную с точностью до минуты или двух от фактического времени и после этого редко проверяются. Многие из этих часов обслуживаются устройством с батарейным питанием, которое может дрейфовать до секунды в день. Иметь какую-либо точную синхронизацию времени невозможно, если этим часам разрешено работать самостоятельно.
Важность синхронизации времени для вашей сети
В современных компьютерных сетях синхронизация времени имеет решающее значение, потому что каждый аспект управления, защиты, планирования и отладки сети включает определение того, когда происходят события.Время также является единственной системой отсчета между всеми устройствами в сети. Без синхронизации времени точное сопоставление файлов журналов между этими устройствами затруднительно, даже невозможно. Также:
- Отслеживание нарушений безопасности, использования сети или проблем, затрагивающих большое количество компонентов, может быть практически невозможно, если временные метки в журналах неточны. Время часто является критическим фактором, позволяющим сопоставить событие на одном сетевом узле с соответствующим событием на другом.
- Чтобы уменьшить путаницу в совместно используемых файловых системах, важно, чтобы время модификации было согласованным, независимо от того, на какой машине находятся файловые системы.
- Биллинговые службы и аналогичные приложения должны точно знать время.
- Некоторые финансовые услуги требуют очень точного хронометража по закону. Правила
- Сарбейнса-Оксли и HIPAA требуют точной метки времени.
Один из способов синхронизации сетевого времени
Сетевой протокол времени (NTP) долгое время был лидером в области программного обеспечения для установки времени.Некоторые компании решают проблему синхронизации своих сетей, используя NTP для выхода в Интернет, чтобы получить время с общедоступного Интернет-сервера времени. Но этот подход представляет собой проблему безопасности, потому что в брандмауэре должна быть открыта «дыра» (порт UDP 123), чтобы пропускать пакеты, содержащие информацию о времени.
Сетевые устройства синхронизации времени
Лучший способ синхронизации сетевого времени
Выделенный сетевой сервер времени за вашим брандмауэром защищает вас от угроз безопасности, связанных с получением времени в Интернете.Кроме того, сетевой сервер времени в вашей локальной сети может надежно поддерживать синхронизацию всех серверов, рабочих станций и сетевых устройств с точностью от 1/2 до 2 миллисекунд (обычно). Это намного лучше, чем точность синхронизации в несколько десятков миллисекунд, которую вы обычно получаете от сервера времени в Интернете.
Компания EndRun Technologies специализируется на производстве высококачественных серверов времени. Если вы ИТ-администратор, заинтересованный в синхронизации времени и в поддержании высокого уровня безопасности в вашей сети, щелкните здесь для получения дополнительной информации.
Синхронизация времени с NTP
Обзор
NTP (сетевой протокол времени) обеспечивает точное и синхронизированное время через Интернет. В этой вводной статье мы попытаемся показать вам, как использовать NTP для контролировать и синхронизировать системные часы.
Первый подход
NTP организован по иерархической модели клиент-сервер.В верхней части В этой иерархии существует небольшое количество машин, известных как эталонных часов . А эталонные часы известны как stratum 0 и обычно представляют собой цезиевые часы или глобальная система позиционирования (GPS), которая получает время со спутников. Прикрепил к этим машинам относятся так называемые серверы уровня 1 (то есть уровень 0 клиенты), которые являются серверами времени верхнего уровня, доступными в Интернете, то есть они являются лучшими доступными серверами NTP.
Примечание : в жаргоне NTP мера расстояния синхронизации обозначается как stratum: количество шагов, на которые система лежит от первичного источника времени.
Следуя этой иерархии, следующим уровнем в структуре является слой 2 серверы, которые, в свою очередь, являются клиентами для серверов уровня 1 . Самый низкий уровень иерархию составляют страта 16 серверов. Вообще говоря, каждый сервер синхронизированный с уровнем n Сервер определяется как находящийся на уровне n + 1 уровень.Итак, есть несколько серверов уровня 1, на которые ссылаются серверы уровня 2, которые, в свою очередь, обслуживаются серверами уровня 3, на которые ссылается слой 4 и т. д. на.
NTP-серверы, работающие в одном слое, могут быть связаны с другими в одноранговом узле. равноправной основе, поэтому они могут решить, у кого больше времени, и затем могут синхронизировать максимально точно.
В дополнение к модели клиент-сервер и одноранговой модели сервер может время широковещательной рассылки на широковещательные или многоадресные IP-адреса, и клиенты могут быть настроены на синхронизировать с этими сигналами времени вещания.
Итак, на данный момент мы знаем, что клиенты NTP могут работать с серверами NTP за три способы:
- в клиент-серверной основе
- в одноранговом режиме
- отправка времени с помощью широковещательной / многоадресной передачи
Как это работает
Каждый раз, когда ntpd запускается, он проверяет свой файл конфигурации (/etc/ntp.conf), чтобы определить источники синхронизации, аутентификацию параметры, параметры мониторинга, контроль доступа и другие параметры управления.Он также проверяет файл частот (/ etc / ntp / drift), содержащий последняя оценка ошибки тактовой частоты. Если указано, он также будет искать файл содержащий ключи аутентификации (/ etc / ntp / keys).
Обратите внимание на , что путь и / или имя этих файлов конфигурации могут отличаться в зависимости от вашего система. Проверьте параметр командной строки -c .
После того, как демон NTP запущен, он будет работать, обмениваясь пакетами (время и обмены проверки работоспособности) с его настроенными серверами с интервалами опроса и его поведением будет зависеть от задержки между местным временем и его опорными серверами.В основном Процесс запускается, когда клиент NTP отправляет серверу пакет, содержащий свою метку времени. Когда сервер получает такой пакет, он, в свою очередь, сохраняет свою собственную метку времени и передать метку времени в пакет и отправить обратно клиенту. Когда клиент получает пакет, он регистрирует время его получения, чтобы оценить время в пути пакета.
Обмен пакетами происходит до тех пор, пока сервер NTP не будет принят в качестве синхронизации. источник, которые занимают около пяти минут.Демон NTP пытается настроить часы в небольшом шагов и будет продолжаться до тех пор, пока клиент не получит точное время. Если задержка между и сервер, и клиент достаточно велики, демон прекратит работу, и вам нужно будет настройте время вручную и снова запустите демон.
Пример файла конфигурации ntp.conf
сервер 134.214.100.6
сервер swisstime.ee.ethz.chpeer 192.168.100.125
peer 192.168.100.126
peer 192.168.100.127driftfile / etc / ntp / drift
#multicastclient # слушать по умолчанию 224.0.1.1
#broadcastdelay 0.008Authenticate no # ключи / etc / ntp / keys
#trustedkey 65535
#requestkey 65535
#controlkey 65535# по умолчанию игнорировать все пакеты ntp
ограничить 0.0.0.0 mask 0.0.0.0 ignore# allow localhost
restrict 127.0.0.1 mask 255.255.255.255# accept packets from …
restrict 192.168.100.125 mask 255.255.255.255
restrict 192.168.100.126 mask 255.255.255.255
ограничить маску 192.168.100.127 255.255.255.255Просмотрите ссылки ниже, чтобы понять варианты конфигурации.
Список литературы
Основы NTP
NTP означает протокол сетевого времени, и это Интернет-протокол, используемый для синхронизации часов компьютеров по некоторой временной привязке.NTP — это стандартный протокол Интернета, первоначально разработанный профессором Дэвидом Л. Миллсом. в Университете Делавэра.
SNTP (простой протокол сетевого времени) в основном также NTP, но не имеет некоторых внутренних алгоритмов, которые не нужны для всех типов серверы.
Время обычно идет вперед. Если у вас есть общение программы, работающие на разных компьютерах, время все равно должно идти вперед, если вы переключитесь с с одного компьютера на другой.Очевидно, что если одна система опережает другие, другие за этим конкретным. С точки зрения внешнего наблюдателя переключение между эти системы заставили бы время прыгать вперед и назад, что нежелательно.
Как следствие, изолированные сети могут работать самостоятельно. неправильное время, но как только вы подключитесь к Интернету, эффекты будут видны. Просто представьте, что какое-то сообщение электронной почты пришло за пять минут до его отправки, и даже было ответить за две минуты до отправки сообщения.
NTP нужны некоторые эталонные часы, которые определяют Истинное время для работы. Все часы настроены на это истинное время. (Это не просто сделает все системы согласовывают какое-то время, но заставляют их согласовывать истинное время, как оно определено по какому-то стандарту.)
NTP использует UTC в качестве опорного времени
NTP — это отказоустойчивый протокол, который автоматически выбирает лучший из нескольких доступных источников времени для синхронизации.Несколько кандидатов могут быть объединены, чтобы минимизировать накопленную ошибку. Временно или постоянно безумные источники времени будут обнаружены и предотвращены.
NTP обладает высокой масштабируемостью: сеть синхронизации может состоять из нескольких эталонных часов. Каждый узел такой сети может обмениваться временем информация либо двунаправленная, либо однонаправленная. Время распространения от одного узла к другой формирует иерархический граф с эталонными часами вверху.-32 секунды). (Популярный протокол, используемый rdate и определенный в [RFC 868], использует только разрешение одну секунду).
Даже при временном подключении к сети недоступен, NTP может использовать измерения из прошлого для оценки текущего времени и ошибка.
UTC (всемирное координированное время, универсальные временные интервалы) Coordonné) является официальным стандартом в настоящее время.UTC эволюционировал из бывшего GMT (Среднее время по Гринвичу), которое когда-то использовалось для установки часов на кораблях перед их отплытием. для дальнего путешествия. Позже GMT было принято в качестве мирового стандартного времени. Один из Причина, по которой GMT было заменено официальным стандартным временем, заключалась в том, что оно основывалось на по среднему солнечному времени. Новые методы измерения времени показали, что среднее солнечное время сильно различается сам по себе. Следующий список объяснит основные компоненты UTC:
Universal означает, что время можно использовать повсюду в мире, что означает, что он не зависит от часовых поясов (т.е. это не местное время). Чтобы преобразовать UTC в местное время, нужно добавить или вычесть местное время. часовой пояс.
Скоординированный означает, что несколько учреждений вносят свою оценку текущего времени, и UTC строится путем объединения этих оценки.
NTP в Unix и Windows 2000
В этом примере мы показываем, как синхронизировать ваш Linux, Solaris и Windows 2000 Server (основной контроллер домена) с общедоступным временем NTP Сервер: swisstime.ethz.ch
swisstime.ethz.ch (129.132.2.21)
Расположение: Лаборатория интегрированных систем, Федеральная резервная система Швейцарии. Inst. of Technology,
CH 8092 Zurich, Switzerland
Географические координаты: 47: 23N, 8: 32E
Синхронизация: первичный NTP (часы DCF77), Sun-4 / SunOS 4.1.4
Зона обслуживания: Швейцария / Европа
Политика доступа: открытая доступ
Контактное лицо: Кристоф Викки ([email protected])
в Unix
Клиентская программа NTP ntpdate устанавливает систему часы один раз.Поскольку реальные часы дрейфуют, вам необходимо периодически корректировать их. В принципе, вы можете бежать ntpdate в задании cron ежечасно или ежедневно, но ваша машина не будет NTP-сервером тогда.
Запись в Crontab для обновления системных часов один раз день
0 2 * * * / usr / sbin / ntpdate -s -b -p 8 -u 129.132.2.21
Принудительно установить время с помощью settimeofday () вместо системного вызова с поворотом (по умолчанию) с помощью системного вызова adjtime ().Этот параметр следует использовать при вызове из файла запуска во время загрузки.
Укажите количество образцов, которые нужно взять из каждый сервер в виде целочисленных выборок со значениями от 1 до 8 включительно. По умолчанию 4.
Отклонить вывод журнала от стандартного вывода (по умолчанию) в системный журнал. Это сделано в первую очередь для удобства cron скрипты.
Direct ntpdate для использования непривилегированного порта или исходящие пакеты. Это наиболее полезно, когда за брандмауэром, который блокирует входящий трафик к привилегированным портам, и вы хотите выполнить синхронизацию с хостами за пределами брандмауэра. Примечание что опция -d всегда использует непривилегированные порты.
Прежде всего, вам необходимо скачать исходники NTP из www.ntp.org. В RedHat Linux 7.0 / 7.1 NTP-сервер ntpd уже включен в раздачу.
NTP-сервер ntpd узнает и запомнит дрейф часов, и он исправит его автономно, даже если нет доступного сервера. Таким образом, можно избежать больших шагов часов, пока машина синхронизируется с некоторыми эталонные часы. Кроме того, ntpd будет поддерживать оценки ошибок и статистику, а также наконец, он может предложить сервис NTP для других машин.
start () {
# Настроить время, чтобы облегчить жизнь ntpd
if [-f / etc / ntp / step-tickers]; затем
echo -n $ «Синхронизация с сервером времени:»
/ usr / sbin / ntpdate -s -b -p 8 -u \
`/ bin / sed -e ‘s /#.*//’ / etc / ntp / step-tickers`
success
echo
fi
# Запустить демонов.
echo -n $ «Запуск программы $:»
демон ntpd
RETVAL = $?
echo
[$ RETVAL -eq 0] && touch / var / lock / subsys / ntpd
return $ RETVAL
}
129.132.2.21
сервер 127.127.1.0 # локальные часы
server 129.132.2.21 # swisstime.ethz.ch (stratum 1)
driftfile / etc / ntp / drift
multicastclient # слушать по умолчанию 224.0.1.1
задержка трансляции 0,008
# /etc/rc.d/init.d/ntpd start
Одна из самых быстрых команд для проверки того, что ntpd все еще работает и работает по желанию: ntpq -p .Эта команда покажет все одноранговые узлы используются и настраиваются вместе со своими угловыми данными о производительности.
# ntpq -p
удаленный refid st t при опросе
джиттер смещения задержки
============================================= ========================
МЕСТНОЕ (0) МЕСТНОЕ (0) 3 л
9 64 377 0,000 0,000 0,000
* swisstime.ethz. .DCFa. 1 u 17 64 377
25.088 -10.040 1.071
Чтобы получить текущий список одноранговых узлов сервера, со сводкой состояния каждого партнера. Сводная информация включает адрес удаленного одноранговый узел, ссылочный идентификатор (0.0.0.0, если он неизвестен), слой удаленного узла, тип партнера (локальный, одноадресный, многоадресный или широковещательный), когда последний пакет был получен, интервал опроса в секундах, регистр доступности в восьмеричном формате и текущая расчетная задержка, смещение и дисперсия однорангового узла, все в миллисекундах.
# ntpq -c pee swisstime.ethz.ch
удаленный refid st t при достижении опроса
джиттер смещения задержки
============================================== ======================
* GENERIC (0) .DCFa. 0 л 14
16 377 0,000 0,126 0,170
МЕСТНОЕ (0) МЕСТНОЕ (0) 6 л
13 64 377 0,000 0,000 10,010
sns2-tss2.unige lantime 2 u 323 1024 377
11.000 0,014 1,770
+ nz11.rz.uni-kar .DCF. 1 u 40 64 376
353.290 18.088 17.120
xjane.planNET.de .DCFa. 1 ед. 80 256 377 125,050
-38.018 0.210
+ sombrero.cs.tu- .GPS. 1 u 49 64
377 36,070 1,159 0,790
# ntpdc
ntpdc> пиров
Убедитесь, что есть запись для swisstime.ethz.ch, и что есть запись для вашей локальной сети. «St» (слой) столбец для серверов времени ITD должен быть «1» или «2», указывая, что серверы времени stratum-1/2 сервера, e.грамм. они получают свое время от серверов уровня 1, которые напрямую подключен к внешним источникам привязки времени. Если страта для любого сервера — «16», то этот сервер не синхронизируется успешно.
удаленный
смещение задержки достижения локального опроса
disp
================================================ ====================
= МЕСТНОЕ (0)
127.0.0.1 3 64 377 0.00000 0.000000
0,00095
= космос.hsz.akad 5.0.0.0 16 64
0 0,00000 0,000000 0,00000
* swisstime.ethz. 192.168.138.29 1 128 377 0,02658 -0,001197
0,00215
на рабочей станции Windows 2000
Windows 2000 (Windows 2000) использует службу времени, известную как Служба синхронизации времени Windows (Win32Time), чтобы гарантировать, что все компьютеры Windows 2000 на ваша сеть использует общее время. Служба W32Time является полностью совместимой реализацией простой протокол сетевого времени (SNTP), как описано в IETF RFC 1769.SNTP использует порт UDP 123 по умолчанию. Если вы хотите синхронизировать свой сервер времени с сервером SNTP на Интернет, убедитесь, что порт доступен.
чистое время /setsntp:swisstime.ethz.ch
чистый старт W32Time
Вы также можете установить параметр запуска Windows Time Служба синхронизации (W32Time) с Автоматически , поэтому служба запускается, когда Windows / 2000 запускается.
Значения реестра находятся в следующем реестре ключ:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Parameters
AvoidTimeSyncOnWan: REG_DWORD (необязательно)
Запрещает синхронизацию компьютера с компьютером, находящимся на другом сайте.
0 = сайт источника времени игнорируется [по умолчанию]
1 = компьютер не синхронизируется с источником времени, который находится в другом сайтGetDcBackoffMaxTimes: REG_DWORD (необязательно)
Максимальное количество раз, чтобы удвоить интервал отсрочки при последовательных попытках найти контроллер домена не удается.Событие регистрируется каждый раз, когда максимальная длина происходит.
0 = время ожидания между последовательными попытками всегда минимально и никаких событий не происходит. зарегистрировано
7 = [по умолчанию]GetDcBackoffMinutes: REG_DWORD (необязательно)
Начальное количество минут ожидания перед поиском контроллера домена, если последняя попытка не удалась. 15 = [по умолчанию]LocalNTP: REG_DWORD
Используется для запуска сервера SNTP.
0 = не запускать сервер SNTP, если этот компьютер не является доменом контроллер [по умолчанию]
1 = всегда запускать сервер SNTPNtpServer: REG_SZ ( swisstime.ethz.ch )
NtpServer: REG_SZ (необязательно) Используется для ручной настройки источника времени. Установите это на DNS-имя или IP-адрес NTP-сервера, с которого выполняется синхронизация. Вы можете изменить это из командной строки с помощью команды net time.По умолчанию значение пустоПериод: REG_DWORD или REG_SZ
Используется для управления частотой синхронизации службы времени. Если строковое значение указан, он должен быть одним из специальных, перечисленных ниже.
0 = один раз в день
65535, «BiDaily» = один раз в 2 дня
65534, «Tridaily» = один раз в 3 дня
65533, «Weekly» = один раз в неделю (7 дней)
65532, «SpecialSkew» = один раз каждые 45 минут до Происходит 3 хороших синхронизации, затем каждые 8 часов (3 в день) [по умолчанию]
65531, «DailySpecialSkew» = каждые 45 минут, пока не произойдет 1 хорошая синхронизация, затем один раз в день
частота = частота раз в деньReliableTimeSource: REG_DWORD (необязательно)
Используется для обозначения точного времени на этом компьютере.
0 = не отмечать этот компьютер как имеющий достоверное время [по умолчанию]
1 = отмечать этот компьютер как имеющий достоверное время (это полезно только в домене контроллер)Тип: REG_SZ
Используется для управления синхронизацией компьютера.
Nt5DS = синхронизировать с иерархией домена [по умолчанию]
NTP = синхронизировать с источником, настроенным вручную
NoSync = не синхронизировать времяПри настройке Nt5DS нельзя использовать источник, настроенный вручную.
Значения Adj и msSkewPerDay используются для сохранения информация о часах компьютера между перезагрузками. Не редактируйте их вручную значения.
Дополнительная информация
Для получения дополнительной информации о NTP в Windows / 2000 см.
http://support.microsoft.com/support/kb/articles/q224/7/99.asp
http://support.microsoft.com/support/kb/articles/q216/7/34.asp
http ://служба поддержки.microsoft.com/support/kb/articles/q223/1/84.asp
http://support.microsoft.com/support/kb/articles/q120/9/44.asp
http://support.microsoft. com / support / kb / article / Q232 / 2 / 55.asp
http://labmice.techtarget.com/windows2000/timesynch.htm
Для получения дополнительной информации о NTP см.
http://www.eecis.udel.edu/~ntp/
Взаимодействие с другими людьми LANTIME — это семейство готовых к работе серверных устройств протокола сетевого времени (NTP) Meinberg, идеально подходящих для синхронизации сетей любого размера.Выбирайте между несколькими различными внешними справочными источниками, такими как глобально доступные спутниковые системы GPS, ГЛОНАСС, в будущем планируется также Beidou и Galileo, Central European DCF77 и IRIG. Даже если желаемое вами место установки препятствует постоянному приему внешних сигналов, наши высокостабильные, свободно работающие часы могут быть развернуты для обеспечения синхронизации вашей сети. Добавьте наши синхронизированные дисплеи NTP, чтобы создать полнофункциональное решение для синхронизации и времени, оптимизированное для таких сред, как диспетчерские или операционные центры. Обзор: доступные типы приемников для серверов времени LANTIME Семейство серверов времени LANTIME NTP компании Meinberg предлагает гибкую высокую производительность, доказанную надежность и расширенные функции безопасности. Благодаря полной поддержке IPv4 / IPv6, подтвержденной при синхронизации времени NTP, а также интерфейсам конфигурации (веб-интерфейс, SSH и SNMP), серверы времени LANTIME предназначены для развертывания в сетях любого размера и отрасли. Пользователи могут назначать несколько IP-адресов, а функция автоматической настройки IP-адресов системы поддерживает автоматическую настройку. Операционная система GNU / Linux для LANTIME SBC (одноплатных компьютеров) оптимизирована для обеспечения высокого уровня безопасности и надежности. Большой дисплей системы показывает состояние подсистемы NTP. Для настройки системы требуется только стандартный веб-браузер для доступа к обширному, но простому интерфейсу html. В качестве альтернативы, текстовая утилита настройки с управлением через меню может быть запущена из командной строки после входа в систему через Telnet или SSH. Встроенные функции безопасности LANTIME гарантируют, что данные синхронизации времени могут быть надежно подписаны и защищены с помощью симметричных ключей (MD5) и процедур автоключей NTP.Клиенты защищены от манипулирования временем и атак типа «злоумышленник в середине», проверяя, что полученные пакеты NTP были отправлены системой LANTIME. Кроме того, вся конфигурация LANTIME может быть выполнена с использованием зашифрованных каналов (например, SSH, HTTPS или SNMPv3). Гибкое управление системой отключает все неиспользуемые или ненужные протоколы, чтобы уменьшить возможные точки атаки. Для поддержки систем управления сетью серверы времени LANTIME предлагают расширенный интерфейс SNMP, доступный через SNMP V1, V2.c и V3. Это позволяет отслеживать все соответствующие параметры системы, включая производительность операционной системы, статистику сетевого интерфейса, подробную информацию о состоянии IRIG, NTP или PTP, а также полную конфигурацию системы. Интерфейс также можно использовать для изменения конфигурации LANTIME с помощью команд установки SNMP. На основе модульной системной архитектуры гибкие серверы времени LANTIME могут быть оснащены до двух дополнительных портов Ethernet, включая дополнительные оптоволоконные сетевые порты.
: Сервер времени NTPIMS — LANTIME M3000 Универсальная модульная платформа для синхронизации времени и частотыLANTIME M3000 — это чрезвычайно гибкая система с возможностью обновления на месте, предназначенная для удовлетворения потребностей синхронизации сегодня и в будущем.Шасси M3000 имеет слоты для четырех блоков питания, двух модулей синхронизации, платы плавного переключения, ЦП и десяти дополнительных модулей ввода и вывода. С добавлением второго модуля синхронизации и необходимого модуля переключения RSC, M3000 становится полностью избыточным решением для критически важных приложений. Можно установить до четырех блоков питания, что повысит надежность и обеспечит защиту от выхода из строя одного или нескольких источников питания. Модели источников питания переменного тока с широким диапазоном и 20–60 В постоянного тока могут быть смешаны и согласованы в соответствии с требованиями пользователя, в зависимости от вариантов источника питания, доступных на месте установки. M3000 является гибким и масштабируемым, он поддерживает ряд модулей ввода и вывода, а также специализированные коммуникационные карты для сетевой синхронизации и удаленного управления NTP и PTP / IEEE1588. Эта адаптируемая высокопроизводительная платформа идеально подходит для долгосрочного развертывания с возможностью масштабируемого расширения, которая может легко справиться с растущими требованиями критически важных приложений. IMS — LANTIME M2000SМодульная платформа для синхронизации времени и частоты в стойке 2U Универсальное и модульное решение для приложений синхронизации времени и частоты в компактном корпусе 2RU Новый LANTIME M2000S — это чрезвычайно гибкая система с возможностью обновления на месте, которая удовлетворяет ваши потребности в синхронизации — сегодня и в будущем.Обновление до большего количества выходов, новых типов разъемов, сигналов и протоколов стало проще, чем когда-либо, с платформой интеллектуальной модульной синхронизации Meinbergs (IMS). Модели IMS LANTIME S являются альтернативой для прикладных сред, в которых дисплей с функциональными клавишами не требуется для настройки на месте. Это позволяет устанавливать варианты корпуса S в стойки, доступ к которым возможен только с одной стороны. Шасси LANTIME M2000S можно устанавливать как в 19-дюймовые стойки, так и в 21-дюймовые стойки (с адаптером).Уменьшенная монтажная глубина шасси S позволяет устанавливать систему в 300-миллиметровые стойки ETSI. Все соединения и элементы управления расположены с одной стороны, что позволяет установить это шасси на стене или внутри стойки, доступной только с одной стороны. Базовое шасси M2000S поставляется с тремя слотами для блоков питания, двумя слотами для модулей синхронизации, слотом ЦП и шестью слотами для дополнительных модулей ввода и вывода. Добавление второго модуля часов превратит M2000S в решение с полным резервированием. Можно установить до трех блоков питания, которые обеспечивают высокий уровень защиты от выхода из строя одного или нескольких источников питания и отказов питания.Модели источников питания переменного и постоянного тока с широким диапазоном частот можно комбинировать друг с другом при необходимости. IMS — LANTIME M1000 Платформа синхронизации времени и частоты в стойке 1ULANTIME M1000 предлагает высокопроизводительную синхронизацию времени и частоты в тонком шасси высотой 1U, включая слоты для двух блоков питания, двух дополнительных модулей синхронизации и ЦП. Гибкий M1000 также предлагает до четырех слотов для дополнительных модулей ввода и вывода или до трех слотов в случае второй опорной частоты. С добавлением второго модуля синхронизации и второго источника питания M1000 становится полностью избыточным решением для критически важных приложений. Модели источников питания переменного тока с широким диапазоном и 20-60 В постоянного тока могут быть смешаны и согласованы в соответствии с требованиями конечного использования, в зависимости от вариантов источника питания, доступных на месте установки. IMS — LANTIME M500 Модульная синхронизация времени и частоты в шасси для монтажа на DIN-рейкуПолнофункциональная платформа для синхронизации времени и частоты, устанавливаемая на DIN-рейку, включает слоты для источника питания, модуля синхронизации и ЦП; два дополнительных слота предназначены для работы с различными модулями ввода и вывода.Доступны модели с широкодиапазонным источником питания переменного или постоянного тока. LANTIME M900 Синхронизация времени и частоты в шасси 3ULANTIME M900 — это сервер времени NTP в корпусе 3U, предлагающий широкий диапазон входов и выходов времени и частоты для надежной синхронизации. Встроенные эталонные часы M900 включают в себя выбираемые источники времени, такие как GPS, ГЛОНАСС, местные радиосигналы времени и многое другое, что позволяет использовать универсальную платформу для индивидуальной синхронизации времени и частоты. LANTIME M400 Синхронизация времени и частоты в шасси для монтажа на DIN-рейкуПолнофункциональное устройство для монтажа на DIN-рейку в основном для промышленных и энергетических предприятий. Сервер времени Meinberg NTP со встроенными эталонными часами и множеством возможных источников времени: GPS, ГЛОНАСС, местные радиосигналы времени (например, DCF77, WWVB, MSF), временной код IRIG … LANTIME M300 1U NTP для синхронизации времени и частоты для серверных приложений, устанавливаемых в стойкуLANTIME M300 — это универсальный сервер времени NTP в корпусе 1U для установки в стойку сервера, обрабатывающий широкий спектр временных и частотных входов и выходов для надежной синхронизации.Встроенные эталонные часы M300 совместимы с широким спектром источников времени, такими как GPS, ГЛОНАСС, местные радиосигналы времени (например, DCF77, WWVB, MSF), временной код IRIG и др., А также могут дополнительно подключаться к семи серверам NTP для синхронизация. LANTIME M200 Синхронизация времени и частоты в компактной платформеLANTIME M200 — это компактный сервер NTP, идеально подходящий для малых и средних сетей. Этот сервер начального уровня включает встроенные эталонные часы и предлагает монтажный комплект для установки в стойку сервера. LANTIME M100 Компактная синхронизация времени и частоты для установки на DIN-рейкуLANTIME M100 обеспечивает базовую производительность сервера времени NTP в шасси для монтажа на рейке. Встроенные опорные часы M100, разработанные для малых и средних промышленных сетей и сетей производства электроэнергии, обеспечивают высокую точность в компактной системе. microSync HRМощный IEEE 1588 PTP Grandmaster и высокопроизводительный сервер NTP Благодаря беспрецедентному уровню эффективности и универсальности microSync HR устанавливает новые стандарты компактных, но мощных решений для синхронизации. MicroSync HR от Meinberg — это многофункциональное устройство синхронизации, обеспечивающее высокий уровень эффективности и универсальности, впечатляющее своей компактной конструкцией и высокой плотностью портов. microSync RXМощный IEEE 1588 PTP Grandmaster и NTP-сервер в 19-дюймовом корпусе для монтажа в стойку Универсальное решение Meinberg для синхронизации с резервным источником питания, надежное и универсальное решение для синхронизации для большого количества различных отраслей и приложений. MicroSync RX от Meinberg — это многофункциональное устройство синхронизации, предлагающее высокий уровень эффективности и универсальности, впечатляющее высокой плотностью портов и дополнительными резервными источниками питания. SyncFire 1200Устройство Meinberg SyncFire 1200 NTP Time Server предлагает гибкость и надежность семейства продуктов Meinberg LANTIME M-Series в новом пакете, который оптимизирован для развертываний центров обработки данных и может синхронизировать миллионы клиентов NTP и SNTP. LCES Полка расширения ЦП LANTIMEПолка расширения служит промежуточным соединением для дополнительных процессоров LANTIME с физически разделенными сетевыми интерфейсами. |
|
|
NetTime — средство синхронизации времени в сети
NetTime — средство синхронизации времени в сети NetTimeNetTime — это клиент простого протокола сетевого времени (SNTP) для Windows 95/98 / Me / NT / 2000 / XP / Vista / 7/8/10 и Server 2003/2008/2012/2016. (Поддерживаются как 32-битные, так и 64-битные операционные системы)
Если вы ищете программу для точного определения системного времени, вы ее только что нашли!
Его основные атрибуты:
- Бесплатно
- Открытый исходный код
- Малый
- Простота установки и использования
- И самое главное: Надежный
NetTime был первоначально написан Грэмом Мэйнварингом в 1997 году, а выпуск с открытым исходным кодом был выпущен в 1998 году.Грэм внес в программу ряд обновлений, пока не потерял к ней интерес и официально отказался от проекта 1 июля 2004 года.
Проект NetTime был воскрешен мной, Марком Гриффитсом, и теперь я делаю обновленную версию доступной здесь:
Если вы найдете NetTime полезным, рассмотрите возможность сделать пожертвование, чтобы выразить свою признательность и поощрить дальнейшее развитие NetTime!
Скачать:
Версия 3.14 — Текущая стабильная версия:Версия 3.20 Alpha 1 — Предыдущая тестовая версия:
Версия 3.20 Alpha 3 — Последняя тестовая версия:
Предыдущие версии, а также исходный код можно скачать со страницы проекта SourceForge.
Примечание. При обновлении с предыдущей версии перед запуском установщика необходимо отключить как службу NetTime, так и значок в трее. Если вы сначала удалите старую версию, вам нужно будет перезагрузить компьютер перед запуском новой программы установки.
Часто задаваемые вопросы (FAQ)
NetTime не может синхронизироваться — он сообщает, что все серверы вышли из строя: Наиболее частой причиной этой ошибки является то, что брандмауэр блокирует протокол сетевого времени (порт 123 UDP) между вашей системой и серверами, которые NetTime пытается использовать. Не всегда очевидно, что брандмауэр вообще существует, поскольку он обычно позволяет обычному веб-трафику проходить нормально. Если вы временно отключили все известные вам брандмауэры и по-прежнему сталкиваетесь с этой проблемой, то это почти наверняка брандмауэр, о котором вы не знаете.Если вы можете запустить UDP traceroute на порт 123 на одном из серверов времени, которые вы используете, это должно дать вам представление о том, где находится брандмауэр.
NetTime не может синхронизироваться — он сообщает, что у него были «несогласованные ответы». Если существует большая разница во времени между локальной системой и временем, возвращаемым сервером времени, NetTime автоматически сверится с дополнительным сервером, чтобы убедиться, что время то, что он получил, действительно действителен. Если он не может найти уникальный вторичный сервер, который обеспечивает время, которое близко соответствует времени, возвращаемому первичным сервером, он завершится ошибкой с «Несогласованными ответами». Наиболее частые причины этого — если несколько серверов настроены, но указывают на тот же IP-адрес, или вы используете серверы по умолчанию и находитесь в регионе, где есть только 1 реальный сервер в пуле NTP.Возможные решения: либо удалить все адреса сервера, кроме одного — в этом случае время, возвращаемое им всегда будет использоваться — даже если он недействителен, либо изменить ваши серверы — если вы используете серверы пула NTP, тогда вы должны указать к серверам для большей географической области.
NetTime синхронизируется, но время истекло на час — например, Летнее время не соблюдается правильно: NetTime внутренне работает с UTC (всемирное время) и не имеет кода для обработки летнего времени или часовых поясов.Если Windows настроена правильно, она должна автоматически обрабатывать изменения летнего времени. Если Windows не обрабатывает его правильно, скорее всего, его необходимо обновить. Вы также можете вручную указать информацию о часовом поясе с помощью бесплатного инструмента Microsoft: Редактор часовых поясов Windows tzedit.exe В качестве альтернативы, как сообщается, Windows Server 2003 Resource Kit Tools включает инструмент командной строки timezone.exe для опытных пользователей.
Я настроил NetTime для предоставления времени другим системам, но он не работает: Убедитесь, что служба времени Windows отключена вместе с любыми другими серверами NTP, которые могут быть запущены.Также убедитесь, что брандмауэр Windows и другие брандмауэры не блокируют входящие подключения к NetTime.
Что означает «Смещение»? Смещение — это разница во времени между местным системным временем и временем, возвращаемым сервером времени.
Что означает задержка? Задержка — это время, которое потребовалось для отправки запроса от NetTime на сервер и для возврата ответа. NetTime имеет код, чтобы попытаться компенсировать соединения с высокой задержкой, но он не будет работать с соединениями с асимметричными сетевыми задержками — i.е. когда время, необходимое для отправки запроса, значительно отличается от времени для возврата ответа.
Могу ли я настроить NetTime для использования прокси-сервера? К сожалению, протокол сетевого времени не поддерживает использование прокси, так что это не вариант, и я ничего не могу с этим поделать — извините!
У меня проблема, не указанная выше: Если NetTime у вас работает некорректно, включите ведение журнала на уровне отладки, попытайтесь выполнить другую синхронизацию времени, а затем отправьте мне электронное письмо с прикрепленным файлом журнала вместе с подробным описанием проблема, которая у вас возникла.
Примечания к конфигурации:
Большинство настроек должны быть достаточно понятными, однако некоторые люди просили уточнить некоторые настройки:
Макс. Свободный ход: Указывает, как долго программа будет работать без получения действительной синхронизации, прежде чем она сочтет, что местное время больше не является точным. По истечении этого периода времени значок в трее изменится на крест, и если он настроен для работы в качестве сервера времени, он перестанет отвечать на запросы времени.
Если корректировка времени больше, чем: Значение по умолчанию для этого означает, что местное время будет обновлено независимо от того, какая разница между текущим местным временем и временем, сообщаемым удаленным сервером. Обычно не должно быть причин для изменения этого параметра, поскольку текущая версия NetTime будет проверять несколько серверов, чтобы убедиться, что не используется недопустимое время.
Всегда указывать время: Не рекомендуется включать этот параметр.Обычно NetTime предоставляет время другим системам только в том случае, если он настроен на это и успешно синхронизирован с вышестоящим сервером. Если вы включите опцию всегда предоставлять время, вы можете обнаружить, что он выдаст неверное время любым системам, которые к нему подключаются!
Если вы используете NetTime в качестве сервера времени, вам необходимо сначала отключить встроенную службу времени в Windows. Хотя в описании службы времени Windows указано, что ее отключение может помешать загрузке других служб, в настоящее время я не знаю ни одной такой службы, которая действительно требует ее.Если вы не используете NetTime в качестве сервера времени, отключение службы времени Windows не является обязательным, но отключение ее для экономии ОЗУ не причинит никакого вреда.
Примечания для администраторов:
Вы можете быстро установить клиент, запустив вышеуказанный установщик с переключателями командной строки / silent или / verysilent. Если вы хотите предварительно настроить параметры, отличные от значений по умолчанию, они хранятся в реестре по адресу:
HKLM \ Программное обеспечение \ Субъективное программное обеспечение \ NetTime
В 64-битных системах указанное выше местоположение переназначается на:
HKLM \ Программное обеспечение \ Wow6432Node \ Субъективное программное обеспечение \ NetTime
История обновлений:
Версия 3.20 Альфа 3:
- Исправлена ошибка сбоя инициализации
Версия 3.20 Alpha 2:
- Улучшенная обработка пакетов Kiss of Death
- Исправлена обработка «несинхронизированных» ответов
- Улучшены отчеты об ошибках при настройке на работу в качестве сервера времени — например, если служба времени Windows все еще работает
- Уменьшен минимальный период повтора, если серверы пула NTP не используются.
- Улучшено отображение форм в системах с крупным шрифтом.
- Если NetTime запущен как значок в области уведомлений, при повторном запуске программы отобразится сообщение, предлагающее пользователю щелкнуть значок в области уведомлений.
- Исправлена загрузка файлов журнала, содержащих нулевые символы или одну или несколько строк без нормальной пары crlf.
- Несколько улучшений в обработке приостановки и возобновления работы системы.
- Фиксированная обработка «Максимального времени автономной работы»
- Если синхронизация времени не удалась, программа не перейдет сразу в статус «Time Sync Lost», пока не истечет «Max Free Run Time» — теперь будет отображаться «Time sync due» оранжевым значком на панели задач.
- Добавлено описание, отображаемое при просмотре списка системных служб.
- Переработан код IPC (Inter Process Communication) для предотвращения сбоев при определенных обстоятельствах.
- Log Viewer теперь будет автоматически обновляться в реальном времени при работе в качестве службы (ранее обновлялся только в том случае, если он не был запущен в качестве службы).
- Прочие мелкие изменения и исправления
Версия 3.20 Alpha 1:
- Добавлена возможность постепенного исправления небольших временных ошибок вместо корректировки времени одним ударом — благодаря коду, предоставленному Жюльеном Блитте
- Добавлена ротация лог-файлов — тоже спасибо Жюльену Блитту.
- Исправлена проблема с высокой загрузкой ЦП при большом количестве журналов.
- Еще несколько мелких улучшений.
Версия 3.14:
- Улучшена совместимость с другими клиентами NTP / SNTP, когда NetTime действует как сервер — например, Встроенный клиент времени Windows.
- Добавлена дополнительная информация для регистрации.
- Исправлена ошибка, которая иногда могла возникнуть при установке поверх предыдущей версии.
- Исправлена проблема, препятствовавшая полной деинсталляции при определенных обстоятельствах.
- Удалено требование вручную выключать NetTime перед установкой новой версии. (Иногда может потребоваться перезагрузка Windows из-за вышеуказанной ошибки)
- Улучшена обработка, когда сервис отключен и UAC отключен.
- Добавлен код для повторного отображения значка в трее после сбоя проводника Windows.
- Еще несколько мелких улучшений.
Версия 3.13:
- Исправлена ошибка, из-за которой программа всегда проверяла наличие обновлений при запуске от имени ограниченного пользователя.
Версия 3.12:
- Исправлена ошибка нарушения прав доступа.
Версия 3.11:
- Добавлен обходной путь для ошибки VCL, которая могла помешать правильной установке службы NetTime в очень редких случаях.
Версия 3.1:
- Исправлена проблема с запуском в Windows NT4.
- Добавлена всплывающая подсказка к значку в трее при запуске после установки, чтобы указать, что NetTime запущен.
- Если установлено, что время не изменяется при большой регулировке, теперь будет спрашивать пользователя о выполнении ручной проверки.
- Некоторые изменения для улучшения совместимости с более новыми версиями Delphi — добавлены примечания об обновлении до более новой версии Internet Component Suite.
- Добавлена возможность всегда указывать время при работе в качестве сервера.
Версия 3.0:
- Номер версии Только изменение
Версия 3.0, релиз-кандидат 1:
- Никаких существенных изменений по сравнению с Beta 4
Версия 3.0 Beta 4:
- Исправлено еще несколько ошибок, появившихся в Beta 2
Версия 3.0 Beta 3:
- Исправлено несколько ошибок, появившихся в Beta 2
Версия 3.0, бета 2:
- Добавлена возможность автоматической проверки наличия новых версий
- Добавлена кнопка для просмотра журнала в NetTime
- Интервалы теперь можно вводить в единицах измерения, а не только в секундах
- Добавлена поддержка тем для Windows
- Добавлена возможность выйти, если корректировка времени больше установленного значения
- Добавлен параметр командной строки для однократной синхронизации с последующим выходом (/ updateonce)
- Добавлен параметр командной строки, позволяющий выполнять синхронизацию только один раз и выходить независимо от успеха (/ tryonce)
Версия 3.0 Бета 1:
- Различные исправления и улучшения пользовательского интерфейса
- Добавлены серверы по умолчанию — благодаря проекту пула NTP
- Добавлена поддержка пакета Network Time Protocol «Kiss of Death»
- Добавлена автоматическая синхронизация по дополнительным триггерам — например, возобновление из режима ожидания, переход по времени вперед или назад
- Добавлена возможность ведения журнала
- Добавлена дополнительная информация в пользовательский интерфейс для отображения дополнительных сведений, таких как время до следующей синхронизации, корректировка последней синхронизации, смещения и задержка для каждого запрошенного сервера
- Изменен метод запроса сервера для минимизации нагрузки на сервер — теперь он запрашивает только один сервер, если не обнаруживает разницу во времени более 10 секунд, и в этом случае он будет проверять с альтернативным сервером, чтобы убедиться, что недопустимое время не используется.
- Улучшенная обработка UAC — Контроль учетных записей пользователей — в Windows Vista и 7
- Прерванная псевдослужба Windows 95 — Тем не менее, может использоваться в Windows 98/98 / Me как обычное приложение
- Удалены экраны автоматической настройки для поиска доступных серверов — не требуется для серверов NTP Pool по умолчанию
- Исправлено несколько проблем пользовательского интерфейса
- Исправлены проблемы с запуском клиента под ограниченными учетными записями пользователей в сочетании с NetTime Windows Service
- Различные другие мелкие исправления и улучшения
Несмотря на объем работы, проделанной над этой обновленной версией, большая заслуга в ней по-прежнему принадлежит Грэму Мэйнварингу.
Примечания к источнику:
Последняя версия NetTime была скомпилирована и протестирована с Borland Delphi 7 Professional. Более ранние версии также были протестированы на успешную компиляцию с Personal Edition Delphi 7 — если вы хотите войти в Delphi и внести изменения в NetTime, вы все равно сможете найти копию Delphi 7 Personal Edition, которую вы сможете скачать, если вы делаете достаточно поисков. Кроме того, вы можете попробовать использовать последнюю пробную версию Delphi, доступную на Embarcadero.Последняя версия была протестирована с Delphi XE2 Professional: Текущая версия включает старую версию Internet Component Suite, которая несовместима с Unicode-версиями Delphi (т.е. Delphi 2009 и новее). Обновление до последней версии Internet Component Suite с помощью Franois Piette решит проблемы с Unicode. При обновлении до новой версии Internet Component Suite вам нужно будет изменить ссылку на HttpProt в разделе uses UpdateCheck.pas для чтения OverbyteIcsHttpProt.
Свяжитесь со мной:
Если вы обнаружите какие-либо проблемы с этой версией или хотите сделать предложение, свяжитесь со мной: mark [at] timesynctool.comКонечно, поскольку это бесплатное программное обеспечение, я не могу дать никаких гарантий относительно того, когда (или даже если) какие-либо запросы функций будут включены в будущую версию — если, конечно, вы не хотите платить за это! Если у вас есть программный проект, над которым вы хотели бы, чтобы я поработал для вас, вы, безусловно, можете связаться со мной!
Примечания к точности:
NetTime, как и большинство клиентов SNTP, обычно синхронизирует системное время с точностью до 100 миллисекунд от правильного времени — часто с точностью до 10 миллисекунд.Конечно, точность в значительной степени зависит от точности сервера, к которому он подключается — в эту обновленную версию NetTime включены улучшения, чтобы попытаться гарантировать, что даже сильно неточный сервер времени не вызовет тайм-аут системы — больше информации информация об этом содержится в разделе «История и другие примечания» внизу. Асимметричная задержка (сетевая задержка, которая занимает больше времени в одном направлении, чем в другом) также может отрицательно повлиять на точность времени.Клиенты SNTP повторно синхронизируют системное время через равные промежутки времени — между этими временными синхронизациями системе будет разрешено работать с нормальной скоростью, что может означать, что она работает либо быстро, либо медленно — постепенно откладывая системное время до следующей синхронизации.Скорость отклонения системного времени от правильного в значительной степени зависит от аппаратного обеспечения системы, а также в определенной степени от того, какое программное обеспечение выполняется. Большинство компьютеров набирают или теряют несколько секунд каждый день, однако я видел систему, которая теряет 9 секунд в час — более 3,5 минут в день!
Подавляющее большинство пользователей обнаружат, что NetTime более чем соответствует их потребностям, однако, если у вас есть особые требования к очень точному времени, я рекомендую вам изучить установку полного клиента NTP.Хотя вы можете настроить NetTime на более частую синхронизацию, чтобы компенсировать неточные системные часы, это не рекомендуется из-за большей нагрузки на общедоступные серверы NTP. Полный клиент NTP имеет дополнительные функции для обеспечения большей точности времени (обычно значительно ниже 10 миллисекунд даже между синхронизацией времени) за счет регулировки частоты, с которой работают системные часы. Если вы администрируете большое количество компьютеров в организации, рекомендуется также настроить полный клиент NTP в сети, а остальные системы синхронизировать с ним с клиентом SNTP — это снижает нагрузку на общедоступные серверы времени. даже больше, а также обеспечение синхронизации всех систем с одним источником времени.
История и другие примечания:
Отчасти очевидная причина, по которой Грэм отказался от проекта NetTime, заключалась в том, что Windows 2000 и XP уже включают в себя клиент SNTP, а Microsoft для Windows NT была доступна для бесплатной загрузки. Грэм охарактеризовал клиент Microsoft NTP как полнофункциональный, однако я категорически не согласен с этим — я бы назвал клиент Windows SNTP очень простым — пользовательский интерфейс имеет только 2 функции — позволяет изменить сервер SNTP и кнопку для попытки немедленная синхронизация.У клиента Microsoft SNTP есть больше доступных функций, но они требуют ручного редактирования системного реестра — то, что большинство пользователей по понятным причинам неохотно делают. В конце концов, даже после редактирования параметров реестра, клиент Microsoft по-прежнему остается просто клиентом SNTP с ограничением возможности синхронизации только с одним удаленным сервером.
Как и подавляющее большинство клиентов SNTP, которые могут синхронизироваться только с одним сервером (а также большая часть остальных, у которых есть резервные копии только на случай полного отказа основного сервера), у клиента Microsoft SNTP возникает серьезная проблема, когда он получает ответ с очень большим время, отличное от того, что в настоящее время установлено в системе — у программы просто нет способа узнать, какое из них ближе к правильному — либо системное время может быть совершенно неточным (например,грамм. из-за того, что батарея CMOS вышла из строя) или ответ сервера может быть неправильным (случайно или злонамеренно).
Для Windows XP, чтобы предотвратить установку клиентом Microsoft SNTP системного времени на совершенно неверное значение, Microsoft приняла конструктивное решение, что их клиент будет обновлять системное время только в том случае, если ответ сервера был в пределах 15 часов от текущего системного времени. . Это снизило риск установки неверного времени в системе (но не полностью), но также привело к тому, что, если системное время не будет, по крайней мере, достаточно точным, оно никогда не будет установлено до тех пор, пока не будет исправлено вручную! Для системы с неисправной батареей CMOS клиент Microsoft SNTP практически бесполезен.
Для Windows Vista (и 7) Microsoft ослабила правила, чтобы (по крайней мере, при ручном запуске обновления) текущее системное время, неверное, не мешало клиенту SNTP обновлять системное время. Это, конечно, означает, что неправильный ответ от сервера времени может привести к выходу из строя системного времени. Служба времени Windows в Windows 7 также настроена по умолчанию, чтобы не запускаться автоматически каждый раз при запуске системы — пользовательский интерфейс сообщает, что Windows настроена на автоматическое обновление системного времени, но этого не происходит, если пользователь вручную не запускает Windows. Служба времени либо через апплет панели управления службами, либо путем запроса синхронизации вручную.Если пользователь не перенастроит службу времени Windows для автоматического запуска, она будет отключаться каждый раз при перезапуске системы!
NetTime гарантирует, что не устанавливает неверное значение системного времени, всегда проверяя на втором сервере (если он настроен), если корректировка времени превышает 10 секунд.