Чтение онлайн

на главную - закладки

Жанры

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

Шрифт:

• 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):

ipchains -A input -р udp -j ACCEPT -s 10.0.0.0/8 -d 0.0.0.0/0 123

ipchains -A input -p udp -j ACCEPT -s some.trusted.host -d 0.0.0.0/0 123

ipchains -A input -p udp -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0 123

Программы

и утилиты, относящиеся к службе точного времени

ntpdate

Эта утилита позволяет установить время на компьютере, используя список NTP-серверов.

Используемые ключи:

• -B – только плавный сдвиг, даже если смещение больше 128 мс;

• -b – всегда использовать settimeofday;

• -d – отладка;

• -р число – число запросов к каждому серверу (от 1 до 8, по умолчанию 4);

• -q – только запрос времени;

• -s – использовать syslog вместо stdout;

• -t timeout – время ожидания ответа (по умолчанию 1 с);

• -u – использовать непривилегированный порт.

ntpq

Утилита для получения состояния NTP-сервера и его изменения (использует NTP mode 6).

ntptrace

Утилита для поиска серверов первого уровня. Используемые ключи:

• -r число – количество запросов (по умолчанию 5);

• -t секунд – время ожидания ответа (по умолчанию 2).

xntpd

Собственно демон точного времени. Используемые параметры при запуске:

xntpd [-aAbdm] [-с config-file ] [-f drift-file ] [-k key-file ]

[-l log-file ] [-p pid-file ] [-r broadcast-delay ] [-s stats-dir ]

[-t key ] [-v variable ] [-V variable ]

Здесь:

• -a – разрешить аутентификацию;

• -A – запретить аутентификацию;

• -b – широковещательные сообщения;

• -c config-file – конфигурационный файл (по умолчанию /etc/ntp.conf);

• -d – отладка;

• -f drift-file — файл, хранящий смещение часов (по умолчанию /etc/ntp.drift);

– k key-file — файл ключей (по умолчанию /etc/ntp.keys);

 -l log-file — файл протокола (по умолчанию syslog).

xntpdc

Утилита для запроса состояния NTP-сервера и его изменения. Применяется только для xntpd-серверов. Использует NTP mode 7.

Публичные NTP-серверы

Список публичных серверов точного времени можно найти в Интернете. В любом случае вам придется этот список публичных серверов протестировать, чтобы определить задержки и качество соединения. Попробуйте сначала получить список серверов точного времени вашего провайдера (провайдеров). В списке литературы приведена ссылка на список серверов точного уровня первого и второго уровней, можно попробовать синхронизироваться от них.

Клиентские программы для синхронизации времени

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

UNIX/Linux

Для этих операционных систем можно на компьютере установить сервер xntpd и настроить его для получения точного времени. У этого решения есть как достоинства, так и недостатки. Положительным моментом является то, что мы можем максимально точно синхронизировать время и построить отказоустойчивую конфигурацию. Отрицательный момент – достаточно сложное конфигурирование сервера и относительно большой объем занимаемой оперативной памяти компьютера.

Более простой вариант – воспользоваться утилитой ntpdate. Маленькая, простая в конфигурировании, позволяющая получить достаточно точное время – расхождение порядка 100 миллисекунд. Для синхронизации времени следует выполнить следующую команду:

ntpdate -B ntp ntp2 ntp3

где ntp, ntp2, ntp3 – адреса серверов точного времени. Рекомендуется добавить эту строчку в таблицу заданий crontab (если у вас, конечно, постоянное подключение к Интернету).

Apple

Для компьютеров фирмы Apple есть клиент NTP, называющийся macntp.

Windows

Для операционной системы Windows существует несколько клиентов службы точного времени. В частности программа AboutTime, которую можно получить по адресу ftp.psn.ru/pub/abouttime_nomsie.zip. Или программа AnalogX Atomic TimeSync, получить которую можно по адресу www.analogx.com/contents/download/network/ats.htm

Настройка временной зоны

Обычно при установке операционной системы вы корректно выбираете свой часовой пояс. В качестве ориентира часового пояса в малых странах указывается столица государства, к примеру для Беларуси – Минск, для Украины – Киев. Для больших стран ориентируются на крупнейший город нужной часовой зоны.

Однако иногда можно ошибиться и выбрать зону неправильно или автоматически нажать ввод и получить временную зону, которую предлагает программа инсталляции дистрибутива по умолчанию. В результате – неправильное время.

Для корректной установки временной зоны необходимы всего два файла: /etc/localtime и /etc/sysconfig/clock. Первый файл отвечает за временную зону, а второй – за способ хранения и представления времени в системе. Рассмотрим поподробнее эти файлы.

/etc/localtime

Файл /etc/localtime представляет собой описание временной зоны, в которой определяется смещение часового пояса относительно Гринвича, даты перехода на летнее/зимнее время и некоторую дополнительную информацию. Формат файла – бинарный. Обычно разработчики дистрибутива поставляют файлы для всех временных зон в различных представлениях и форматах, из которых можно выбрать подходящую временную зону. В дистрибутиве Red Hat Linux 7.2 скомпилированные файлы временных зон находятся в каталоге /usr/share/zoneinfo/. Найдя подходящий для вашей временной зоны файл, скопируйте его в каталог /etc и переименуйте в localtime. В том невероятном случае, если вам не подходит файл временной зоны – сделайте его самостоятельно. Для этого необходимо создать текстовый файл, содержащий описание вашей временной зоны и скомпилировать его утилитой zic. Ниже приведен пример текстового файла, описывающего временную зону с переключением на летнее/зимнее время для Украины:

Rule dst 1982 maximum – Apr lastSun 2:00 1 «EET DST»

Rule dst 1982 maximum – Oct lastSun 2:00 0 "EET DST"

Zone EET 2:00 dst %s

Подробное описание утилиты zic смотрите в соответствующей справочной странице man.

/etc/sysconfig/clock

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

Пример:

ZONE="Europe/Kiev"

UTC=false

ARC=false

Как видно из примера, системные часы не используют универсальное представление времени, а система находится в Киевском часовом поясе (Гринвич + 2 часа).

Ссылки

• www.bog.pp.ru/work/xntpd.html – Сергей Богомолов. Bog BOS: xntpd (UNIX-сервер NTP – network time protocol).

• www.bog.pp.ru/work/ntp.html – Сергей Богомолов. Bog BOS: Network time protocol.

• www.tomsknet.ru/ftp/docs/rfc/rfc1305.txt – Network Time Protocol (Version 3) Specification, Implementation and Analysis (RFC 1305).

• cisco.opennet.ru/docs/RUS/lasg/time.html – сетевые сервисы: NTP.

• www.psn.ru/net/servis/ntp.shtml – как пользоваться службой NTP.

• www.eecis.udel.edu/~ntp – страница, посвященная xntp.

• www.eecis.udel.edu/~ntp/ntp_spool/html/index.htm – руководство по инсталляции и настройке xntp.

• www.eecis.udel.edu/~ntp/database/faq.html – часто задаваемые вопросы по протоколу NTP.

• www.eecis.udel.edu/~mills/ntp/clockl.html – официальный список NTP-серверов первого уровня.

• www.eecis.udel.edu/~mills/ntp/clock2.html – официальный список NTP-серверов второго уровня.

• www.eecis.udel.edu/~mills/ – официальный сайт разработчика стандарта NTP.

Глава 24 Сервер Samba – для клиентов Windows

Подобно службам NFS и Mars, которые позволяют сетевым пользователям подключаться к удаленным дискам и каталогам (первая служба для UNIX-систем, вторая для Novell), в операционной системе Linux существует пакет Samba, предназначенный для клиентов сети Microsoft Windows.

Этот пакет позволяет Linux-системе выступать в качестве файл– и принт-сервера в сети Microsoft Windows. Существует также и Samba-клиент для операционной системы Linux, позволяющий Linux-клиенту подключаться к ресурсам, предоставляемым серверами сети Microsoft Windows.

Такая объединенная схема дает ряд преимуществ:

• поскольку в целом операционная система Linux устойчивее Windows 9.v, повышается надежность функционирования системы;

• отпадает необходимость приобретать лицензионную Windows;

• если у вас уже есть Linux-сервер, представляется рациональным нагрузить его дополнительной работой;

• сервер Samba имеет возможность мониторинга и удаленного управления как через SSH, так и через Web-интерфейс, предоставляемый пакетом SWAT (Samba Web-based Administrative Tool).

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

Сама себе хозяйка

Красовская Марианна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Сама себе хозяйка

Ученичество. Книга 2

Понарошку Евгений
2. Государственный маг
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ученичество. Книга 2

Надуй щеки!

Вишневский Сергей Викторович
1. Чеболь за партой
Фантастика:
попаданцы
дорама
5.00
рейтинг книги
Надуй щеки!

На границе империй. Том 9. Часть 4

INDIGO
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 4

Эволюционер из трущоб. Том 6

Панарин Антон
6. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Эволюционер из трущоб. Том 6

Идеальный мир для Лекаря 19

Сапфир Олег
19. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 19

Гарем на шагоходе. Том 1

Гремлинов Гриша
1. Волк и его волчицы
Фантастика:
боевая фантастика
юмористическая фантастика
попаданцы
5.00
рейтинг книги
Гарем на шагоходе. Том 1

Академия проклятий. Книги 1 - 7

Звездная Елена
Академия Проклятий
Фантастика:
фэнтези
8.98
рейтинг книги
Академия проклятий. Книги 1 - 7

Беглец

Бубела Олег Николаевич
1. Совсем не герой
Фантастика:
фэнтези
попаданцы
8.94
рейтинг книги
Беглец

Сломанная кукла

Рам Янка
5. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сломанная кукла

Офицер-разведки

Поселягин Владимир Геннадьевич
2. Красноармеец
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Офицер-разведки

Имя нам Легион. Том 9

Дорничев Дмитрий
9. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 9

(Не)нужная жена дракона

Углицкая Алина
5. Хроники Драконьей империи
Любовные романы:
любовно-фантастические романы
6.89
рейтинг книги
(Не)нужная жена дракона

Этот мир не выдержит меня. Том 2

Майнер Максим
2. Первый простолюдин в Академии
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Этот мир не выдержит меня. Том 2