Вход/Регистрация
Linux
вернуться

Стахнов Алексей Александрович

Шрифт:

• procedure-call – предназначен для получения высокоточного времени. NTP-клиент посылает запрос на сервер точного времени, который обрабатывает запрос и немедленно посылает ответ. Сервер не синхронизируется с клиентом;

• symmetric – предназначен для использования серверами точного времени. Представляет собой динамически реконфигурируемую иерархию серверов точного времени. Каждый сервер точного времени синхронизирует своих соседей и синхронизируется своими соседями в соответствии с правилами выбора соседей. Активный режим используется серверами точного времени низшего уровня с заранее определенными адресами соседей, пассивный режим используется серверами точного времени, близкими к первому уровню, и взаимодействующими с соседями с заранее неизвестными адресами.

Обеспечение достоверности данных

Алгоритм функционирования сервера точного времени подразумевает несколько способов для обеспечения достоверности данных.

• Если в течение восьми последовательных интервалов опроса от соседнего сервера точного времени не было сообщений, то этот сервер считается недостижимым.

• Осуществляется проверка времени:

– если время передачи совпадает с временем предыдущего сообщения – дублированный пакет;

– если время отправки сообщения не совпадает с временем, содержащимся в пакете, сервер считает, что он получил фальшивый пакет.

• Имеется алгоритм защиты от очень старых сообщений.

• Аутентификатор состоит из ключа и шифрованной контрольной суммы, которая создается с использованием алгоритма шифрования DES.

Формат NTP-пакета

Пакет NTP включает следующие поля:

• LI (leap indicator) – в конце суток должна быть вставлена секунда для синхронизации атомных и астрономических часов;

• VN – номер версии протокола;

• mode – режим работы сервера точного времени;

• stratum – уровень сервера;

• precision – точность часов сервера;

• poll interval – интервал запросов. Используется наименьший интервал из своего сервера и сервера, отвечающего на запросы;

• synchronization distance – полный цикл обмена сообщениями до первичного источника;

• synchronization dispersion – дисперсия задержек синхронизации;

• reference clock identifier – тип источника времени;

• reference timestamp – время последнего изменения источника времени;

• originate timestamp – время соседа, когда было отправлено последнее NTP-сообщение;

• receive timestamp – местное время получения последнего NTP-сообщения;

• transmit timestamp – местное время отправки текущего сообщения;

• authenticator (96 bit) – ключ и шифрованная контрольная сумма сообщения.

Рекомендуемая конфигурация

Рекомендуемая конфигурация подразумевает наличие трех местных серверов точного времени, соединенных между собой, каждый из которых подключен к двум различным внешним серверам. Клиенты службы точного времени подключаются к каждому местному серверу точного времени.

Стандарты

Используемые для протокола NTP стандарты приведены в табл. 23.1.

Таблица 23.1. Стандарты протокола NTP

Сервер xntpd

Для UNIX-платформы, в том числе и Linux, существует сервер точного времени, носящий название xntpd. Этот сервер полностью реализует стандарт RFC 1305 и имеет расширенные возможности, которые планируется включить в следующую версию стандарта. Входит в стандартную поставку большинства дистрибутивов Linux. Установка тривиальна. Файл конфигурации – /etc/ntp.conf.

Конфигурация сервера

Поскольку варианты конфигурирования сервера зависят от класса обслуживания, сервер имеет достаточно много настроек, которые в основном содержатся в конфигурационном файле /etc/ntp.conf.

Класс symmetric

Этот класс предназначен для конфигурирования сервера точного времени в режиме symmetric.

peer address [key key ] [version version ] [prefer] [minpoll minpoll ] [maxpoll maxpoll ]

Здесь:

• address – адрес симметричного сервера;

• key – 32-битный ключ для поля аутентификации (по умолчанию отсутствует);

• prefer – предпочитать данный сервер при прочих равных условиях;

• minpoll – минимальный интервал запросов (секунды, 2 в степени minpoll в диапазоне от 4 (16 с) до 14 (16 384 с), по умолчанию 6 (64 с));

• maxpoll – максимальный интервал запросов (секунды, 2 в степени maxpoll, по умолчанию 10—1024 с).

Класс procedure-call

Этот класс предназначен для конфигурирования сервера точного времени в режиме procedure-call.

• server address [key key ] [version version ] [prefer] [mode mode ]

• address – адрес сервера;

• key – 32-битный ключ для поля аутентификации (по умолчанию отсутствует);

• mode – режим.

Класс multicast

Предназначен для настройки multicast-режима. Обычно используется в локальных сетях.

• broadcast address [key key ] [version version ] [ttl ttl]

– address – адрес симметричного сервера;

– key – 32-битный ключ для поля аутентификации (по умолчанию отсутствует);

– version – версия протокола;

– ttl – время жизни пакета.

• broadcast client [ address] address – адрес клиента, получающего информацию.

• broadcastdeiay секунд – позволяет самостоятельно указать задержку в распространении пакета.

Общие параметры

Здесь описываются общие параметры настройки сервера xntpd/:

• driftfile driftfile – определяет файл, в котором хранится и извлекается при запуске сдвиг частоты местных часов;

• enable/disable auth/moni tor/pll/pps/stats — включить/выключить режим работы:

– auth — с неупомянутыми соседями общаться только в режиме аутентификации;

– monitor — разрешить мониторинг запросов;

– pll — разрешать настраивать частоту местных часов по NTP;

– stats — разрешить сбор статистики;

• statistics loopstats — при каждой модификации локальных часов записывает строчку в файл loopstats;

Формат файла loopstats:

– номер модифицированного дня по юлианскому календарю;

– секунды с полуночи (UTC);

– смещение в секундах;

– смещение частоты в миллионных долях;

– временная константа алгоритма дисциплинирования часов;

• statistics peerstats – каждое общение с соседом записывается в журнал, хранящийся в файле peerstats;

Формат файла peerstats:

– номер модифицированного дня по юлианскому календарю;

– секунды с полуночи (UTC);

– IP-адрес соседа;

– статус соседа, шестнадцатеричное число;

– смещение, с;

– задержка, с;

– дисперсия, с;

• statistics ciockstats – каждое сообщение от драйвера локальных часов записывается в журнал, хранящийся в файле ciockstats;

• statsdir имя-каталога-со-статистикой – задает имя каталога, в котором будут находиться файлы со статистикой сервера;

• filegen [file filename] [type typename] [flag flagval] [link | nolink] [enable | disable] – определяет алгоритм генерации имен файлов.

Имена файлов состоят из следующих элеметов:

– префикс – постоянная часть имени файла, задается либо при компиляции, либо специальными командами конфигурации;

– имя файла – добавляется к префиксу без косой черты, две точки запрещены, может быть изменена ключом file;

– суффикс – генерируется в зависимости от typename:

· none – обычный файл;

· pid – при каждом запуске xntpd создается новый файл (к префиксу и имени файла добавляются точка и номер процесса);

· day – каждый день создается новый файл (к префиксу и имени файла добавляются. yyyymmdd);

· week – каждую неделю создается новый файл (к префиксу и имени файла добавляются. yyyywww);

· month – каждый месяц создается новый файл (к префиксу и имени файла добавляются. yyyymm);

· year – каждый год создается новый файл (к префиксу и имени файла добавляются уууу);

· age – новый файл создается каждые 24 часа (к префиксу и имени файла добавляются а и 8-значное количество секунд на момент создания файла от момента запуска xntpd);

· link/noiink – по умолчанию создается жесткая ссылка от файла без суффикса к текущему элементу набора (это позволяет обратиться к текущему файлу из набора используя постоянное имя);

· enable/disable – разрешают/запрещают запись в соответствующий набор файлов;

• restrict numeric-address [mask numeric-mask ] [flag] … – задает ограничение доступа: пакеты сортируются по адресам и маскам, берется исходный адрес и последовательно сравнивается, от последнего удачного сравнения берется флаг доступа:

– нет флагов – дать доступ;

– ignore – игнорировать все пакеты;

– no query – игнорировать пакеты NTP 6 и 7 (запрос и модификация состояния);

– nomodify – игнорировать пакеты NTP 6 и 7 (модификация состояния);

– not rap – отказать в обеспечении mode 6 trap сервиса (удаленная журнализация событий);

– lowpriotrap – обслуживать ловушки, но прекращать обслуживание, если более приоритетный клиент потребует этого;

– no serve – обслуживать только запросы mode 6 и 7;

– nopeer – обслуживать хост, но не синхронизироваться с ним;

– not rust – не рассматривать как источник синхронизации;

– limited – обслуживать только ограниченное количество клиентов из данной сети;

– ntpport /non-ntpport – модификатор алгоритма сравнения адресов (сравнение успешно если исходный порт равен/неравен 123), алгоритм сортировки ставит эту строку в конец списка.

• clientiimit limit – для флага limited определяет максимальное количество обслуживаемых клиентов (по умолчанию 3);

• clientperiod секунд – сколько секунд считать клиента активным и учитывать при определении количества обслуживаемых клиентов;

• trap host-address [port port-number] [interface interface-address] – задать хост и порт, которые будут вести журнал;

• setvar variable – установка дополнительных переменных;

• logfile имя-файла – использовать файл имя-файла для ведения журнала вместо syslog;

• logconfig keyword – управление количеством сообщений, сбрасываемых в журнал. Ключевое слово может быть предварено символами равно (установка маски), минус (удаление класса сообщений), плюс (добавление); ключевое слово образуется слиянием класса сообщений (clock, peer, sys, sync) и класса событий (info, event, statistics, status); В качестве суффикса или префикса может использоваться слово all.

Обеспечение безопасности сервера

Если сервер точного времени не предназначен для широкой общественности, а используется только внутренней локальной сетью, желательно закрыть 123 порт для доступа извне, чтобы избежать возможной атаки типа denial of service (отказ в обслуживании), поскольку это грозит неправильным функционированием сервера. Также, если возможно, необходимо использовать шифрование.

Вот список правил для организации брандмауэра, закрывающего доступ к вашему серверу снаружи (см. гл. 29):

  • Читать дальше
  • 1
  • ...
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: