Синхронизация времени в локальной сети windows 7
Для синхронизации времени устройства NetPing используют протокол NTP. При помощи этого протокола все устройства в сети корректируют своё время по указанному серверу. Устройства NetPing, подключенные к Internet, могут использовать публичный NTP сервер, как рекомендовано в статье. Если доступа к сети Internet нет, то можно настроить локальный NTP сервер. Таким сервером может являться любой компьютер с ОС Windows с настроенной службой W32Time («Служба времени Windows»). Данная служба не имеет графического интерфейса и настраивается либо через командную строку либо путём правки ключей реестра.
Инструкция по настройке сервера NTP на ОС Windows 7/8/2008/2012
Рассмотрим настройку службы времени через редактирование реестра. Настройка происходит одинаково для версий Windows 7/8, Windows Server 2008, Windows Server 2012.
Для данной настройки необходимо обладать правами администратора ОС Windows
Открываем редактор реестра либо через диалоговое окно «Выполнить», вызванное комбинацией клавиш «Win» + «R», либо через форму поиска, где набираем «regedit».
В открывшемся редакторе в левом древовидном меню открываем «ветвь» «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpServer», где ищем ключ с названием «Enable». Нажимаем правой кнопкой мыши и выбираем «Изменить». Меняем значение ключа с 0 на 1.
Изменив данный параметр, мы указали, что данный компьютер выступает в роли сервера NTP. Компьютер одновременно остаётся клиентом и может синхронизировать своё время по другим серверам в Internet или локальной сети. Если вы хотите, чтобы в качестве источника данных выступали внутренние аппаратные часы, то измените значение параметра ключа AnnounceFlags на 5 в ветке « HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config ».
Для вступления изменений в силу нам необходимо перезапустить службу. Доступ к службам осуществляется через «Панель управления» из меню «Пуск» -> «Панель управления» -> «Администрирование» -> «Службы». Также она находится в форме поиска при вводе «services.msc». В появившемся списке служб находим интересующую нас «Служба времени Windows» и через меню, вызванное правой кнопкой мыши, выбираем пункт «Перезапустить».
Для использования компьютера в качестве сетевого сервера времени для всех устройств локальной сети необходимо разрешить в настройках межсетевого экрана входящий и исходящий трафик по протоколу UDP на порт 123 .
Возникла необходимость синхронизации времени на компьютерах в локальной сети на стандартном 123 UDP порту?
Или как я настраивал сервер NTP в локальной сети на Windows хосте.
Ситуация следующая: в одноранговой локальной сети есть одна Windows машина которая ходит в нтернет и синхронизирует время, например с time.nist.gov.
Рабочие станции этой сети не ходят в Интернет, или им запрещено синхронизироваться, или вы не хотите дополнительный трафик по UDP 123 порту наружу, или есть проблемы синхронизации времени с популярных интернет ntp cерверов. C помощью этой статьи вы настроите синхронизацию времени в среде Windows и настроите NTP сервер на обычной Windows машине.
Сервер синхронизации времени ntp может работать на Windows 2000, Windows XP Prof, Windows 7, Windows Server 2003/2008 .
Итак, приступаем к настойке локального Windows сервера синхронизации времени (NTP server на 123 UDP порту).
Начнем с ОС Windows XP Prof (Windows XP Home - то же самое).
Открываем реестр - Пуск -> выполнить -> regedit
идем в ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl\Set\Services\W32Time\Config
присваеваем параметру AnnounceFlags значение 5. Тем самым мы обьявим наш будущий NTP сервер, достоверным и компьютеры при синхронизации с ним не будут ругаться.
Далее Пуск -> выполнить -> mmc и добавляем оснастку «Редактор обьекта групповой полтики». Обьектом группвой политики выступит Локальный компьютер.
Идем по разделам Конфигурация компьютера -> Администрантивные шаблоны -> Система -> Служба времени Windows -> Поставщики времени. Там находим «Включить Windows NTP-сервер» и в свойствах выбираем позицию «включить». В заключении проходим в Службы, ищем «Служба времени Windows» и перезапускаем этот сервис. Если он не включен, то включаем его и ставим тип запуска «Авто».
Кроме этого на раздающем сервере необходимо изменить интервал через который он сам будет ходить в инет за временем.
Открываем реестр - Пуск -> выполнить -> regedit
идем в ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\
NtpClient\SpecialPollInterval
По умолчанию интервал между обновлениями времени в Windows – 1 неделя (604800 сек). При низкой точности системных часов компьютера это слишком большой интервал. При такой настройке за 1 неделю часы Вашего компьютера могут получить погрешность величиной порядка минуты или даже нескольких минут. Рекомендую уменьшить интервал обновления до нескольких часов. Это изменение не увеличит ни трафика, ни нагрузки на NTP-сервер, при этом позволит поддерживать более высокую точность хода часов Вашего компьютера.
При значении флага UseAsFallbackOnly службе времени сообщается, что данный сервер будет использоваться как резервный и перед синхронизацией с ним будут выполнятся обращения к другим серверам списка.
После внесения необходимых настроек в можно перечитать конфигурацию сохраненную в реестре коммандой приведенной ниже, или перезагрузить компьютер.
w32tm /config /update
И при необходимости выполнить немедленную синхронизацию
w32tm /resync
На этом настройка сервера закончена.
На клиентских компьютерах следуем в «Панель управления», выбираем «дата и время» и в закладке «Время интернета» меняем строку сервер на IP (или имя) вашего локального сервера.
Вот и все.
Можно раскидать батник на рабочие станции :
w32tm /config /manualpeerlist:IP_адрес_сервера,0x1 /syncfromflags:MANUAL
net stop w32time
net start w32time
w32tm /resync
И запускаем его на клиентских машинах с правами Администратора.
Для WINDOWS 2000
Теперь поясню, как установить синхронизацию основного компьютера времени, т. е. корневого PDC-эмулятора леса, с реальным временем. Для этого следует Пуск -> выполнить -> ввести команду:
net time /setsntp:
Параметр /setsntp команды Net Time показывает, что используется Simple Network Time Protocol (SNTP), стандартный протокол Internet. Internet Engineering Task Force (IETF) Request for Comments (RFC-2030), датированный октябрем 1996 г., определяет SNTP. Можно указать любой сервер времени SNTP в Internet для корневого PDC-эмулятора леса и заставить его синхронизировать свое время с временем этого сервера. Многие брандмауэры включают сервер времени, так что для конкретного контроллера - эмулятора PDC - нет нужды обращаться куда-либо из своей внутренней сети для синхронизации с SNTP-сервером. Но если брандмауэр требуется настраивать, то нужно иметь в виду, что SNTP использует 123-й порт UDP.
Остановит сервер времени Windows Time Service:
net stop w32time
Затем можно проверить время источника, для чего следует ввести:
w32tm -once
чтобы установить время от источника времени однократно (по умолчанию W32tm обновляет время периодически). Система выдает страницу запутанной информации; в случае успешного выполнения команды в одной из строк появится Recv`ed from server 48 Bytes. Далее необходимо набрать:
net start w32time
чтобы снова запустить службу времени.
После первоначальной синхронизации с сервером времени компьютер снова сверяет с ним свое время через 45 мин. Если выясняется, что разница между показаниями часов сервера времени и системных часов компьютера не превышает 2 с, интервал ожидания следующей сверки с сервером времени удваивается. Если через полтора часа разница во времени остается в пределах 2 с, компьютер продолжает удваивать интервал синхронизации и проверять точность времени и, наконец, останавливается на интервале приблизительно 8 ч.
Если неизвестно, с каким SNTP-сервером синхронизируется система, в командной строке следует ввести:
net time /querysntp
Пишите если у кого не получилось, я запустил на 20-30 машинах в локалке и забыл о проблемах с разным временем в отчетах, логах, видео архивах и прочее. Главное не забывать когда заводите в сети новую машину проделать с ней эту процедуру.
Работа многих служб ОС зависит от того, насколько точны системные часы. Для чего нужна эта точность? Затем, что неточное время на сервере повлечет за собой много неприятностей.
В качестве примера приведем следующий: если в локальной сети часы машин, которые совместно используют файлы, не будут синхронизированы, то нельзя будет установить время изменения файлов. Из-за этого возникнет конфликт версий или перезаписи данных. Без установки точного времени на сервере появятся и сложности с задачами Cron – непонятно, когда они запустятся. Невозможно будет проанализировать журналы системных событий, чтобы понять причины неисправностей и сбоев.
Для того чтобы эти неприятности не возникли, нужно наладить синхронизацию системных часов. Для этого используется протокол NTP (Network Time Protocol).
Как устроен протокол NTP
Протокол NTP основан на иерархической структуре сервера точного времени, где выделены разные уровни. К нулевому уровню, на котором NTP-серверы не работают, относятся так называемые эталонные часы.
С ними синхронизируются NTP серверы уровня 1, являющиеся источниками для серверов уровня 2. Серверы второго уровня синхронизируются с серверами первого уровня, но еще могут синхронизироваться между собой. Точно так же функционируют серверы третьего уровня и ниже. В целом, поддерживается порядка 256 уровней.
Иерархическая структура NTP является отказоустойчивой и избыточной. Так, резервные серверы берут синхронизацию на себя, когда речь идет об отказах соединения с вышестоящими серверами. Для расчета точного времени NTP берет данные ото всех источников, синхронизируясь с несколькими серверами.
Как установить и настроить NTP-сервер
Чтобы синхронизировать время, используют демон ntpd, который может быть как сервером, принимающим время из удаленных хостов, так и клиентом, раздающим время сторонним хостам. Демон ntpd зависит от указанных в файле конфигурации настроек.
Для установки сервера NTP используется стандартный менеджер пакетов $ sudo apt-get install ntp.
После установки все необходимые настройки NTP будут находиться в файле /etc/ntp.conf.
Первая строчка файла конфигурации – driftfile /var/lib/ntp/ntp.drift. В ней указан файл, в котором хранится информация о том, как часто смещается время. В этом же файле содержится и значение, которое было получено из предыдущих изменений времени. Если по каким-то причинам внешние NTP-серверы недоступны, знание берут из этого файла.
После этого нужно указать файл, сохраняющий логи синхронизации – logfile /var/log/ntp.log.
В файле конфигурации нужно указать перечень серверов NTP, с которыми нужно синхронизироваться. По умолчанию этот перечень выглядит вот так:
Эти строки означают группу серверов, которые сообщают серверу верное время. Через опцию iburst можно увеличить точность синхронизации, то есть указать то, что на сервер необходимо отправлять несколько пакетов вместо одного:
Еще можно донести информацию о нужном сервере через опцию prefer:
Ареал использования серверов NTP
Резервный сервер точного времени
NTP-сервер, по какой-либо причине отключенный от интернета, может передавать для синхронизации данные своих системных часов. Для этого в конфигурационный файл нужно добавить следующую строку:
Особые случаи использования NTP
Например, NTP могут использовать, чтобы усилить трафик в DDoS-атаках. А чтобы избежать столкновения с различными злоупотреблениями, следует ограничить доступ для внешних клиентов. Говоря об ограничениях, то по умолчанию в /etc/ntp.conf файле выставлены такие:
- restrict − 4 default kod notrap nomodify nopeer noquery
- restrict − 6 default kod notrap nomodify nopeer noquery
Такие опции, как nomodify, notrap, nopeer и noquery, не позволяют внешним клиентам менять конфигурации на сервере. Параметр kod (расшифровывается как kiss of death, «смертельный поцелуй») дает дополнительный уровень защиты: клиент, который часто отправляет запросы, получает сперва kod-пакет, являющийся предупреждением о том, что в обслуживании отказано, а потом отключается от сервера.
Для синхронизации машин из локальной сети с сервером NTP в файл конфигурации добавляется такая строчка:
А для локального хоста устанавливается неограниченный доступ к серверу NTP:
Как проверить синхронизацию
После сохранения всех изменений в файле конфигурации NTP-сервер нужно перезагрузить:
А затем выполнить команду:
На выходе получится таблица, в которой указаны следующие параметры:
- remote – адрес сервера точного времени;
- refid – вышестоящий сервер;
- st – уровень (stratum) сервера;
- t – тип пира (u- unicast, m- multicast);
- when – время последней синхронизации;
- poll – время в секундах, за которое демон NTP синхронизируется с пиром;
- reach – состояние доступности сервера;
- delay – время задержки ответа от сервера;
- offset – временная разница между сервером и сервером синхронизации;
- jitter – смещение времени на удаленном сервере.
Слева от адреса сервера могут быть указаны еще и такие символы:
- * – сервер выбран для синхронизации;
- + – сервер, пригодный для синхронизации;
- – – с сервером синхронизироваться не стоит;
- х – сервер недоступен.
Чтобы проверить, насколько сервер подходит для синхронизации, нужно использовать команду ntpdate -q.
Как установить локальные дату и время
Чтобы установить локальные дату и время на сервере, нужно использовать команду ntpdate, при этом отправив необходимый запрос к серверу NTP:
Помимо tcp/ip, существует множество способов синхронизация времени. Некоторые из них требуют лишь наличие обычного телефона, в то время, как другие требуют дорогостоящего, редкого и чувствительного электронного оборудования. Обширная инфраструктура систем синхронизации времени включает в себя обсерватории, государственные институты, радиостанции, спутниковые группировки и многое другое.
Сегодня я расскажу, как устроена синхронизация времени без интернета и как сделать “спутниковый” NTP сервер своими руками.
Радиовещание на коротких волнах
В Соединенных Штатах Америки NIST передает точное время и частоту по 2.5, 5, 10, 15 и 20 МГц радиоволнам со станции WWVH в Форт-Коллинсе, штат Колорадо, и на частотах 2.5, 5, 10 и 15 МГц со станции WWVH в Кауаи, штат Гавайи. Временной код передается через 60-секундный интервал на скорости 1 б/с. с использованием широтно — импульсной модуляции на поднесущей 100 Гц.
Национальный исследовательский совет (NRC) Канады осуществляет распространение временной и частотной информации на 3.33, 7.85 и 14.67 МГц со станции CHU в Оттаве, провинция Онтарио.
Формат вещания WWVH
Распространение сигнала от коротковолновых станций обычно происходит путем отражения от верхних слоев ионосферы. Передачи сигнала могут быть получены на больших расстояниях, однако точность времени составляет порядка одной миллисекунды.
Текущий стандарт NTPv4 включает в себя аудио драйверы для WWV, WWVH и CHU.
Радиовещание на длинных волнах
NIST также передает точное время и частоту по длинным радиоволнам на волне 60 kHz из Боулдера в штате Колорадо. Есть и другие станции передачи сигналов точного времени на длинных волнах.
Позывные и локация | Частота (kHz) | Мощность (kW) |
WWVB Форт-Коллинс, Колорадо, США | 60 | 50 |
DCF77 Mainflingen, Germany | 77.5 | 30 |
MSF Rugby, United Kingdom | 60> | 50 |
HBG Prangins, Switzerland | 75 | 20 |
JJY Fukushima, Japan | 40 | 50 |
JJY Saga, Japan | 60 | 50 |
Низкочастотные Станции Стандартного Времени
Временной код передается через 60-секундный интервал на скорости 1 б/с, точно так же, как на коротковолновых станциях. Форматы передачи данных тоже сходны для обоих стандартов. Распространение сигнала происходит через нижние слои ионосферы, которые относительно стабильны и имеют предсказуемые суточные колебания высоты. Благодаря этой предсказуемости физической среды точность повышается до 50 μs.
Формат вещания WWVB
Геостационарный эксплуатационный спутник наблюдения за окружающей средой
Системы глобального позиционирования
Министерство обороны США использует GPS для точной навигации на суше, на море и в воздухе. Эта система обеспечивает 24-часовой охват земного шара с помощью группировки спутников на 12-часовых орбитах, наклоненных под углом 55°.
Первоначальная группировка из 24 спутников была расширена до 31 спутника в неоднородной конфигурации, так что по крайней мере 6 спутников всегда находятся в поле зрения, а 8 или более спутников находятся в поле зрения в большей части света.
Услуги, подобные GPS, эксплуатируются или планируются другими странами. Российский ГЛОНАСС работает уже с десяток лет, если считать со 2 сентября 2010 года, когда общее количество спутников было доведено до 26 — группировка была полностью развёрнута для полного покрытия Земли.
Спутники GPS вокруг земного шара.
Спутниковая система навигации Европейского Союза называется «Галилео». Ожидалось, что «Галилео» начнет работать в 2014—2016 годах, когда на орбиту будут выведены все 30 запланированных спутников Но на 2018 год спутниковая группировка «Галилео» так и не достигла необходимого количества аппаратов.
Есть еще китайский «Бэйдооу», что в переводе означает «кит». Группировка в составе 16 спутников была запущена в коммерческую эксплуатацию 27 декабря 2012, в качестве региональной система позиционирования. Планируется, что на полную мощность система выйдет к 2020 году. Как раз сегодня, на Хабре вышла статья, про успешный запуск спутника этой системы.
Математика определения координат по СРНС
Как GPS/Глонасс навигатор на вашем смартфоне определяет местоположение с такой точностью с помощью системы радионавигационной связи (СРНС)? Чтобы понять принцип расчетов нужно вспомнить стереометрию и алгебру в пределах старших классов средней, или физмат школы.
Каждый спутник сообщает приемнику точное время. На спутнике установлены атомные часы и поэтому им можно верить. Зная скорость света нетрудно определить радиус сферы на поверхности которой находится спутник. Это же сфера соприкасаясь с Землей образует круг, на котором находится GPS / Глонасс приемник.
Когда сигнал приходит с двух спутников, мы уже имеем пересечение Земли и двух сфер, что дает лишь две точки на круге. Сфера третьего спутника в идеале должна попасть в одну из этих двух точек, окончательно определив координаты приемника.
Определение местоположения с помощью спутниковой группировки.
Нетрудно заметить, что в этой идеализированной картине есть много нюансов, от которых зависит точность расчетов. Время на приёмнике, пожалуй самый очевидный источник погрешностей. Для того, чтобы все заработало как надо время GPS / Глонасс приёмника должны быть синхронизированы со временем спутника. Без этого погрешность составила бы ∓ 100 тыс. км.
Из формулы скорости, времени и расстояния S = v*t получаем базовое уравнение для передачи сигнала СРНС. Расстояние до спутника равно произведению скорости света на разницу времени на спутнике и приёмнике.
Главным образом это происходит вследствие того, что даже после всех синхронизаций время на приёмнике tпр мы знаем с достаточной степенью точности. Между истинным временем и tпр всегда будет существовать Δt, из-за которой погрешность вычислений становится неприемлема. Вот почему нужен четвертый спутник.
Для более ясного математического обоснования необходимости четырех спутников построим систему уравнений.
Для определения четырех неизвестных x, y, z, и Δt необходимо, чтобы число наблюдений равнялось или было больше, чем число неизвестных. Это необходимое, но недостаточное условие. Если матрица нормальных уравнений окажется вырожденной, у системы уравнений не будет решения.
Не стоит также забывать про Специальную Теорию Относительности и релятивистские эффекты с замедлением времени на спутниковых атомных часах относительно наземных.
Если считать, что спутник движется по орбите со скоростью 14 тыс. км./ч., то получаем замедление времени около 7 μс (микросекунд). С другой стороны действуют релятивистские эффекты Общей Теории Относительности.
Дело вот в чем, спутники на орбитах находятся на большом расстоянии от Земли, где кривизна пространственно-временного континуума меньше, чем на земной поверхности из-за массы Земли. Согласно ОТО ход часов, расположенных ближе к массивному объекту, будет казаться медленнее, чем тех, что находятся дальше от него.
- G — гравитационная постоянная;
- M — масса объекта, в данном случае Земли;
- r — расстояние от центра Земли до спутника;
- c — скорость света.
В прикладных задачах определения местоположения с помощью СРНС следует также принять во внимание ионосферные и тропосферные задержки. Помимо того, корректировки 46 ns связаны c эксцентричностью 0.02 орбиты спутников GPS.
Возможность получать сигналы одновременно более чем с четырех спутников GPS / ГЛОНАСС позволяет еще больше увеличить точность определения координат приёмника. Это достигается за счет того, что навигатор решает систему их четырех уравнений с четырьмя неизвестными число раз и берет среднее значение, повышая точность итоговой оценки согласно законам математической статистики.
Как настроить NTP сервер Stratum 1 по спутниковой связи
Для настройки высококачественного сервера времени необходимо всего лишь GPSD, NTP и GPS-приёмник, с выходом 1PPS (один импульс в секунду).
1. Установите gpsd и ntpd, либо gpsd и chronyd. Версия gpsd должна быть ≥ 3.20
2. Подключите GPS-приёмник с поддержкой PPS к последовательному RS232 или USB порту.
Обычный дешевый GPS-приемник не подойдет; возможно, придется немного побегать, чтобы найти подходящий.
3. Убедитесь, что устройство действительно выдаёт PPS, для этого проверьте порт утилитой gpsmon.
4. Откройте файл /etc/conf.d/gpsd и отредактируйте следующую строку.
так, чтобы стало
Это изменение требуется для того, чтобы gpsd при старте сразу же начинал поиск источников СРНС.
5. Запустите, или перезапустите gpsd.
Для дистрибутивов с systemd, используйте соответствующую команду systemctl.
6. Проверьте консольный вывод команды cgps.
Нужно удостовериться в том, что данные исправно поступают со спутников. В консоли должно быть нечто схожее с иллюстрацией.
Вывод консольной команды cgps.
7. Настало время отредактировать файл /etc/ntp.conf.
Верхняя запись NTP0 указывает на универсальный источник времени, доступный почти на всех устройствах GPS. Нижняя запись NTP1 определяет гораздо более точный PPS источник.
8. Перезапустить ntpd.
Для дистрибутивов с systemd, используйте команду systemctl.
$ sudo systemctl restart ntp
Читайте также: