OSS Group OSS Group
>  Карта
>  Поиск
>  Контакты
>  OSS Group  ::  Admin  ::  NTP
  
РегистрацияЗабыли пароль?

↓  Быстрый поиск по Wiki


Режим поиска:   И   ИЛИ

↓  Доступные Wiki

↓  Навигация по сайту

[]

↓  Последняя новость

Загрузка...

↓  На эту страницу ссылаются:

Get Firefox!
[~]

NTP

NTP - Network Time Protocol, позволяет синхронизировать локальное время хоста с эталонными источниками времени. Такими эталонными источниками времени выступают различные внешние устройства, начиная от атомных часов и кончая приёмниками радио-сигналов точного времени и временных отметок GPS.

Для определения степени "доверия" к источнику времени (его точности) вводится понятие "слой" (stratum). Серверы, непосредственно получающие данные от внешних источников времени, имеют stratum 1, с ними синхронизируются сервера с stratum=2, с которыми в свою очередь разрешается синхронизироваться частным серверам времени.

Для уменьшения нагрузки на публичные сервера времени рекомендуется установить в своей сети свой сервер NTP и внутри сети синхронизироваться уже с ним. К серверу NTP предъявляется довольно неприятное требование: он _должен_ в среднем иметь большой uptime. Из-за специфики протокола, необходимая точность часов достигается только на больших промежутках времени, и если сервер часто перегружается (или на нём рестартует демон ntp), то клиенты _не смогут_ получить с него время.

Установка NTP в AltLinux

Пакеты с NTP:

''Пакет'' ''Описание'' ''Назначение''
ntp The Network Time Protocol (NTP) Пустой пакет
ntp-aux The Network Time Protocol (NTP) auxiliary package Пустой пакет
ntp-doc The Network Time Protocol (NTP) documentation Пакет документации к серверу
ntp-utils The Network Time Protocol (NTP) utilities Утилиты для проверки функционирования демона NTP, генерации ключей и т.п.
ntpd The Network Time Protocol daemon Собственно демон NTP
ntpdate Set the date and time via NTP Утилита для получения времени с сервера NTP и установки локальных часов

Установка пакетов:

  • Для сервера времени: требуется установка пакета ntpd, ntpdate, желательно ntp-utils.
  • Для прочих серверов, если желательно постоянно иметь точное время: пакет ntpd
  • Для рабочих станций без особых требований к точности времени: ntpdate{{Полный сервер ntpd достаточно "тяжёлый" из-за различных вариантов синхронизации времени, авторизации и т.п. Ставить его на всех рабочих станциях возможно, но не всегда имеет смысл.}}

Настройка локального сервера точного времени

Требуется: настроить ntpd на использование 3х серверов точного времени, разрешить им менять время системы, разрешить хостам локальной сети получать время с сервера времени.

  • Найти IP-адреса{{Имена DNS в настройках ntpd _не работают_}} трёх{{Вроде бы с одним-двумя внешними серверами будут проблемы: не все клиенты захотят получать время с локального сервера}} внешних серверов NTP.
  • Прописать эти IP в /etc/ntp/step-tickers
  • Прописать эти IP в параметры server в /etc/ntp.conf в виде server <IP> minpoll 10 maxpoll 14
  • Снять все ограничения с этих серверов на обновление времени локального сервера: в /etc/ntp.conf добавить строки restrict <IP>
  • Снять ограничение на получение времени для требующихся локальных сетей: в /etc/ntp.conf прописать restrict <NET_IP> mask <MASK> nomodify notrust
  • Включить сервис: chkconfig ntpd on; service ntpd start
  • Если есть внутренний firewall, разрешить доступ к порту ntp по tcp и udp.

Если требуется синхронизация большого количества серверов NTP в пределах одной сети, то имеет смысл для упрощения настройки клиентов и уменьшения нагрузки на сервер использовать передачу сигналов точного времени через широковещательные сообщения. Для этого на сервере надо добавить в конфигурацию:

broadcast <broadcast IP>

