Книга: Сетевые средства Linux
Использование клиентских средств NTP
Разделы на этой странице:
Использование клиентских средств NTP
Ранее уже шла речь о том, что при формировании сети можно расположить на одном из компьютеров сервер NTP, который получал бы информацию о времени от внешнего сервера, и настроить остальные компьютеры так, чтобы они обращались за этой информацией к серверу NTP, расположенному в локальной сети. В результате во всей сети будет поддерживаться точное время, а трафик, связанный с NTP-обменом будет относительно невелик. На каждом из компьютеров такой сети будет выполняться программа ntpd
, но на всех машинах, кроме одной, она выступит в роли клиента. В сложной сети вы можете организовать несколько уровней серверов NTP. Например, для обслуживания клиентов в каждой подсети можно установить отдельный сервер NTP, а один из них настроить так, чтобы он обращался за сведениями о текущем времени в Internet. Такой подход минимизирует трафик NTP в локальной сети.
На подавляющем большинстве компьютеров используется лишь незначительная часть возможностей, предоставляемых ntpd
. Эта программа синхронизирует показания системных часов на узлах локальной сети с точностью до миллисекунд и обеспечивает отклонение от UTC меньше секунды. Кроме того, программа ntpd
работает постоянно и корректирует "дрейф" часов в течение дня. Но, как правило, потребности пользователей, работающих в сети, гораздо скромнее, для них вполне допустима погрешность в несколько секунд. Заметьте также, что ntpd
представляет собой сервер и при работе этой программы на компьютере возникает определенная угроза безопасности системы. Если в программе будет обнаружена ошибка, создающая "лазейку" для злоумышленников (а подобные ошибки были выявлены в ранних реализациях сервера), ваш компьютер окажется открытым для всех пользователей локальной сети, а возможно, и для всей Internet. По этой причине ntpd
в некоторых случаях целесообразно заменить программой ntpdate
. В качестве клиента службы времени также может применяться программа rdate
, но она использует отдельный протокол и уступает ntpdate
в точности.
На заметку
В настоящий момент разработчики NTP занимаются модернизацией программы ntpd
. Они реализуют в ней возможность однократной коррекции времени так, как это происходит при использовании ntpdate
. В последующих версиях NTP программа ntpdate
не будет поставляться. Уже сейчас некоторые пакеты NTP 4 распространяются без ntpdate
.
Для того чтобы запустить программу ntpdate
, надо ввести ее имя и указать адрес сервера, который будет использован для синхронизации времени. Вы можете задать несколько серверов, в этом случае программа автоматически выберет наиболее подходящий из них. Между именем программы и адресом сервера могут присутствовать следующие опции.
• -B
. По умолчанию ntpdate
поступает следующим образом. Если погрешность системных часов превышает половину секунды, программа устанавливает новое значение времени; при меньшей погрешности она выполняет подстройку часов, т.е. замедляет или ускоряет их ход. Данная опция указывает на то, что подстройка должна применяться в любом случае, даже если значение ошибки очень велико.
• -b
. Данная опция указывает на то, что даже при малом значении ошибки должно устанавливаться новое показание часов.
• -о версия
. С помощью этой опции вы можете указать программе версию NTP для использования.
• -р число_показаний_времени
. В обычных условиях ntpdate
устанавливает системные часы на основании четырех показаний времени, полученных с сервера.
С помощью данной опции вы можете увеличить или уменьшить это значение (но оно должно оставаться в диапазоне от 1 до 8).
• -q
. При указании опции -q
программа опрашивает сервер, не изменяя значение системного времени. В этом случае сервер не возвращает данные в формате, удобном для восприятия; результаты опроса могут быть использованы для вычисления времени задержки при взаимодействии с сервером.
• -s
. Данная опция применяется при запуске программы с помощью инструмента cron
.
• -u
. В обычных условиях ntpdate
использует при передаче пакетов стандартный порт 123. С помощью этой опции вы можете указать на необходимость применения непривилегированного порта (с номером выше 1024). В некоторых случаях это приходится делать при работе через брандмауэр.
После запуска программа ntpdate
выводит различные статические данные, в частности, уровень сервера, используемого для синхронизации, смещение и задержку. Если при выполнении программы не возникнет ошибка и если при ее вызове не была задана опция -q
, ntpdate
скорректирует показания системных часов, установив новое значение либо выполнив их подстройку.
Для периодического запуска программы ntpdate
часто используется инструмент cron
. В большинстве случаев достаточно запускать ntpdate
один раз в сутки, но если необходима более высокая точность, ее можно вызывать чаще, например, один раз в день. Периодическое выполнение ntpdate
уменьшит NTP-трафик по сравнению с использованием ntpd
.
Внимание
Если вы используете для синхронизации времени общедоступный сервер, не планируйте вызов ntpdate
на полуночь. Почему-то многие администраторы считают, что полночь — наилучшее время для коррекции системных часов, в результате в это время на сервер обрушивается лавина запросов. Указывайте для вызова ntpdate
любое другое подходящее время, например 1:23 или 3:48. Это обеспечит более равномерную нагрузку на сервер, а ваша служба времени будет работать более точно и надежно, так как при обращении к серверу не возникнут непредвиденные задержки.
- Настройка сервера NTP
- Восстановление с использованием инструмента gbak
- Типы страниц и их использование
- Использование констант
- Использование переменной окружения ISC_PATH
- Использование сервера Yaffil внутри процесса
- Использование CAST() с типами дата
- Значимость: покупка как средство достижения цели
- Средства мониторинга
- Использование типов содержимого и столбцов
- Вызов хранимых процедур InterBase с использованием стандартного синтаксиса ODBC
- Использование кнопки Автосумма