Отчет о выполнении семестровой работы «Сервер синхронизации времени (ntp)» студентов второго курса, м-144 группы




Дата канвертавання24.04.2016
Памер112.45 Kb.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ
ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
КЕМЕРОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Математический факультет

Кафедра ЮНЕСКО по новым информационным технологиям

 
ОТЧЕТ



О ВЫПОЛНЕНИИ СЕМЕСТРОВОЙ РАБОТЫ
«Сервер синхронизации времени (NTP)»
студентов второго курса, М-144 группы
Тоцкого Андрея Александровича

Хворостинина Александра Викторовича
Специальность 010400 – «Фундаментальная информатика

и информационные технологии»


 

 

Руководитель:



А. Ю. Власенко

_____________________

 

Работа защищена



«____________________»

“____” _____________2015 г.

 

 

 



Кемерово 2015

СОДЕРЖАНИЕ



ОПИСАНИЕ РАБОТЫ 3

NTP Server на Linux (ntpd) 3

ХОД ВЫПОЛНЕНИЯ РАБОТЫ 5

ЗАКЛЮЧЕНИЕ 10

СПИСОК ЛИТЕРАТУРЫ 11

1.Стахнов А. А. Сетевое администрирование Linux. – СПб.:БХВ-Петербург, 2004. 11




ОПИСАНИЕ РАБОТЫ

Требуется выполнить следующую задачу:

Создать NTP-сервер 3-го уровня, который позволяет синхронизироваться с ним только подсети 192.168.1.0/255.255.255.128.

NTP Server на Linux (ntpd)


Network Time Protocol (NTP)  —  сетевой протокол для синхронизации внутренних часов компьютера с использованием сетей с переменной латентностью.

NTP использует для своей работы протокол UDP (порт 123). Система NTP чрезвычайно устойчива к изменениям латентности среды передачи.

В версии 4 способен достигать точности 10 мс при работе через Интернет, и до 0,2 мс и лучше внутри локальных сетей.

NTP использует иерархическую систему «часовых уровней» или «часовых слоев» (stratum). Уровень 1 синхронизирован с высокоточными часами, например, с системой GPS,ГЛОНАСС (Единая Государственная шкала времени РФ) или атомным эталоном времени. Уровень 2 синхронизируется с одной из машин уровня 1, и так далее.

Важно отметить, что слой не является показателем качества и надежности, это значит, что источник слоя 3 может дать сигнал более высокого качества, чем некоторые источники слоя 2.



ntpd - демон, который используется для обслуживания и синхронизации системного времени и даты с другими NTP-серверами и серверами точного времени в Интернет. Демон ntpd является одновременно и сервером времени и клиентом, в зависимости от настроек конфигурационного файла /etc/ntpd.conf (иногда /etc/ntp.conf), демон может и "принимать" время с уделенных серверов и "раздавать" другим хостам время.

ХОД ВЫПОЛНЕНИЯ РАБОТЫ

Перед настройкой необходимо убедиться в том открыт UDP порт 123. Настройки межсетевого экрана находятся в файле /etc/sysconfig/iptables. Для открытия порта 123 необходимо добавить строчку :

-A INPUT –p udp –m state --state NEW –m udp --dport 123 –j ACCEPT

Также, желательно сменить IP-адрес виртуальной машины так, чтобы он отличался от IP-адреса клиентской машины на одну цифру. Настройки IP-адреса находяться в файле /etc/sysconfig/network-scripts/ifcfg-eth0.




Установка ntpd


Установка демона сводится к установке следующего пакета: ntp (пакет включающий самого демона)

ntp-server:~# yum install ntp

После установки пакета, в большинстве дистрибутивов, демон будет уже сконфигурирован как ntp-клиент. Соответственно, автоматически были созданы основные конфигурационные файлы: /etc/ntp.conf и /var/lib/ntp/ntp.drift и автоматом запущен демон.
Перед настройкой демона на синхронизацию с внешним миром необходимо правильно настроить аппаратные часы и часовой пояс. Часовой пояс настраивается копированием необходимого файла зоны из каталога /usr/share/zoneinfo/ в файл /etc/localtime:

#cp /usr/share/zoneinfo/ /etc/localtime

Ниже указано то, что должно быть прописано в конфигурационных файлах

ntp-server:~# cat /etc/sysconfig/clock | grep UTC

UTC=true

ntp-server:~# cat /etc/default/rcS | grep UTC

UTC=yes

В первом примере указан конфигурационный файл, определяющий использование UTC для RH, второй - для Deb-дистрибутивов.

Настройка сервера ntpd


Сначала изменяем параметры запуска демона в следующем конфигурационном файле :

#cat /etc/sysconfig/ntpd

# Parameters for NTP daemon.

# See ntpd(8) for more details.

...

# Specifies additional parameters for ntpd.

NTPD_ARGS="-g"

Данный параметр позволит синхронизировать часы, даже если образовалась очень большая разница во времени.

Информация о конфигурации демона ntpd лежит в файле /etc/ntp.conf.

#cat /etc/ntp.conf

# Файлы сервера

driftfile       /var/db/ntp.drift

logfile /var/log/ntp.log

# Параметры указывают на то, что клиентам данного сервиса времени запрещено изменять его настройки, получать его статус. Они могут только синхронизировать время.

restrict default nomodify notrap nopeer noquery

# интернет-сервера

server  0.europe.pool.ntp.org

server  1.europe.pool.ntp.org

server  2.europe.pool.ntp.org

server  3.europe.pool.ntp.org

# локалхост без параметров - значит разрешено все. Параметры идут только на запреты.

restrict        127.0.0.1

restrict -6::1

# параметры для локальной сети

restrict        192.168.1.0  mask 255.255.255.128 nomodify notrap