Проверка функционирования сервера ntpd

Проверить работу ntpd можно, получив с него на хосте из локальной сети время с помощью ntpsweep –host localhost или ntpdc -c sysstat localhost и ntpdc -c sysinfo localhost. При этом следует учитывать:

  • запуск ntpdate на хосте с работающим ntpd не возможен
  • серверу точного времени нужно определённое время для синхронизации своих часов, накопления статистики, выхода на требуемый уровень (stratum). _В это время сервер на запросы ntpdate о времени отвечать не будет_! Мало того, не будет возможности соединения с ним в сети (по tcp). И не будет открыт tcp-порт сервиса ntp. И это может продолжаться от 10-15 минут на более-менее мощных серверах до суток(!!!) на менее мощных. Причём, естественно, перезагрузка "неотвечающего" сервера начнёт процесс заново.
  • И ещё раз: не нервничать и лишний раз серверы NTP не перегружать. Если не получается, то лучше подождать. Скорее всего, заработает.

По использованию ntpsweep - работает через udp, соединяется с указанными серверами (или через –host, или список из файла), показывает разницу между временем текущего хоста и удалённых серверов. Примеры:

# ntpsweep /etc/ntp/step-tickers
# ntpsweep -host localhost

Настройка ntpd на клиенте

Из пакета ntpd работает как клиент, обращаясь к одному из сервером времени в RUNET. При наличии в локальной сети сервера (серверов) NTP, в конфигурации требуется произвести следующие изменения:

  • Внести в файл /etc/ntp/step-tickers список серверов времени в локальной сети
  • Задать в /etc/ntp.conf в параметрах servers локальные сервера времени (server <IP>)
  • Разрешить в /etc/ntp.conf локальным серверам изменять время этой машины (restrict <IP>)

Как альтернативный вариант, можно использовать настройку локального сервера NTP с генерацией широковещательных сигналов точного времени. В это случае на клиентах задавать список серверов NTP в ntp,conf не требуется, вместо этого там прописывается:

multicastclient
authenticate no

При этом задать адрес (имя) сервера/серверов NTP в /etc/ntp/step-tickers _необходимо_ для первоначальной синхронизации времени (если показания часов на рабочей станции _сильно_ отличаются от истинных, NTP может и не суметь синхронизировать их).

Синхронизация времени с использованием ntpdate

Требуется периодическая синхронизация времени с сервером ntpd через вызов ntpdate. Для оформления конфигурации в едином стиле, требуется:

  • Создать директорию /etc/ntp
  • Создать в ней файл step-tickers со списком серверов времени в локальной сети
  • Создать в /etc/cron.d создать файл ntp:
# Time syncronization
0-59/15 * * * * root ntpdate -s "`/bin/sed -e 's/#.*//' /etc/ntp/step-tickers`"
  • Добавить вызов ntpdate в стартовый скрипт:
# echo "echo \"Time syncronization...\"" >> /etc/rc.d/rc.local
# echo "ntpdate -b \"\`/bin/sed -e 's/#.*//' /etc/ntp/step-tickers\`\"" >> /etc/rc.d/rc.local
# chmod u+x /etc/rc.d/rc.local

Настройка клиентов Windows XP

В WindowsXP/2003 тип сервера NTP стоит по-умолчанию NT5DS, его надо через gpedit.msc менять на NTP (ветка Конфигурация компьютера->Административные шаблоны->Система->Служба времени Windows->Поставщики времени)[http://mid.gmane.org/43340411.8070409@strat.chtts.ru].

Ссылки


Дата создания: 2006-05-24 12:40:07 (Фетисов Н. А. (naf))
Последнее изменение: 2006-05-24 12:40:07 (Фетисов Н. А. (naf))
Владелец: Фетисов Н. А. (naf)
Версия: 1


  Не показывать комментарии



Wiki::Admin   Оглавление  Карта раздела  Изменения за сутки  Изменения за неделю  Изменения за месяц



Valid XHTML 1.0 Transitional  Valid CSS!  [Valid RSS]