Файл ntp.conf
, поставляемый в составе дистрибутивного пакета, практически обеспечивает работу сервера. Вам надо лишь добавить одну или несколько опций server, указывающих на серверы NTP. К выбору сервера надо подходить очень внимательно. Если сервер, используемый для синхронизации, расположен далеко или работает ненадежно или синхронизирован с помощью некорректного источника, показания системных часов на компьютеров вашей сети будут неточными. Как было сказано ранее, для небольшой сети в качестве источника синхронизирующих данных целесообразно выбирать сервер уровня 2. Этот вопрос интенсивно обсуждается в сети; материалы дискуссий вы можете найти по адресу http://www.eecis.udel.edu/~mills/ntp/servers.htm
. В конце этого документа даны ссылки на Web-страницы, содержащие списки временных серверов уровней 1 и 2. Постарайтесь использовать для синхронизации сервер, расположенный ближе других. Заметьте, что топология сетей отличается от географического размещения компьютеров. Так, например, компьютер, расположенный на другом континенте, может быть "ближе" к локальной машине, чем компьютер, находящийся в часе езды от нее.
Для того чтобы сравнить время передачи данных при обмене с различными серверами NTP, можно воспользоваться утилитой ping
. Для синхронизации желательно использовать тот сервер, от которого ответы на ping-пакеты приходят быстрее.
Если в списке указано, что, прежде чем использовать некоторый сервер, надо оповестить об этом оператора, не забудьте послать соответствующее сообщение. Возможно, вам имеет смысл рассмотреть в качестве претендентов на роль источника данных о времени менее известные серверы, расположенные ближе к вашей сети. Подобные серверы поддерживают многие крупные организации, в том числе провайдеры Internet. Если вы устанавливаете временной сервер для отдела, обсудите этот вопрос с системным администратором, обслуживающим сеть всей организации, и с провайдером.
Если вы приобретете GPS либо другое устройство, позволяющее принимать эталонные данные времени, вы можете установить в своей сети сервер уровня 1. Для работы с таким оборудованием вам понадобятся специальные драйверы. Эти драйверы устанавливают принадлежность устройства сети 127.127.0.0/16, в результате для работы с ним можно использовать обычную опцию server
. Дополнительную информацию об использовании указанных устройств вы можете найти в документации на драйверы Linux. Сведения о производителях устройств, позволяющих получать сигналы эталонного времени, приведены в документе http://www.eecis.udel.edu/~ntp/hardware.html
.
После редактирования ntp.conf
надо перезапустить сервер NTP. Сделать это можно с помощью сценария запуска SysV (подробно вопрос использования сценариев SysV обсуждался в главе 4). Если в сценарии запуска не предусмотрен вызов ntpdate
, перезапуск ntpd
не приведет к резкому изменению показаний системных часов, даже если компьютер был выключен в течение нескольких минут. Вначале ntpd
несколько раз сравнит показания системных часов с данными, предоставленными удаленным сервером, а лишь затем предпримет меры для коррекции системного времени. Вопросы контроля операций, выполняемых ntpd
, будут обсуждаться в следующем разделе.
Контроль операций NTP
Помимо визуального контроля показаний часов с помощью программы xclock
, для мониторинга операций NTP часто применяется программа ntpq
. После вызова эта программа запрашивает команды, определяющие ее дальнейшую работу. Команды вводятся в текстовом режиме. В процессе выполнения программа отображает информацию о работе сервера. Некоторые наиболее важные команды ntpq
описаны ниже.
• host
. По умолчанию ntpq
опрашивает сервер, находящийся на локальном компьютере. Задавая команду host
, можно использовать данную программу для проверки любого сервера NTP в сети. Аналогичный результат можно получить, задавая имя целевого узла при вызове ntpq
, например ntpq remote.threeroomco.com
.
• hostnames [yes | no]
. Если вы укажете опцию yes
, программа ntpq
, сообщая о действиях удаленных компьютеров, будет отображать имена узлов (подобная конфигурация предусмотрена по умолчанию). Опция no
указывает на то, что вместо имен должны отображаться IP-адреса. Такой же эффект вызовет опция -n
, заданная при вызове программы ntpq
.
• ntpversion
Данная команда позволяет указать версию протокола NTP, которая будет использоваться при передаче запросов серверу NTP.
• quit
. Данная команда задается после окончания работы с программой ntpq
и завершает ее выполнение.