Как я могу проверить текущую конфигурацию NTP системы
Как я могу проверить текущую конфигурацию NTP системы?
Мне нужно проверить текущую конфигурацию NTP в некоторых системах Windows. В идеале я хотел бы иметь возможность сделать это через командную строку вместо навигации по экранам конфигурации.
(Я работаю над несколькими различными версиями ОС, и экраны конфигурации, как правило, не всегда находятся в одном и том же месте между версиями.)
Я надеюсь найти быструю, запоминающуюся команду, которую я могу просто вставить в консоль CMD, чтобы получить результат. Тем не менее, пакетный файл, который я могу взять с собой, тоже подойдет.
В частности, мне нужно следующее:
- Показать, настроена ли система на получение времени от NTP-сервера.
- Показать серверы NTP, с которых система получает время.
- Показать время последней синхронизации.
- Показать текущее время в системе.
Какая команда (команды) была бы необходима для достижения этих результатов?
Ищите решение, совместимое с Windows XP, 7, Server 2003 и Server 2008.
В командной строке введите
w32tm /query /configuration дает вам конфигурацию, которую вы настроили.
w32tm /query /status дает вам такую информацию, как:
- слой
- индикатор скачка
- точность
- последняя синхронизация
- NTP сервер
- интервал опроса
time /T выводит текущее системное время.
Примечание. w32tm /query Впервые был доступен в клиентских версиях Windows Time для Windows Vista и Windows Server 2008. См. Инструменты и параметры службы времени Windows.
Это отвечает на ваш последний вопрос:
Откройте командную строку и введите точно:
w32tm /stripchart /computer:NTPServerNameOrIP /dataonly /samples:x (сколько вы хотите вернуть)
Возвращает время и разницу времени NTP-сервера. Если он возвращает время, ошибка: 0x80072746, то это не ваш NTP-сервер.
Пример команды ниже:
В другой машине я получил:
Тогда я попробовал:
Тогда я попробовал:
В другой машине я получил страницу помощи, на которой также сказано:
Так что, в основном, сервис не работал. Следуя этим инструкциям, я сделал:
Наконец, все вышеперечисленное будет работать. (примечание: если net start не получается, см. ниже) Тогда мне просто нужно было настроить мой ntp . Я сделал это с:
следуя инструкциям отсюда , но, возможно, это могло быть так просто, как:
как указано здесь . (10.0.0.5 — мой локальный NTP-сервер). Если вы не используете локальный NTP-сервер, вы можете использовать общий:
Наконец, вам может потребоваться сделать следующее, что мне не нужно:
Примечание: если net start w32time с ошибкой 1290 (Запустить службу не удалось , так как один или несколько услуг , в том же процессе , имеют несовместимые настройки типа службы SID) , а затем выполните действия , описанные здесь :
Затем следуйте, как указано выше.
ПРИМЕЧАНИЕ 2: если служба NTP не запускается автоматически при перезагрузке, это может быть связано с ее настройками запуска, как описано здесь : в зависимости от ваших окон, она может быть настроена на запуск только при присоединении к домену. Вы можете проверить с помощью:
Если он настроен на запуск при присоединении к домену, и у вас нет настроенного домена на вашем компьютере, он не запустит службу и не установит время. Вероятно, он не присоединяется к домену, потому что вы этого не хотите. В любом случае просто измените, какой триггер запускает его. Например, для запуска, когда машина имеет сеть (и, следовательно, может получить доступ к серверу), выполните:
Синхронизация времени через Интернет в Ubuntu
В нашем мире все относительно. И время не исключение. Если точное время наручных часов зависит от их стоимости и производителя, то время на компьютере зависит, в первую очередь, от частоты синхронизации с серверами точного времени.
Автоматическая синхронизация точного времени с сервером расположенным в Интернете — это хороший способ держать электронные часы ОС всегда «подведенными». Благодаря этому на вашем компьютере часы будут показывать всегда актуальное время.
Как работает синхронизация времени через Интернет?
Синхронизация времени производится посредством специального протокола передачи данных — NTP (Network Time Protocol). Этот протокол включает в себя набор сложных алгоритмов, которые позволяют с большой точностью синхронизировать время (до тысячных миллисекунд расхождения).
Есть более упрощенная версия этого протокола — SNTP (Simple Network Time Protocol), который используется в сетях, где не требуется высокая точность синхронизации (до 1 сек. расхождения).
Вся модель синхронизации времени NTP выглядит в виде дерева. В «кроне» этого дерева находятся «первичные сервера». Таких серверов во всем мире несколько штук. На них чаще всего установлены атомные часы и другие дорогостоящие хронометры. Синхронизировать время с «первичными» серверами у Вас не получится либо из-за их большой загруженности, либо из-за ограничения самими серверами.
«Вторичные» сервера синхронизируются с серверами первого уровня посредством протокола NTP. Расхождение по времени между ними достигает порядка 20 миллисекунд. Таких серверов значительно больше и поэтому целесообразней настраивать синхронизацию именно с ними.
После этого могут идти сервера третьего, четвертого уровня и т. д., к которым чаще всего относятся сервера синхронизации времени различных провайдеров и других IT-компаний.
Настройка синхронизации времени в Linux Ubuntu
По-умолчанию в операционной системе Ubuntu, начиная с версии 9.10, время синхронизируется автоматически при каждом запуске ОС. Но не лишнем будет это проверить и убедится в правильности работы синхронизации.
Чтобы синхронизировать время в Ubuntu нам нужно:
- Установить пакет синхронизации времени ntp:
- ntp1.imvp.ru
- ntp.psn.ru
- time.nist.gov
- pool.ntp.org
- ru.pool.ntp.org
Обратите внимание на кавычки. Такое написание правильное.
После каждого включения компьютера ваше время будет синхронизировано через Интернет и всегда будет актуальным. Если есть необходимость синхронизировать время вручную, то делается это командой:
В качестве сервера можно указать любой другой NTP-сервер или через пробел указать несколько серверов.
Большинство продавцов и торговых фирм, которые реализовывают терминалы сбора данных Casio, хваля залежалые модели, обязательно отмечают присутствие интерфейса Bluetooth. При этом они умалчивают, что этот терминал сбора данных не имеет Wi-Fi модуля, который более востребован в работе. Bluetooth больше подходит для связи с мобильным принтером для быстрой печати ценников, а не для передачи данных на сервер, что нужнее чаще.
При покупке терминала следует обратить на это внимание.
- Как ElementaryOS сделать пригодной для комфортной работы?
- Ошибка IE11 Exception in window.onload: Error: An error has ocurredJSPlugin.3005
- Просмотр ext3/ext4 разделов в Windows
- Настраиваем HotKey для DeaDBeeF
- Сегодня профессиональный праздник — День системного администратора
- Starus Partition Recovery — программа восстановления данных
- Меняем интерфейс Grub2 с помощью Burg
- Александр #
3 сентября, 18:07
Спасибо. Добавил в свой список “how-to”
доброго времени суток!
наскольо сам помню тему, параметр
ntpd_enable=»YES»
не отвечает за “Настраиваем автоматическую синхронизацию при каждой загрузке ОС”, если точнее, он отвечает за запуск демона ntpd, который сам себе достаточно умный и сам решает когда синхронизироваться…
в Ubuntu синхронизация времени как раз и происходит при поднятии сетевого интерфейса (см. файл /etc/network/if-up.d/ntpdate)…
при чём “дебиановцы” умные ребята,- запуск “нтпдейт” настроен таким образом, что, если в системе, будет установлен полный пакет “нтп”, “нтпдейт” не будет мешать работе “нтп”, более того он (“нтпдейт”) в своей работе будет использовать настройки “нтп”…
в чём разница между этими двумя пакетами?
“нтпдейт” просто утилита которая запускается, выполняет работу и уходит… её можно сравнить с таким поведением: Вы просыпаетесь утром, набираете на телефоне службу точного времени, подводите часы, если они отстают, и не вспоминаете про часы до следующего утра…
“нтп” это демон, процесс постоянно висящий в памяти и постоянно делающий работу… его можно описать так: Вы нанимаете рабочего, который каждые десять минут (к примеру) звонит в службу точного времени и подводит часы, при этом он ведёт журнал, в котором записывает насколько он каждый раз подвёл часы… благодаря журналу даже если у Вас отключат телефон (пропало соединение с серверами верхних уровней) работник (“нпт”) сможет и сам подводить часы…
у меня в “локалке” я настроил сервер времени используя “нпт”… он раздаёт точное время доменным контроллерам (на “оффтопике”)… моё ИМХО – в локалке такой сервер нужен, дома хватает и “нтпдейта”…
У меня Mint 9, в нем нет файла /etc/rc.conf, что делать чтобы автоматически при каждой загрузке ОС была синхронизация?
В rc.conf нет параметра “ntpd_enable” для РЕДАКТИРОВАНИЯ =)
Но есть параметр “exit” с параметром “0”. Прочитал закоменченную сопроводиловку в файле – ниче толком не понял )
Я так понимаю логично было бы добавить ntpd_enable=»YES» ДО “exit 0”.
Но шипко смущает фраза
>> … By default this script does nothing.
Таки надо “exit 1”?
ОС – Убунту 10.04 с последними обновлениями
x0r: наскольо сам помню тему, параметр ntpd_enable=»YES» не отвечает за “Настраиваем автоматическую синхронизацию при каждой загрузке ОС”, если точнее, он отвечает за запуск демона ntpd, который сам себе достаточно умный и сам решает когда синхронизироваться…
Спасибо, за развернутый комментарий.
полезная статья! только для камчатски вроде как бесполезная :))
зы: почаще бы обновлялся раздел статей на вашем сайте;)
Спасибо за столь разжеванную статью. Очень полезная функция. Жаль, что она не встроена в саму утилиту настройки времени как в винде…
root@desktop:/home/pupkin# crontab -l
# m h dom mon dow command
* */8 * * * ntpdate ru.pool.ntp.org
ntpdate есть из коробки.
Очень тупой вопрос. А разве время не синхронизируется само?
Замечания по оговоркам в статье:
1) Тысячная миллисекунды называется микросекундой
2) Первичные сервера находятся не в КРОНЕ , а в КОРНЕ дерева серверов.
Настройка времени ntp в CentOS
Это на своей рабочей станции вы всегда видите часы перед глазами и расхождение даже на 5 минут будет сразу видно. А на сервер заходят тогда, когда что-то случилось или просто для профилактики, но вряд-ли часто. И в консоли время не показывается. А сбиться оно может. А последствия могут быть разными. Простой вариант: дата создания или редактирования файла будет не верной. А если это почтовый сервер? Вы письмо приняли раньше, чем его отправили? Или запостили новость на сайт завтрашним днем? Дата важна для логов, для множества вещей. Итак, время должно быть точным.
В компьютере время бывает двух видов: аппаратное (BIOS) и программное (операционная система). В Windows при изменении программного времени вы автоматически изменяете и аппаратное, вы даже вряд ли задумывались, что время может быть разное.
Проверить показания системных часов (время в операционной системе) можно командой date:
А так можно посмотреть время на нулевом меридиане с точки зрения вашего сервера:
Проверить показания часов в BIOS можно командой:
Синхронизация времени
Для синхронизации времени используется ntp (network time protocol).
# yum install ntp
В конец файла /etc/sysconfig/ntpd добавим:
которая указывает обновить время в BIOS, а не только в операционной системе.
В файле /etc/ntp.conf есть директивы, указывающие, какой сервер времени использовать. По-умолчанию это:
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
Возможна ситуация, что ответ от серверов сразу не был получен. По-умолчанию, ntpd через определенный интервал опять повторит запрос. Чтобы уменьшить этот интервал и увеличить количество запросов, можно добавить опцию iburst (добавлена по-умолчанию). Это мой перевод найденного значения, суть такая, а вот совсем точно не скажу, что за зверь такой, iburst 🙂
Список серверов оставьте по-умолчанию или добавьте другой сервер, по желанию.
Осталось запустить сервис ntp:
service ntpd start
и добавить его в атозапуск:
chkconfig ntpd on
Командой date можно проверить изменения.
Изменение часового пояса в CentOS
Текущее значение временной зоны аппаратных часов (BIOS) находится в файле /etc/sysconfig/clock:
Для изменения программного (в операционной системе) часового пояса надо сделать следующее.
Сначала сделаем копию файла зоны. Это символьная ссылка.
mv /etc/localtime /etc/localtime.bak
В директории /usr/share/zoneinfo/ находятся файлы доступных к использованию временных зон. В нашем случае это /usr/share/zoneinfo/Europe/Moscow. В вашем случае может быть /usr/share/zoneinfo/Europe/Paris, да что угодно.
Создадим символьную ссылку /etc/localtime на нужную нам зону:
ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
Все. Мы с вами сменили часовой пояс системных часов.
Под конец приведу адрес сайта, где все изложено достаточно ясно: https://moonback.ru/page/centos-time. Спасибо тебе, добрый человек!
Авторизуйтесь для добавления комментариев!
Почтовый сервер Шифрование Squid 3proxy VPN Mikrotik Настройка сервера Виртуальные машины kvm Защита почты Резервное копирование Групповые политики SELinux WDS IPFW OpenVPN firewalld systemd Mobile libvirt Samba WiFi Iptables NAT Lightsquid Remote desktop Postfix Dovecot Удаление данных Софт Безопасность Настройка прокси Winbox User agent Хостинг Передача данных Онлайн сервисы Privacy LetsEncrypt VPN сервер RRDTool sendmail Rsync Linux SSH Система Windows Синхронизация Облако fail2ban FreeBSD
Network Time Protocol daemon (Русский)
Network Time Protocol является одним из самых распространённых методов для синхронизации системных часов на GNU/Linux с серверами времени в интернете. Он разработан для смягчения последствий переменной задержки в сети и обычно может поддерживать время с точностью до десятков миллисекунд при синхронизации через интернет. Точность в локальных сетях даже лучше, до одной миллисекунды.
The NTP Project предоставляет эталонную реализацию протокола, которая называется просто NTP. Эта статья описывает, как установить и запустить демон NTP: как клиент, так и сервер.
Смотрите System time#Time synchronization для информации о других реализациях NTP.
Contents
Установка
Установите пакет ntp . По умолчанию ntpd работает в режиме клиента и не требует дополнительной настройки. Вы можете перейти к разделу #Использование, если вас устраивает стандартный файл конфигурации Arch. Для настройки сервера смотрите #Режим сервера NTP.
Настройка
Основной демон ntpd настраивается в файле /etc/ntp.conf . Смотрите ntp.conf(5) для дополнительной информации.
Подключение к серверам NTP
NTP-серверы выстроены в многоуровневую иерархию; уровни называются слоями (англ. strata). Устройства, которые считаются самостоятельными источниками времени, считаются первичными (stratum 0); серверы, непосредственно подключённые к stratum 0 устройствам, считаются источниками stratum 1; серверы, подключенные к stratum 1 серверам, считаются источниками stratum 2 и так далее.
Важно понимать, что слой сервера не может рассматриваться как показатель его точности или надёжности. Обычно для синхронизации пользовательских машин используются stratum 2 серверы. Если вы ещё не знаете, к каким серверам вы собираетесь подключиться, вам следует выбрать пул серверов, расположенный недалеко от вашего местоположения, из списка серверов на pool.ntp.org (альтернативная ссылка).
Начиная с ntp version 4.2.7.p465-2, Arch Linux использует свой собственный стандартный пул NTP-серверов, который предоставляет the NTP Pool Project (смотрите FS#41700). Измените его под свои нужды, например если вы хотите использовать сервера своей страны:
Опция ‘iburst’ рекомендуется, с ее помощью посылается шквал пакетов, если не удается установить соединение с сервером с первого раза. Напротив, опцию ‘burst’ не используйте никогда без особого разрешения, так как Вы можете попасть в «черный список».
Режим сервера NTP
При настройке своего NTP-сервера проверьте, что у вас включен orphan mode [устаревшая ссылка 2021-11-13] , чтобы в случае пропажи интернета он продолжил обслуживать сеть; включите orphan mode с помощью параметра tos (может настроить до stratum 15), чтобы он никогда не использовался, пока интернет доступен:
Затем определите правила, которые позволят клиентам подключиться к вашему сервису (localhost тоже считается клиентом) с помощью команды restrict; в файле уже должна быть примерно такая строка:
Она запрещает всем модифицировать что-либо и предотвращает запрос статуса вашего сервера: nomodify запрещает перенастройку ntpd (через ntpq или ntpdc), а noquery важен для предотвращения дампа статуса ntpd (тоже через ntpq или ntpdc).
Можете также добавить следующие опции:
Если вы хотите изменить что-то из этого, читайте полную документацию по опции «restrict» в ntp.conf(5) , подробные инструкции по ntp и #Использование.
Теперь нужно указать ntpd, какие подключения к Вашему серверу разрешены; если Вы не конфигурируете сервер NTP, следующей строки будет достаточно:
Если Вы желаете принудительно определить адреса по протоколу IPv6, напишите -6 перед IP-адресом или именем хоста (-4 принудительно устанавливает протокол IPv4), например:
Наконец, установите файл-буфер (в котором будет находиться погрешность часов системы) и журнал (лог):
Примерная конфигурация выглядит так:
Использование
По умолчанию пакет настроен на режим клиента и использует отдельные пользователя и группу для избавления от root-прав. При ручном запуске через консоль всегда указывайте опцию -u :
Опция -u используется в двух systemd-службах. Они также используют опцию -g , которая отключает порог (panic-gate). Таким образом они будут синхронизировать время даже если время на NTP-серверах очень сильно отличается от локального системного времени.
Both services are tied to the system’s resolver, and will start synchronizing when an active network connection is detected.
Запуск ntpd при загрузке системы
Включите службу ntpd.service . Смотрите также #Запуск в chroot.
Используйте ntpq для просмотра списка настроенных пиров и статуса синхронизации:
Задержка, смещение и джиттер должны быть отличны от нуля. Серверы, с которыми синхронизируется ntpd, отмечены звёздочкой. Может потребоваться несколько минут, прежде чем ntpd выберет сервер для синхронизации; попробуйте проверить через 17 минут (1024 секунды).
Синхронизация один раз при загрузке
В качестве альтернативы включите службу ntpdate.service для однократной синхронизации (опция -q ) в non-forking режиме (опция -n ) при загрузке системы вместо запуска постоянно работающего демона в фоне. Этот метод не рекомендуется на серверах и в целом на машинах, которые работают без перезагрузки более нескольких дней.
Если синхронизированное время нужно записать в аппаратные часы компьютера, создайте drop-in файл для этой службы:
Советы и рекомендации
Запуск ntpd при подключении сети
ntpd может быть запущен вашим менеджером сети, чтобы демон запускался только при появлении интернета.
Добавьте следующие строки в ваш профиль netctl:
ntpd можно включать/выключать вместе со стартом сетевого соединения с помощью диспетчерских скриптов. Пакет networkmanager-dispatcher-ntpd AUR устанавливает скрипты, настроенные на запуск и остановку ntpd.service одновременно с соединением.
Для Wicd создайте запускающий скрипт в каталоге postconnect и останавливающий скрипт в каталоге predisconnect . Не забудьте сделать их исполняемыми:
KDE может использовать NTP (ntp должен быть установлен) путём нажатия правой кнопкой мыши по часам и выбору синхронизации даты/времени. Однако при этлм демон ntp должен быть отключен. [2]
Использование ntpd с GPS
Многие статьи предлагают настраивать ntpd на получение времени из GPS через общую память, однако как минимум с версии 4.2.8 появился гораздо более хороший метод. Он подключается напрямую к gpsd, так что gpsd должен быть установлен.
Добавьте следующие строки в /etc/ntp.conf :
Для проверки сперва убедитесь, что gpsd работает:
Затем подождите несколько минут и запустите ntpq -p . Он должен показать, что ntpd общается с gpsd:
- Если reach равен 0, это означает, что ntpd не смог пообщаться с gpsd. Подождите несколько минут и попробуйте снова.
- GPS-устройство должно поддерживать PPS. Вы можете проверить своё устройство с помощью команды ppscheck /dev/gps0 .
Запуск в chroot
Создайте каталог /etc/systemd/system/ntpd.service.d/ (если его ещё нет) и drop-in файл customexec.conf в нём со следующим содержимым:
Затем измените /etc/ntp.conf , прописав пути относительно chroot. Измените:
Создайте необходимое chroot-окружение, чтобы getaddrinfo() работал:
и пропишите bind mount для упомянутых файлов:
Затем перезапустите демон ntpd . После перезапуска вы можете проверить, действительно ли он запустился в chroot, посмотрев, куда ведёт символьная ссылка /proc/
Должно ссылаться на /var/lib/ntp вместо / .
Скорее всего придётся немного подождать, чтобы проверить корректность настройки driftfile, так как ntpd пишет и читает не очень часто. Если вы ошиблись, демон отпечатает ошибку в журнале; если всё в порядке, он обновит метку времени. Если вы не наблюдаете ошибок в течение суток и время при этом обновляется, значит всё хорошо.
Ограничение прослушивающих сокетов
Вы можете ограничить сокеты, которые прослушивает ntpd, используя опцию interface: