Как синхронизировать часы в Windows 10 с интернетом или атомным временем — Как — 2021
Как синхронизировать часы в Windows 10 с интернетом или атомным временем — Как — 2021
Часы на вашем ПК с Windows не просто сообщают вам время. Windows использует часы для записи при создании или изменении файлов.
Как правило, часы Windows синхронизируются со временем в Интернете раз в неделю, если они подключены к Интернету. Вы также можете вручную заставить часы синхронизироваться с интернет-временем, когда захотите.
Сегодня мы покажем вам, как синхронизировать часы вашего ПК с интернет-временем в настройках Windows и с помощью командной строки. Мы также покажем вам несколько сторонних инструментов, которые помогут вам автоматизировать синхронизацию ваших часов с интернетом или атомным временем.
Почему возникает ошибка «Часы спешат или Часы отстают»
Чтобы объяснить причину того, что Chrome или другой браузер выдает ошибку «Часы спешат», нужно рассказать предысторию. Еще три года назад большинство сайтов работало по протоколу HTTP, что отражалось в адресной строке браузера в виде приставки http//, стоящей перед доменным именем веб-ресурса. Например, адрес нашего сайта в 2017 году выглядел бы так: http://stepvweb.ru.
Но с подачи Google как раз в 17-м в интернете началась революция борьба за информационную безопасность и всех стали переводить на более защищенный протокол передачи информации HTTPS. Все это привело к том, что сегодня, если ты хочешь успешно продвигаться в поисковых системах, твой сайт должен соответствовать определенным требованиям, в том числе необходимо, чтобы он работал по новому протоколу. А для этого нужно установить на сайт специальный SSL-сертификат. Обычно это можно сделать через хостинг-провайдера.
SSL-сертификаты различаются. Одно из различий: они бывают как платными, так и бесплатными. Обычные сайты чаще всего пользуются последними. У каждой бесплатности есть свои минусы. Недостаток бесплатных SSL-сертификатов заключается в том, что периодически их приходится продлевать. Продление осуществляется, как правило, автоматически, однако бывают и сбои. Так, на одном из сайтов, находящихся на хостинге fozzy.com , у меня стоял бесплатный Let’sEncrypt, который мне периодически преподносил сюрпризы в виде неработающей почты. Возможно, он был неправильно настроен. В очередной раз когда сайт выдал ошибку и я обратилась в техподдержку, они предложили заменить Let’sEncrypt на бесплатный аналог AutoSSL, и вот уже несколько месяцев сертификаты меня не беспокоят.
Однако ближе к теме, точнее, к причине проблемы.
Проект 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 — вышестоящий 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 часа. Число должно быть 2 n . Обычно в данном параметре наблюдается или 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.
Нет синхронизации времени компьютера с интернетом
Управление временем — один из ключевых аспектов системного администрирования. Как правило, все клиентские серверы и рабочие станции синхронизируют время с доменом Active Directory, однако откуда берется точное время в AD? Это зависит от разных факторов. В стандартной конфигурации время синхронизируется с серверами Microsoft, а виртуальные машины обычно получают данные от хост-сервера.
Лучше всего задать единый источник данных о точном времени для всех компьютеров в корпоративной сети — сервер (или несколько серверов), с которым будут синхронизироваться все системы. Это может быть ресурс или пул ресурсов в Интернете, либо локальный сервер. Так или иначе, с источником точного времени стоит определиться заранее.
За синхронизацию компьютеров и серверов Windows отвечает сетвой протокол Network Time Protocol (NTP). NTP использует для своей работы протокол UDP порт по умолчанию 123. Что бы в дальнейшем можно было настроить работу этого сетевого протокола, необходимо проверить, не блокирует ли этот порт фаерволл.
Способы указания NTP Сервера.
1) Команда w32tm позволяет задать список пиров, предоставляющих информацию о точном времени для домена. Чтобы получить дополнительные сведения о команде w32tm, введите в командной строке указанную команду w32tm /?
Первым, что необходимо сделать, это выяснить в каком состоянии находятся контролеры домена в домене. Для этого запускаем в командной строке команду (если у вас права доменного администратора, то можете запустить командную строку на своей рабочей станции)
w32tm /monitor — команда позволяет посмотреть с каким сервером (серверами)/сервисом происходит синхронизация и какая разница во времени с эталонным севером.
w32tm /config /manualpeerlist:time.windows.com /syncfromflags:manual /reliable:yes /update — этой командой мы указываем с каким сервисом/сервером будет происходить синхронизация ( в данном примере с time.windows.com).
Эта команда выполняется на контроллере домена однократно и записывает указанные адреса в реестр ( по пути HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfigParametrs в параметре NTPServer должно быть прописано time.windows.com). Можно указать сразу несколько серверов, разделенных пробелами.
2) Еще один способ указать контролеру домена сервер с кем он будет синхронизироваться по времени, это локальные или групповые политики. Запускаем реестр- Нажмите кнопку Пуск, выберите команду Выполнить, введите в командную строку gpedit.msc и нажмите кнопку ОК. Заходим «Конфигурация компьютера- Политики- Административные шаблоны- Система- Служба времени Windows- Поставщики времени» и настраиваем политику. В данном примере в значении NTPServer прописываем time.windows.com, в значении Тип указываем NTP. Тип- указывает узлы одноранговой сети, принимающие синхронизацию следующих типов:
NoSync— Служба времени не синхронизируется с другими источниками.
NTP- Служба времени выполняет синхронизацию с серверами, указанными в записи реестра NtpServer.
NT5DS- Служба времени выполняет синхронизацию на основе иерархии домена.
AllSync- Служба времени использует все доступные механизмы синхронизации.
Значение CrossSiteSyncFlags выбираем 2.
CrossSiteSyncFlags. Определяет возможность выбора службой партнеров по синхронизации за пределами домена компьютера.
Нет 0
PdcOnly 1
Все 2
В значении ResolvePeerBackoffMinutes прописываем 15
ResolvePeerBackoffMinutes- указывает первоначальный интервал ожидания (в минутах) перед тем, как начать поиск узла одноранговой сети для синхронизации. Если службе времени Windows не удается успешно синхронизироваться с источником времени, будут выполняться повторные попытки с использованием указанных значений параметров ResolvePeerBackoffMinutes и ResolvePeerBackoffMaxTimes.
В значении ResolvePeerBackoffMaxTimes прописываем 7
ResolvePeerBackoffMaxTimes- указывает максимальное число раз удвоения интервала ожидания в случае, если повторяющиеся попытки поиска узла одноранговой сети для синхронизации не дали результата. Нулевое значение предполагает, что интервал ожидания всегда равен первоначальному, указанному в параметре ResolvePeerBackoffMinutes.
В значении SpecialPollInterval прописываем 3600
SpecialPollInterval- указывает интервал специального опроса (в секундах) для узлов одноранговой сети, настроенных вручную. Если специальный опрос включен, то служба времени Windows будет использовать его интервал вместо динамического значения, определяемого с помощью алгоритмов синхронизации, встроенных в службу времени Windows.
Если вы создали политику, то ее нужно применить на все контролеры домены.
Настроить дату и время через системный трей
Для начала рассмотрим простой способ настроить дату и время:
Шаг 1. На панели задач, в правом нижнем углу, кликните один раз левой кнопкой мыши на дате и время. В появившемся окне нажмите Изменить дату и время, как показано на рисунке:
Шаг 2. Далее, в появившемся окне Дата и время нажмите на Изменение настроек даты и времени… как показано на рисунке:
Чтобы изменить дату и время на компьютере, ваша учетная запись должна обладать правами администратора, иначе Вы не сможете внести изменения. Как узнать обладает ли Ваша учетная запись правами администратора.
Шаг 3. В открывшемся окне настройка времени и даты с помощью стрелок выберите нужный месяц, год и дату. А под часами установите нужное время.
После выбора корректировке даты и времени нажмите ОК. Вот и все, Вы настроили дату и время.
Реализация
Писать код и дебажить наше творение мы будем в Visual Studio. Я использую версию 2019 Community, благо она бесплатная, а скачать ее можно с сайта Microsoft.
Сервер
Как только IDE установлена, включена темная тема и любимый плей-лист, можно приступать. Для начала создадим новый проект типа «консольное приложение» (мы ведь не прячемся от юзера) с названием NtpTun_SERVER .
Создание проекта
Теперь нам нужна структура, описывающая пакет. Обратившись к спецификации NTP, напишем простой класс. В нем также должны быть методы упаковки пакета в массив байтов, пригодный для передачи настоящему серверу и для распаковки пришедшего ответа из массива байтов обратно в пакет.
Весь код, используемый в статье, есть в моем репозитории на GitHub. Он намеренно подпорчен и для промышленного использования не годится, но для демонстрации работы вполне сойдет.
Объявляем структуру пакета. Не смотри на странные суффиксы в названиях функций, так задумано
Уже из этого кода видно, что мы будем притворяться сервером Stratum 3. Если бы мы были Stratum 1, то нужно было бы в поле RefID указывать ID атомных часов, которых у нас нет. А список серверов первого уровня общеизвестен, и, если IP нашего псевдосервера не окажется в таких публичных списках, обман быстро будет раскрыт.
Stratum 2 не следует использовать, потому что тогда RefID должен был бы содержать IP сервера первого уровня, список которых опять же известен. А вот третий уровень позволяет указывать в RefID IP сервера второго уровня, полного списка которых нет. То есть мы сможем в RefID передавать еще четыре байта произвольных данных.
Код методов упаковки и распаковки на скриншот не поместился, к тому же нам надо разобрать его отдельно. Вот он:
Тут никаких сложностей: принимаем массив байтов и при помощи BitConverter получаем оттуда данные.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
↑ 1. Через настройки
Самым простым методом, который существует в Windows 11 считается способ изменения с помощью настроек. Для этого нужно кликнуть ПКМ на часы в правой части панели задач и выбрать «Настроить дату и время».
В это же меню можно зайти более стандартным методом через «Пуск», там выбрать «Изменение даты и времени», после перейти в раздел «Время и язык» и в окне «Дата и время» произвести необходимые настройки.
Можно оставить все как есть, чтобы время и дата устанавливались в автоматическом режиме. Можно убрать тумблер от строки «Установить время автоматически» и нажать «Изменить» напротив «Установить дату и время вручную». Далее просто выбираем сегодняшний день, время и т.д. Щелкаем на «Изменить», после подтверждаем свои действия.
↑ 2. Формат
Есть в Windows 11 функция изменения формата отображения даты и времени. Можно выбрать вариант Число/Месяц/Год, Месяц/Число/Год и некоторые другие. Время же можно отобразить в 12-часовом формате и в 24-часовом. Для того чтобы это сделать нужно перейти через меню Пуск в «Настройки», далее зайти в пункт «Время и язык». Находим «Региональный формат» и чуть ниже нажимаем «Изменить форматы». После выбираем нужные параметры.
↑ 3. Время и дата, а также смена формата через панель управления
До сих пор Microsoft не может нас избавить от панели управления. Как и в предыдущих версиях операционной системы изменить дату и время можно через неё.
Зайти в панель управления можно через поиск Windows, достаточно начать вводить «Панель управления». Можно зайти в «Пуск» далее «Выполнить» и ввести слово «Control». Далее нажимаем «Дата и время». В появившемся окне кликаем на «Изменить дату и время». Теперь остаётся выбрать нужную дату в левой части окна, а также выставить время под циферблатом справа.
Если в левом нижнем углу нажать на «Изменить настройки календаря», то можно тут же изменить формат даты и времени.
↑ 4. Через PowerShell
Хотелось бы также рассказать о наименее популярном способе установки настроек даты и времени, а именно через PowerShell.
Заходим в поиск ОС и пишем «PowerShell». Кликаем ПКМ на него и заходим от имени администратора. В открывшемся окне пишем такую строку:
Set-Date -Date «dd/mm/yyyy HH:MM AM
Попутно нужно заменить dd/mm/yyyy на текущую дату, а HH:MM на время, учитывая то, что нужно ещё указать AM или PМ.
↑ 5. Через командную строку
Установить дату и время можно и через cmd. Для этого заходим в поиск Windows и пишем «cmd». Запускаем её от имени администратора. В окне cmd нужно ввести команду в таком формате «date dd/mm/yyyy». Естественно меняем «dd» на число, «mm» на месяц, а «yyy» на год и нажимаем Enter.
Время же меняется с помощью команды «time HH:MM». «HH» меняем на часы, а «MM» на минуты.
↑ 6. Синхронизация
Ещё есть метод синхронизации даты и времени с серверами компании Microsoft в автоматическом режиме. Чтобы это сделать нужно в панели управления выбрать «Дата и время». После перейти на вкладку «Интернет время» и нажать «Изменить настройки». Во всплывшем окне нужно выбрать нужный нам сервер для обновления, обычно это time.windows.com. Кликаем на «Обновить сейчас» и время на вашем ПК синхронизируется с глобальным сервером Microsoft.
Таким образом, можно довольно легко изменить или установить дату и время в Windows 11.