Как настроить NTP-сервер времени
Синхронизация времени имеет решающее значение в современных компьютерных сетях, потому что такие важные задачи, как управление, обеспечение безопасности, планирование и отладка сети, требуют точно установленного времени. При этом поддержание точного времени — сложная задача, поскольку часы компьютера смещаются на несколько минут или секунд каждый день. Решить проблему синхронизации временем на устройствах помогает протокол сетевого времени (NTP — Network Time Protocol). В статье рассказываем, что такое протокол NTP, зачем нужна настройка NTP-сервера, как включить NTP и как поменять время на сервере.
Что такое NTP
Протокол сетевого времени (NTP) — это протокол, который помогает синхронизировать время устройств (компьютеров, серверов, коммутаторов, маршрутизаторов) в сети.
Внешним источником точного времени, к которому делается запрос, является NTP-сервер синхронизации времени. В то же время сам NTP-сервер получает точное всемирное координированное время (UTC — Coordinated Universal Time) от авторитетного источника времени, такого как атомные часы или GPS.
Для обозначения того, кто запрашивает время, используется термин «NTP-клиент». А источником информации о времени служит NTP-сервер.
Конечной целью NTP является синхронизация часов всех участвующих устройств с высокой точностью относительно UTC.
Почему протокол NTP важен и как он используется
Если у вас только один компьютер, то установить точное время несложно. А если вы администрируете большое количество компьютеров, серверов и других устройств, которые должны работать с одинаковым временем, то стоит использовать NTP.
Вот несколько примеров использования NTP:
- Распределенные процедуры зависят от скоординированного времени, чтобы обеспечить правильную последовательность.
- Механизмы безопасности зависят от последовательного хронометража в сети.
- Обновления файловой системы, выполняемые на нескольких компьютерах, зависят от синхронизированного времени.
- Система управления сетью полагается на точность времени для измерения производительности и устранения неполадок.
Как устроен протокол NTP
Как мы уже говорили выше, для обозначения связи между участниками синхронизации времени используют термины «NTP-сервер» и «клиент». Где клиент — это система, стремящаяся синхронизировать свои часы с сервером, а сервер — источник информации о времени. Чтобы понять, как устроен протокол сетевого времени, обратимся к его структуре.
Протокол NTP использует иерархическую структуру источников времени. Каждый уровень этой иерархии называется слоем (от англ. stratum).
Первый слой образуют первичные серверы (главные серверы), которые синхронизируются непосредственно с авторитетными и самыми точными источниками времени — атомными часами или GPS.
Вторичные серверы уже получают время от первичных серверов, а также могут синхронизироваться между собой. А серверы третьего уровня синхронизируются с вторичным серверами и так далее. Всего может быть 15 слоев. Меньшее значение указывает на более высокую точность. Но все равно разница будет незначительной и составит микросек isунды.
Часто компании настраивают свой NTP-сервер в локальной сети и указывают его для других устройств. То есть этот NTP-сервер будет узнавать время у публичных серверов в интернете и потом передавать его вашим устройствам, подключенным к локальному серверу. Это обеспечит одинаковое время для всех ваших устройств в локальной сети.
Как синхронизировать время с NTP-сервером
Обеспечить бесперебойную работу программного обеспечения NTP возможно в режиме системной службы. В операционной системе Windows — это служба W32Time, для Linux — демон Ntpd.
Далее расскажем, как установить сервер времени, на каждой из этих систем.
Установка сервера времени NTP в Windows
Служба времени W32Time в операционной системе Windows синхронизирует время в домене Active Directory. Для начала нужно открыть открыть 123 udp порт для контроллера домена.
- Запустите cmd от имени администратора.
- Остановите службу W32Time.
net stop w32time
- Задайте адреса внешних источников времени.
w32tm /config /syncfromflags:manual /manualpeerlist:»0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org»
- Настройте ответ контроллера клиентам на запросы о синхронизации времени.
w32tm /config /reliable:yes
- Запустите службу W32Time.
net start w32time
- Проверьте результат.
w32tm /query /configuration
Готово! Синхронизация времени в домене Windows настроена.
NetTime: как синхронизировать время с сервером с помощью программы
С помощью утилиты NetTime можно быстро настроить синхронизацию времени с NTP серверами.
(1).png)
Так выглядят настройки программы:
(1).png)
В программе можно легко настроить список NTP-серверов, с которых вы хотите получать точное время, настроить интервал синхронизации и т.д.
Настройка времени на сервере для Linux
Ntpd (Network Time Protocol daemon) — это демон операционной системы Linux, который устанавливает и поддерживает системное время синхронно с серверами точного времени в интернете.
По шагам рассказываем, как установить и настроить ntpd в Linux.
Шаг 1. Установка.
Для установки используется менеджер пакетов sudo apt-get install ntp
Шаг 2. Редактирование файла конфигурации.
Откройте файл /etc/ntp.conf.
sudo nano /etc/ntp.conf
Шаг 3. Ввод серверов времени.
Укажите несколько NTP-серверов.
Шаг 4. Перезапуск.
sudo service ntp restart
Шаг 5. Проверка результата.
Проверьте, запущен ли ntpd.
Заключение
Протокол NTP нужен для синхронизации времени компьютеров и других устройств в сети. Компьютер, который хочет получить точное время, запрашивает его у NTP-сервера. В свою очередь NTP-сервер работает с точными атомными часами и GPS и синхронизируют время между клиентами (устройствами, которые запрашивают время), используя эти точные часы в качестве эталонного времени.
У протокола NTP иерархическая структура. На первом уровне иерархии находятся серверы, которые синхронизируются с эталонными часами. Вторичные серверы запрашивают время у серверов первого уровня. Серверы, которые находятся на третьем уровне, синхронизируются с серверами второго уровня и т.д. При этом каждый уровень показывает точное время, а разница составляет микросекунды.
Также в статье мы рассказали, как поставить время на сервере в операционных системах Windows и Linux. В Windows это можно сделать с помощью службы времени W32Time. В качестве альтернативы можно установить утилиту NetTime и синхронизировать время. Для настройки времени в операционной системе Linux используется демон ntpd.
Windows cервер для синхронизации времени в локальной сети (NTP)
Информация о материале Создано: 31 августа 2011
Возникла необходимость синхронизации времени на компьютерах в локальной сети на стандартном 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 машинах в локалке и забыл о проблемах с разным временем в отчетах, логах, видео архивах и прочее. Главное не забывать когда заводите в сети новую машину проделать с ней эту процедуру.
Ручная настройка сервера на рабочей станции Windows.
1. Клик на часах в трее
2. Изменить дату и время
3. Время интернет — Изменить натройки.
4. Впечатайте IP адрес или DNS имя вашего локального NTP сервера, или публичные рабочие сервера времени.
Мировые рабочие сервера времени для синхронизации времени:
0.pool.ntp.org
1.pool.ntp.org
2.pool.ntp.org
3.pool.ntp.org
5. Сохраняем все

Добавить комментарий
Комментарии
# Paramon 06.03.2017 11:57
Настроил NTP сервер на ХР с первого раза. Использую для домашних камер наблюдения.
Спасибо.
# Иван Королевский 06.01.2016 01:07
Не зная ваши сервера сложно давать советы. Скорее всего у вас на сервере времени включен фаервол. Плохой совет — отключить его совсем, но с этого можно начать чтобы выявить проблему. Поищите в yandex/google: «название вашей операционной системы» как отключить фаервол. Отключите его, и попробуйте получить время с него на другой машине используя ip адрес сервера. Если заработает, то лучше включить фаервол обратно и открыть 123 порт на нем для входящих соединений. Google в помощь!
# Максим Викторович Се 05.01.2016 04:12
Что-то попытался сделать из того, что Вы написали. Теперь пишет «Этот узел недоступен». Компьютеры видят друг друга в локальной сети. Подключения к интернету у меня в локальной сети нет. Пока и не нужно. Нужно только синхронизировать время.
Заранее благодарен!
# Максим Викторович Се 05.01.2016 01:54
Здравствуйте!
Искренне благодарю Вас за то, что отозвались на мой запрос!
Чувствуется, что Вы стремитесь мне помочь. За это отдельная благодарность! Но я ничего не понял. Дело в том, что я совершенно не искушён в вопросах локальной сети. Не могли бы Вы подробнее описать как проверить пингую ли я хост с сервером времени по ip адресу и остальные операции.
Заранее благодарю!
# Иван Королевский 04.01.2016 07:55
Цитирую Максим Викторович Се:
Компьютеры клиенты пишут «Возврат из операции произошёл из-за превышения времени ожидания».
Как быть? Подскажите пожалуйста!
Проверьте последовательно, пингуете ли вы хост с сервером времени по ip адресу, что говорит nslookup если вы используете fqdn имя как имя хоста с сервером времени, проверьте настройки firewall (123 порт должен быть открыт) на хосте с сервером, Запустите на клиенте telnet на сервер на 123 порту. Похоже у вас сетевые проблемы.
# Максим Викторович Се 04.01.2016 04:49
Компьютеры клиенты пишут «Возврат из операции произошёл из-за превышения времени ожидания».
Как быть? Подскажите пожалуйста!
# Роман 01.10.2014 01:50
Можно использовать программу для синхронизации времени, например ClockSynchro. Локальная сеть может быть не подключена к интернету. Программа состоит из 2х частей: клиентская и серверная части. Программа легка в настройке и эксплуатации.
http://clocksynchro.com/
# Иван Королевский 25.04.2014 12:28
Синхронизация времени на контроллерах домена:
w32tm /config /syncfromflags:manual /manualpeerlist:0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org /reliable:yes /update
net stop w32time
net start w32time
Проверка:
w32tm /stripchart /computer:domaincontrollername /samples:3 /dataonly
Настройка NTP сервера для локальной сети
Для синхронизации системных часов, серверов, рабочих станций, камер видео наблюдения, и других устройств в локальной сети.
Будем использовать локальный сервер точного времени с настроенным протоколом NTP (Network Time Protocol).
Устанавливаем NTP
apt-get install ntp
Все настройки производятся в одном единственном файле ntp.conf.
Добавляем данные в него.
mcedit /etc/ntp.conf
разрешим доступ к серверу времени только из нашей локальной сети
echo "#Разрешим доступ к серверу времени только из нашей локальной сети echo "restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap nopeer ">> /etc/ntp.conf
Посмотрим конфигурационный файл ntp.conf
cat /etc/ntp.conf
если указанной ниже строки нет то добавляем ее или изменяем.
restrict default kod notrap nomodify nopeer noquery
* где: restrict default — задает значение по умолчанию для всех рестриктов.
kod — узлам, которые часто отправляют запросы сначала отправить поцелуй смерти (kiss of death), затем отключить от сервера.
notrap — не принимать управляющие команды.
nomodify — запрещает команды, которые могут вносить изменения состояния.
nopeer — не синхронизироваться с хостом.
noquery — не принимать запросы.
restrict 192.168.0.0 mask 255.255.255.0 — разрешить синхронизацию для узлов в сети 192.168.0.0/24.
IP адреса 127.0.0.1 и ::1 позволяют обмен данные серверу с самим собой. перезапускаем наш сервер NTP
service ntp restart
Для настройки автоматического запуска демона при загрузке системы, используйте специальную команду.
update-rc.d ntp defaults
Тестирование
Проверить состояние получения эталонного времени можно командой:
ntpq -pn
Ее вывод будет представлен в виде таблицы:
remote refid st t when poll reach delay offset jitter ============================================================================== 0.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 1.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 2.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 3.debian.pool.n .POOL. 16 p - 64 0 0.000 0.000 0.000 -195.141.190.190 10.17.10.20 3 u 520 1024 377 60.802 2.831 0.071 -213.141.154.170 89.109.251.22 2 u 999 1024 377 27.349 0.745 0.296 *89.175.20.7 .GPS. 1 u 35m 1024 376 28.392 -0.606 0.137 -85.21.78.8 89.175.22.41 2 u 937 1024 377 27.077 -0.428 0.496 +194.190.168.1 .GPS. 1 u 861 1024 377 30.165 -0.225 12.432 +85.21.78.91 89.109.251.23 2 u 743 1024 377 27.434 -0.619 0.247
В таблице указываются следующие параметры:
remote — адрес сервера точного времени (в этой графе отображаются серверы из списка в конфигурационном файле); refid — вышестоящий сервер (тот, от которого сервер из предыдущей графы получает синхронизацию); st — уровень (stratum) сервера; t — тип пира (u- unicast, m- multicast); when — время последней синхронизации; poll — время в секундах, за которое демон NTP синхронизируется с пиром; reach — состояние доступности сервера; после восьми успешных попыток синхронизации значение этого параметра становится равным 377; delay — время задержки ответа от сервера; offset — разница времени между нашим сервером и сервером синхронизации; положительное значение этого параметра означает, что наши часы спешат, отрицательное — что отстают; jitter — смещение времени на удаленном сервере. Слева от адреса сервера могут быть указаны следующие символы: * сервер выбран для синхронизации; + сервер, пригодный для обновления (с которым можно синхронизироваться); — с сервером синхронизироваться не рекомендуется; х сервер недоступен.
Проверить, пригоден ли сервер из списка для синхронизации, можно при помощи утилиты ntpdate:
Устанавливаем ее
apt-get install ntpdate
и проверяем
ntpdate -q 127.0.0.1
server 127.0.0.1, stratum 2, offset -0.000000, delay 0.02563 4 Dec 12:30:58 ntpdate[24565]: adjust time server 127.0.0.1 offset -0.000000 sec
В данном случае вывода видно, что сервер пригоден для синхронизации, его уровень — 2, смещение — 0.000000 мс, задержка — 0.02563 мс.
Настройка клиента в Linux
Для этих можно использовать 2 способа настройки — с помощью ntp или утилиты ntpdate.
NTP
Устанавливаем ntp: Ubuntu / Debian:
apt install ntp
В настройка /etc/ntp.conf в качестве сервера оставляем только наш локальный сервер, например:
server 192.168.0.1
Остальные pool и server удаляем или комментируем. Перезапускаем NTP:
service restart ntp
ntpdate
Утилита командной строки выполняет синхронизацию только при запуске. Для автоматизации процесса, добавляем задание в cron:
crontab -e
*/30 * * * * root /usr/sbin/ntpdate 192.168.0.1
* в данном примере задание будет выполняться каждые 30 минут. /usr/sbin/ntpdate — полный путь расположения утилиты, в разных системах может быть разным — проверить стоит командой which ntpdate.
Настройка клиента в Windows
В командной строке выполняем:
w32tm /config /manualpeerlist:"192.168.0.1,0x8" /syncfromflags:manual /update
Возможные ошибки
1. the NTP socket is in use, exiting
Данная ошибка возникает при попытке синхронизировать время с помощью ntpdate, когда в системе работает демон ntp. Причина: NTP сокет в системе уже занят ntpd. Решение: либо не использовать ntpdate, так как ntp умеет сверять время, либо отключить сервис ntpd командой service ntp stop.
2. Connection refused
Возникает при попытке выполнить команду ntpq -p. Причина: нет разрешения на обращение к серверу. Решение: проверьте, удастся ли выполнить запрос командой ntpq -pn 127.0.0.1 или ntpq -pn ::1. Также убедитесь, что настройка restrict позволяет серверу подключаться к самому себе по нужному протоколу.
3. no server suitable for synchronization found
Ошибка синхронизировать время с другим сервером синхронизации. Причина: сервер синхронизации не доступен по одной из причин: 1) не работает или выключен, 2) установлен restrict, 3) на сервере не запущен ntpd, 4) нет сетевой доступности из-за проблем на сети или брандмауэра. Решение: Убедиться, что сервер доступен по сети.
Проверить настройки ntp.conf — наличие соответствующего restrict.
Проверить состояние сервиса командой service ntp status.
Проверить настройки брандмауэра — убедиться в наличие правила, которое разрешает UDP порт 123.
Читайте другие интересные статьи
Понравилась статья, расскажи о ней друзьям, нажми кнопку!
MikroTik NTP-сервер для локальной сети.
В процессе обслуживания ЛВС возникла необходимость обеспечить синхронизацию времени в большом количестве камер видеонаблюдения. От серверов в Интернете синхронизация почему-то проходила плохо и не всегда. На помощь пришел микротик. В роутере был запущен NTP-сервер для локальной сети, который сам синхронизировался из внешней сети (Интернета) без проблем. Как это все настроить описано далее.
Освоить MikroTik Вы можете с помощью онлайн-куса «Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Использован роутер RB750Gr3 c прошивкой v6.49. Пакет NTP-сервера не входит в базовый состав прошивки, его нужно скачивать отдельно. В прошивках версии v7.0 и выше пакет NTP встроен в главный файл прошивки.
Настройки выполняются через WinBox.
Настройка SNTP-клиента.
Этот вариант предназначен только для синхронизации самого микротика из сервисов NTP в интернете. Он немного отходит от темы инструкции, рассмотрим его кратко. Дополнительно скачивать ничего не нужно.
Переходим через боковое меню в System >> SNTP Client.

Активируем клиента галочкой напротив Enabled.
Primary NTP Server: 88.147.254.230 – IP-адрес первичного NTP сервера.
Secondary NTP Server: 88.147.254.232 – IP-адрес резервного NTP сервера.
Адреса ближайших серверов можно найти в интернете.
Сохраняем настройки на кнопку «ОК».
Через командную строку терминала: