СЛУЖБА ТОЧНОГО ВРЕМЕНИ - NTPd
Автор xdriver (C) xmaksim(@)mail(.)ru
Принцип работы
Функциональность NTP основана на понятии главных серверов времени (называемых серверами первого эшелона), получающих сведения о точном времени из высокоточных источников, например от локально подключенной Глобальной системы рекогносцировки (GPS) или снимающих их с цезиевых часов. Сервер, синхронизирующийся с сервером первого эшелона, называется сервером второго эшелона — эшелона исходного сервера + 1. По мере увеличения номера слоя точность времени может слегка снижаться.
Принципиальными проблемами синхронизации времени являются учет сетевого ожидания и времени обработки пакетов и серверы с неточной установкой времени. Например, если сервер времени отправляет пакет «Точное время — 12:00:00, устано вите часы на 12:00:00», а пакету требуется 2 секунды на достижение места назначения, то часы на клиентском компьютере будут отставать на 2 секунды, Если на обработку пакета клиенту требуется еще 1 секунда, тогда клиентский компьютер будет отставать на 3 секунды.
NTP преодолевает эти проблемы несколькими способами:
• измерением времени ожидания с помощью временных меток клиента и сервера;
• учетом времени, необходимого на обработку сетевых пакетов;
• использованием кратных выборок с множественных серверов для обеспечения точности;
• составлением «черных списков» серверов, выдающих непоследовательные или неточные результаты.
NTP использует порт 123 UDP
В пакет входит следующее:
• ntpq для запроса серверов NTP;
• ntpd поддерживает точность локальных часов и (опционально) обеспечивает клиентам службу NTP;
• ntptrace прослеживает цепь сервера NTP к исходному серверу;
• ntpdate — одноразовая программа обновления часов (в ближайшем будущем устареет).
Настройка на сервер точного времени
Онлайн список общедоступных серверов NTP
http://support.ntp.org/bin/view/Servers/WebHome
Синхронизация времени через NTP
Ручная синхронизация:
ntpdate time.nist.gov ntp.ubuntu.com
18 Aug 17:32:35 ntpdate[3558]: step time server 80.127.4.179 offset -358.420872 sec
Установка времени:
ntpdate -bs ntp.ubuntu.com
Через Crontab
crontab –e
0 * * * * /usr/sbin/ntpdate [серверы NTP]
Троекратное упоминание сервера europe.pool.ntp.org говорит об использовании
трех разных серверов, включенных в пул серверов времени.
Автоматическая синхронизация:
Установка сервера:
apt-get install ntp-server
Файл конфигурации:
/etc/ntp.conf
server ntp.ubuntu.com
server time.nist.gov
server europe.pool.ntp.org
Разрешение доступа из локальной сети:
По умолчанию ваш сервер NTP будет доступен всем хостам в Интернет. Параметр restrict в файле /etc/ntp.conf позволяет вам контролировать, какие машины могут обращаться к вашему серверу.
Если вы хотите запретить всем машинам обращаться к вашему серверу NTP, добавьте следующую строку в файл /etc/ntp.conf:
restrict default ignore
Если вы хотите разрешить синхронизировать свои часы с вашим сервером только машинам в вашей сети, но запретить им настраивать сервер или быть равноправными участниками синхронизации времени, то вместо указанной добавьте строчку
restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap
/etc/ntp.conf может содержать несколько директив restrict
restrict 10.0.0.0 mask 255.0.0.0 noquery
Логи сервера:
/var/log/ntpstats/
Проверка запросов:
ntpq –p
Запуск сервера:
/etc/init.d/ntp start
_____________________________________
Копирование материала разрешено только при наличии ссылки на источник:
неофициальный проект GNU/Linux ХМАО-Югра www.oslinux.ru



Чтобы выполнить команду ntpdate, предварительно нужно остановить ntpd, если таковой установлен и запущен.
Чтобы время на станции автоматически синхронизировалось с сервером во время загрузки ("поднятия" сетевой карты), нужно прописать сервер времени в файле /etc/default/ntpdate в переменной NTPSERVERS.
-------------------------
Улюшов Вячеслав