Параметр server задает, какие серверы будут использоваться для синхронизации, по одному в каждой строке. Если сервер задан с аргументом prefer, то этому серверу отдается предпочтение перед остальными. Ответ от предпочтительного сервера будет отброшен, если он значительно отличается от ответов других серверов, в противном случае он будет использоваться безотносительно к другим ответам. Аргумент prefer обычно используется для серверов NTP, о которых известно, что они очень точны, такими, на которых используется специальное оборудование точного времени.

Параметр driftfile задает файл, который используется для хранения смещения частоты системных часов. Данный файл постоянно хранит какое-то значение, которое формируется на основании анализа прошедших корректировок времени и если внешние источники времени становятся недоступны, то корректировка времени происходит по значению из файла drift. Он не должен изменяться никакими другими процессами. И перед указанием данного файла в конфигурации - файл должен быть создан.

По умолчанию сервер NTP будет доступен всем хостам в Интернет. Параметр restrict  позволяет контролировать, какие машины могут обращаться к вашему серверу.

Дополнительные параметры конфигурации ntpd:


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

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

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

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

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

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

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

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

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

  • filegen [file {filename}] [type {typename}] [flag {flagval}] [link|nolink] [enable|disable]- определяет алгоритм генерации имен файлов, которые состоят из:

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

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

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

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

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

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

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

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

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

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

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



Управление демоном ntpd


Запуск или перезапуск службы ntpd:

#/etc/init.d/ntpd start

#/etc/init.d/ntpd restart

Остановка:



#/etc/init.d/ntpd stop

Демон имеет следующие параметры запуска:

-p  - PID-файл,
-g - разрешить переход на большой скачек времени
-c - конфиг файл
-q - принудительная ручная синхронизация
Автоматический запуск ntp

#chkconfig --level 345 ntpd on

Наблюдение за сервером ntpd и за синхронизацией


После настройки NTP будет держать время в синхронизированном состоянии. Этот процесс можно наблюдать при помощи команды NTP Query (ntpq):

ntp-server:~# ntpq -p

remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

-n3.time1.d6.hsd .PPS.            1 u   34   64  177   70.162    2.375   8.618

+ntp1.vniiftri.r .PPS.            1 u   33   64  177   43.479   -0.020  10.198

*ntp2.vniiftri.r .PPS.            1 u    6   64  177   43.616   -0.192   0.688

+ntp4.vniiftri.r .PPS.            1 u    4   64  177   43.623    0.440   0.546

-n1.time1.d6.hsd .PPS.            1 u   53   64   77   92.865  -11.358  38.346

-ns1.hsdn.org    .GPS.            1 u   40   64  177   78.057   -3.292  35.083

-ntp3.vniiftri.r .PPS.            1 u   44   64   77   47.667    2.292   2.611

-scylla-l0.msk.c 192.43.244.18    2 u   62   64   77   41.565   -1.564  28.914
Данная команда с ключом -p выводит на стандартный вывод список источников времени с их характеристиками. Значение каждой колонки следующее:

remote

Имя удаленного NTP-сервера. Если указать ключ -n, вы получите IP-адреса серверов вместо имён.



refid

Указывает, откуда каждый сервер получает время в данный момент. Это может быть имя хоста или что-то вроде .GPS., указывающее на источник глобальной системы позиционирования (Global Positioning System).



st

Stratum (уровень) это число от 1 до 16, указывающее на точность сервера. Единица означает максимальную точность, 16 -- сервер недоступен. Ваш уровень будет равен уровню наименее точного удаленного сервера плюс 1.



poll

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



reach

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



delay

Количество времени (в секундах) необходимого для получения ответа на запрос "который час? ".



offset

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



jitter

Дисперсия (Jitter) -- это мера статистических отклонений от значения смещения (поле offset) по нескольким успешным парам запрос-ответ. Меньшее значение дисперсии предпочтительнее, поскольку позволяет точнее синхронизировать время.



Значение знаков перед именами серверов

x - фальшивый источник по алгоритму пересечения;


. - исключён из списка кандидатов из-за большого расстояния;
- - удалено из списка кандидатов алгоритмом кластеризации;
+ - входит в конечный список кандидатов;
# - выбран для синхронизации, но есть 6 лучших кандидатов;
* - выбран для синхронизации;
o - выбран для синхронизации, но используется PPS;
пробел - слишком большой уровень, цикл или явная ошибка;
Служба ntpd сама отсеивает источники времени слишком выбивающиеся за рамки разумного. Через некоторое время после запуска ntpd выберет наиболее достоверные источники данных и будет синхронизироваться с ними.
Теперь можно синхронизироваться с виртуальной машиной через установленный IP-адрес.

ЗАКЛЮЧЕНИЕ

В ходе выполнения семестровой работы были изучены основные принципы работы серверов синхронизации времени (NTP), выполнена поставленная задача, а именно:

Создан NTP-сервер 3-го уровня, который позволяет синхронизироваться с ним только подсети 192.168.1.0/255.255.255.128.

Итого, получен ntpd-server, который синхронизируется с внешним миром, позволяет получать время для клиентов из локальной сети 192.168.1.0  с маской 255.255.255.128.


СПИСОК ЛИТЕРАТУРЫ




1.Стахнов А. А. Сетевое администрирование Linux. – СПб.:БХВ-Петербург, 2004.


2. Семенов Ю.А. Сетевой протокол времени NTP // Telecommunication technologies - Телекоммуникационные технологии. — 2014.

3.NTP Server на Linux (ntpd) [Электронный ресурс] (http://www.k-max.name/linux/ntp-server-na-linux/)





База данных защищена авторским правом ©shkola.of.by 2016
звярнуцца да адміністрацыі

    Галоўная старонка