Время в сети очень важно, так как многие операции в сети должны грамотно синхронизироваться.
Например, очевидно, что при запуске резервного копирования через сеть время на сервере, где расположен ленточный накопитель, и время на сервере, откуда производится копирование, должно быть одинаковым – это особенно важно при автоматизации копирования на ленту, и еще важнее – при организации последовательного копирования на несколько лент, если объема одной недостаточно для завершения копирования.
Еще один пример важности синхронизации времени – возможные проблемы при сохранении на файловом сервере файлов с тех клиентских машин, чье время отличается от серверного. Из-за этого на клиентских системах может возникать ложное восприятие "свежести" или "несвежести" файлов, хранящихся на сервере. Согласитесь, неприятно сохранить файл и тут же убедиться, что он датирован вчерашинм днем. Приходится гадать, сохранен ли свежий файл в соседний каталог, или на сервере просто сбита дата, или дата неверна на клиентской машине.
Для того, чтобы узнать, который час, в UNIX принято использовать команду date. Она сообщает и текущую системную дату, и время. Команда time предназначена для другой цели – она подсчитывает время, потраченное системой на выполнение команды. Попробуйте
time 'find / -name \* '
для проверки, как много времени процессора займет составление и вывод полного списка файлов системы.
С помощью команды date можно не только узнать текущее время, но и установить его. Устанавливать системное время может только root.
Программа date понимает разные форматы дат, когда вы требуете установить дату, наиболее стандартным является формат
date hhmm # hhmm – часы минуты
или
date ссyyMMddhhmm.ss
где
сс – 19 или 20 ( cc – от "век" – century);yy – год (98, если 1998, или 67, если 2067);MM – месяц;dd – число месяца;hh – час;mm – минуты;ss – секунды.date
без параметров выводит текущую дату и время, в формате, определяемом параметрами локализации (locale).
В Solaris есть возможность установить сервер синхронизации времени, который будет отвечать на вопросы "который час?" от других машин. Клиент этого сервера – программа ntpdate. Она спрашивает время у сервера точного времени (также называемого сервером синхронизации времени) и директивно устанавливает время в своей системе. При маленьких отклонениях времени от эталонного она вызывает функцию "мягкого изменения" времени, когда время не устанавливается определенным одномоментно, а часы системы ежесекундно "подталкиваются" на долю секунды вперед или назад.
Программу ntpdate можно использовать и без собственного
Посмотрим, как работает ntpdate – программа установки системной даты и времени:
date Сбт 29 Май 2004 19:10:20
Установим заведомо неверное время:
date 1912 Сбт 29 Май 2004 19:12:00
Теперь запустим ntpdate и сообщим ей для ориентировки адреса двух эталонных серверов времени (я взял их из списка на www.ntp.org):
ntpdate tock.keso.fi ntp.psn.ru 29 May 19:10:31 ntpdate[10630]: step time server 194.149.67.130 offset -95.351227 sec
Повторим для надежности:
ntpdate tock.keso.fi ntp.psn.ru 29 May 19:10:39 ntpdate[10631]: adjust time server 194.149.67.130 offset -0.006045 sec
Очевидно, что вторая подвижка времени оказалась существенно меньше, чем первая: вначале часы были "возвращены" к правильному времени, а затем лишь слегка синхронизированы, причем в первом случае использовалась явная установка времени (step time server), а во втором – мягкая "подвижка" (adjust time server).
Программу ntpdate достаточно запускать только при старте системы, если только аппаратура компьютера исправна и таймер не требует постоянной коррекции.
Кроме программы ntpdate существуют и другие средства, предназначенные для организации синхронизации времени в сети. Программа ntpdate – это "клиентская" программа. В локальной сети организации имеет смысл установить по крайней мере один (лучше – два, чтобы был запасной) сервер времени. Именно он будет опрашивать серверы слоя 2, а компьютеры локальной сети будут сверять свои часы по этому локальному серверу времени. В качестве такого сервера в Solaris используют демон xntpd.
Для синхронизации времени в сети был разработан специальный протокол NTP (network time protocol), в настоящее время используется, в основном, версия 4 этого протокола, но серверы NTP обладают полной обратной совместимостью. Протокол предполагает существование нескольких "слоев" эталонных источников времени.
Как известно, в мире есть так называемые эталонные источники времени – цезиевые часы и радиосигналы точного времени со спутников. Такие эталонные источники, говоря языком протокола NTP, входят в слой 0 ( ) и являются максимально точными из всех доступных эталонов времени.
К серверам слоя 0 обращаются серверы слоя 1. Работающие на последних демоны xntpd (или ntpd – в других системах UNIX) распространяют точное время дальше, к серверам слоя 2 ( ). Именно к серверам слоя 2 обращаются обычные серверы точного времени из локальных сетей самых разных организаций.
Другими словами, серверы времени xntpd в нашей локальной сети представляет собой сервер слоя 3: вся совокупность таких серверов в локальных сетях и образуют слой 3. Номер слоя фактически означает дистанцию (число промежуточных серверов времени) от данного компьютера до эталонного источника точного времени. Важно отметить, что серверы времени одного слоя не общаются между собой.
Каждый NTP-сервер использует один или несколько источников точного времени, полностью полагаясь на них. Эти источники указываются в файле /etc/inet/ntp.conf. При старте xntpd отправляет им запрос, уточняя текущее время.
Каждый из серверов времени, которым мы доверяем, опрашивается несколько раз для получения достоверной статистики задержки передачи пакета. Если указано несколько серверов, время с каждого из них запрашивается многократно. Как правило, 5 минут уходит на опрос каждого сервера для получения показаний времени, которые следует расценивать как достаточно точные.
Запрос к серверу времени выполняется так:
xntpd ) указывает в отправляемом серверу пакете свое текущее системное время и отправляет этот пакет;Теперь клиент имеет возможность рассчитать задержку передачи пакета как половину от "времени передачи туда и обратно минус время обработки пакета сервером".
Если разница между эталонным и текущим системным временем не превышает 128 миллисекунд, то xntpd подстраивает частоту системных часов так, чтобы они догнали или затормозились до эталонного времени. Подстройка происходит довольно медленно и плавно.
Если разница превышает 1000 секунд, xntpd полагает, что имеет место фатальный сбой времени на локальной машине, и завершается с предсмертным воплем, который запишется в /var/adm/messages.
Если разница находится в пределах между 128 миллисекундами и 1000 секундами, то xntpd по умолчанию выставляет время сразу же, просто вызывая функцию settimeofday().
Как видно, коррекция времени может быть постепенная и резкая. При резкой коррекции системное время изменяется быстрым скачком, одномоментно. Можно запретить такое изменение демону xntpd, указав при запуске ключ –x. Если часы спешат, особенно не рекомендуется изменять время резко, поскольку ряд приложений, зависимых от врмени (например, СУБД), могут в результате сохранить неверные данные. Впрочем, при постоянной работе сервера xntpd, как и при регулярном опросе такого сервера с помощью ntpdate, сильное расхождение времени нашего сервера и эталона исключено. Не следует использовать в качестве сервера времени компьютеры со сбоями аппаратуры или разряженной (неисправной) батарейкой CMOS (x86). Кроме этого, сервер времени не должен быть сильно нагруженным ресурсоемкими задачами компьютером: он не сможет обеспечить быстрый ответ и корректную обработку запроса.
Для общения между собой серверы времени используют UDP порт 123.
Как мы уже знаем, чтобы обеспечить синхронизацию времени, в Интернете существуют "эталонные" серверы времени. Для получения показаний времени локальный сервер времени в своей сети следует настроить для обращений ко вторичным серверам (слой 2), так как нагрузка на главные серверы (слоя 1) очень велика. В России есть по крайней мере один устойчиво функционирующий эталонный сервер слоя 2: ntp. (IP-адрес 194.149.67.130). Он расположен в Пущино; вот его регистрационные данные с сервера www.ntp.org:
Location: Pushchino, Moscow region, Russia Geographic Coordinates: 54:50N, 37:37E Synchronization: NTP secondary (stratum 2), Alpha/Linux Service area: Russia Access policy: open access, please send a message to notify Contact: clockmaster@psn.ru
Информация о других эталонных серверах времени и о режиме доступа к ним может быть получена по адресу http://www.ntp.org.
Для того, чтобы пользоваться эталонным сервером времени, может требоваться регистрация или даже оплата этого сервиса. Однако, в Сети достаточно много таких серверов с публичным доступом, и хорошим тоном считается использовать такие серверы, отправив уведомительное письмо их администратору: просто для того, чтобы вежливо предупредить о том, что отныне еще один сервер времени будет получать информацию с их
Демон xntpd при старте читает файл /etc/inet/ntp.conf или принимает параметры из командной строки. Единственное, без чего он не может работать – адреса эталонных серверов и (или) режим работы.
Если файл /etc/inet/ntp.conf не удается прочесть и с ключом –c не указан иной файл конфигурации, демон, если был заранее скомпилирован с поддержкой NetInfo, прислушивается к широковещательным сообщениям в сети и пытается сам найти себе эталон времени. Маловероятно, что в этом его ждет успех, если сервер времени находится за фильтром пакетов (межсетевым экраном, firewall'ом – это одно и то же).
Программа ntpq позволяет получать информацию о текущей конфигурации прямо от сервера времени и изменять настройки xntpd "на ходу", без перезапуска сервера.
В командной строке вызова xntpd доступны следующие ключи:
-a – включить аутентификацию (по умолчанию – выключена);-A – выключить аутентификацию;-b – синхронизироваться по широковещательным сообщениям NTP;-c conffile – использовать указанный файл вместо /etc/inet/ntp.conf ;-d – включить режим отладки;-e authdelay – указать явно время в секундах, которое требуется данной системе для вычисления ключа;-f driftfile – указать путь к файлу со значением сдвига часов;-k keyfile – указывает файл с ключами для аутентификации в NTP;-l logfile – указывает файл протокола; по умолчанию протоколирование ведется через syslog() ;-m – синхронизировать часы по multicast сообщениям NTP на группу multicast-адресов 224.0.1.1; требует поддержки multicast в ядре;-p pidfile – указывает файл, в который пишется PID процесса xntpd.В файле /etc/inet/ntp.conf команды располагаются по одной в строке, за ключевым словом команды могут идти аргументы. Строки, начинающиеся со знака решетки ( # ), являются комментариями. Пустые строки игнорируются. Аргументы отделяются от команды и друг от друга пробелами.
Параметры настройки xntpd могут быть установлены в файле или из командной строки, ключи командной строки имеют преимущество перед установками в файле конфигурации.
Аргументы могут быть именами компьютеров или IP-адресами, а также спецификацией времени (числом с плавающей точкой) и текстовой строкой.
Рассмотрим пример конфигурации:
server ntp.cpsc.ucalgary.ca prefer server ntp.my-provider.ru server louie.udel.edu driftfile /var/db/ntp.drift
Параметр server указывает, какие prefer, как ntp.my-provider.ru в нашем примере, то ответу этого сервера отдается предпочтение перед остальными. Парметр server нельзя использовать в случае, если наш сервер определяет соседей, слушая широковещательные пакеты NTP.
Ответ даже от предпочитаемого сервера будет отброшен, если он значительно отличается от ответов других серверов. В ином случае он будет использоваться вне зависимости от других ответов. Модификатор prefer применяется для тех серверов NTP, о которых известно, что они очень точны. Например, серверам из слоя 2 имеет смысл отдавать предпочтение перед серверами провайдера, филиала вашей фирмы или дружественной компании.
Параметр driftfile задает файл, который надо задействовать для хранения смещения частоты системных часов. Файл требуется программе xntpd для автоматической компенсации естественного смещения часов. При этом обеспечивается правильная настройка часов, даже если компьютер на некоторое время отключается от внешнего источника синхронизации времени, что может быть вызвано сбоем сети или этого источника.
В файле, имя которого указанно в строке driftfile, хранится история ответов серверов NTP. Этот файл содержит служебную информацию для сервера NTP и другие процессы не должны иметь доступа к этому файлу для записи в него.
Файл конфигурации /etc/inet/ntp.conf также определяет параметры доступа к нашему NTP-серверу. По умолчанию сервер NTP доступен любым хостам, которые могут к нему обратиться. При отсутствии фильтрации пакетов это означает свободный досутп из Интернет для всех.
Для ограничения группы компьютеров, имеющих право запрашивать время у xntpd, используется параметр restrict:
restrict 192.168.1.0 mask 255.255.255.0 nomodify
Такая установка разрешает обращаться к xntpd только компьютерам из сети 192.168.1.0 с маской сети 255.255.255.0, но запрещает им требовать от сервера NTP изменить его локальное время.
Директив restrict в файле /etc/inet/ntp.conf может быть несколько.
Демон xntpd также позволяет ввести аутентификацию для обращений к нему или настроить аутентификацию для обращения к тем эталонным серверам, которые ее требуют.
Если ваша сеть невелика, а требования к точности времени умеренные (часы могут спешить или отставать на 30 миллисекунд и немного больше), то xntpd может показаться не лучшим выбором. Для синхронизации часов только при загрузке системы достаточно использовать программу ntpdate.
Ее можно вызывать не только при загрузке системы. Если в процессе работы системные часы отклоняются несильно и высокая точность (30 мс или выше) не нужна, запускайте раз в два часа ntpdate для синхронизации с эталонным сервером из cron:
1 */2 * * * root /usr/sbin/ntpdate -b –s адрес_NTP-сервера
Для просмотра и изменения параметров xntpd используйте программу ntpq. В частности, для вывода информации об известных источниках точного времени запустите ее с ключом -p:
ntpq -p remote refid st t when poll reach delay offset disp ================================================================= ensb.cpsc.ucalg montpelier 2 u 26 64 1 189.36 2879.39 15875.0
Если надо проследить цепочку, по которой точное время добирается до вашей сети, пригодится программа ntptrace:
ntptrace ntp.cpsc.ucalgary.ca ensb.cpsc.ucalgary.ca: stratum 2, offset 2.867748, synch distance 0.05968 montpelier.ilan.caltech.edu: stratum 1, offset 2.863728, synch distance 0.00113, refid '' ntptrace localhost localhost: stratum 16, offset 0.000014, synch distance 1.00270
Так как служба времени в Solaris контролируется с помощью SMF, можно использовать обычные для этого механизма команды для наблюдения и управления службой:
svcprop -v svc:/network/ntp network/entities fmri svc:/network/service network/grouping astring require_any network/restart_on astring error network/type astring service general/entity_stability astring Unstable general/single_instance boolean true dependents/ntp_multi-user fmri svc:/milestone/multi-user start/exec astring /lib/svc/method/xntp start/timeout_seconds count 1800 start/type astring method stop/exec astring :kill stop/timeout_seconds count 60 stop/type astring method tm_common_name/C ustring Network\ Time\ Protocol\ \(NTP\) tm_man_xntpd/manpath astring :default tm_man_xntpd/section astring 1M tm_man_xntpd/title astring xntpd tm_man_ntpdate/manpath astring :default tm_man_ntpdate/section astring 1M tm_man_ntpdate/title astring ntpdate tm_man_ntpq/manpath astring :default tm_man_ntpq/section astring 1M tm_man_ntpq/title astring ntpq
Время в сети очень важно, так как многие операции в сети должны грамотно синхронизироваться.
Например, очевидно, что при запуске резервного копирования через сеть время на сервере, где расположен ленточный накопитель, и время на сервере, откуда производится копирование, должно быть одинаковым – это особенно важно при автоматизации копирования на ленту, и еще важнее – при организации последовательного копирования на несколько лент, если объема одной недостаточно для завершения копирования.
Еще один пример важности синхронизации времени – возможные проблемы при сохранении на файловом сервере файлов с тех клиентских машин, чье время отличается от серверного. Из-за этого на клиентских системах может возникать ложное восприятие "свежести" или "несвежести" файлов, хранящихся на сервере. Согласитесь, неприятно сохранить файл и тут же убедиться, что он датирован вчерашинм днем. Приходится гадать, сохранен ли свежий файл в соседний каталог, или на сервере просто сбита дата, или дата неверна на клиентской машине.
Для того, чтобы узнать, который час, в UNIX принято использовать команду date. Она сообщает и текущую системную дату, и время. Команда time предназначена для другой цели – она подсчитывает время, потраченное системой на выполнение команды. Попробуйте
time 'find / -name \* '
для проверки, как много времени процессора займет составление и вывод полного списка файлов системы.
С помощью команды date можно не только узнать текущее время, но и установить его. Устанавливать системное время может только root.
Программа date понимает разные форматы дат, когда вы требуете установить дату, наиболее стандартным является формат
date hhmm # hhmm – часы минуты
или
date ссyyMMddhhmm.ss
где
сс – 19 или 20 ( cc – от "век" – century);yy – год (98, если 1998, или 67, если 2067);MM – месяц;dd – число месяца;hh – час;mm – минуты;ss – секунды.date
без параметров выводит текущую дату и время, в формате, определяемом параметрами локализации (locale).
В Solaris есть возможность установить сервер синхронизации времени, который будет отвечать на вопросы "который час?" от других машин. Клиент этого сервера – программа ntpdate. Она спрашивает время у сервера точного времени (также называемого сервером синхронизации времени) и директивно устанавливает время в своей системе. При маленьких отклонениях времени от эталонного она вызывает функцию "мягкого изменения" времени, когда время не устанавливается определенным одномоментно, а часы системы ежесекундно "подталкиваются" на долю секунды вперед или назад.
Программу ntpdate можно использовать и без собственного
Посмотрим, как работает ntpdate – программа установки системной даты и времени:
date Сбт 29 Май 2004 19:10:20
Установим заведомо неверное время:
date 1912 Сбт 29 Май 2004 19:12:00
Теперь запустим ntpdate и сообщим ей для ориентировки адреса двух эталонных серверов времени (я взял их из списка на www.ntp.org):
ntpdate tock.keso.fi ntp.psn.ru 29 May 19:10:31 ntpdate[10630]: step time server 194.149.67.130 offset -95.351227 sec
Повторим для надежности:
ntpdate tock.keso.fi ntp.psn.ru 29 May 19:10:39 ntpdate[10631]: adjust time server 194.149.67.130 offset -0.006045 sec
Очевидно, что вторая подвижка времени оказалась существенно меньше, чем первая: вначале часы были "возвращены" к правильному времени, а затем лишь слегка синхронизированы, причем в первом случае использовалась явная установка времени (step time server), а во втором – мягкая "подвижка" (adjust time server).
Программу ntpdate достаточно запускать только при старте системы, если только аппаратура компьютера исправна и таймер не требует постоянной коррекции.
Кроме программы ntpdate существуют и другие средства, предназначенные для организации синхронизации времени в сети. Программа ntpdate – это "клиентская" программа. В локальной сети организации имеет смысл установить по крайней мере один (лучше – два, чтобы был запасной) сервер времени. Именно он будет опрашивать серверы слоя 2, а компьютеры локальной сети будут сверять свои часы по этому локальному серверу времени. В качестве такого сервера в Solaris используют демон xntpd.
Для синхронизации времени в сети был разработан специальный протокол NTP (network time protocol), в настоящее время используется, в основном, версия 4 этого протокола, но серверы NTP обладают полной обратной совместимостью. Протокол предполагает существование нескольких "слоев" эталонных источников времени.
Как известно, в мире есть так называемые эталонные источники времени – цезиевые часы и радиосигналы точного времени со спутников. Такие эталонные источники, говоря языком протокола NTP, входят в слой 0 ( ) и являются максимально точными из всех доступных эталонов времени.
К серверам слоя 0 обращаются серверы слоя 1. Работающие на последних демоны xntpd (или ntpd – в других системах UNIX) распространяют точное время дальше, к серверам слоя 2 ( ). Именно к серверам слоя 2 обращаются обычные серверы точного времени из локальных сетей самых разных организаций.
Другими словами, серверы времени xntpd в нашей локальной сети представляет собой сервер слоя 3: вся совокупность таких серверов в локальных сетях и образуют слой 3. Номер слоя фактически означает дистанцию (число промежуточных серверов времени) от данного компьютера до эталонного источника точного времени. Важно отметить, что серверы времени одного слоя не общаются между собой.
Каждый NTP-сервер использует один или несколько источников точного времени, полностью полагаясь на них. Эти источники указываются в файле /etc/inet/ntp.conf. При старте xntpd отправляет им запрос, уточняя текущее время.
Каждый из серверов времени, которым мы доверяем, опрашивается несколько раз для получения достоверной статистики задержки передачи пакета. Если указано несколько серверов, время с каждого из них запрашивается многократно. Как правило, 5 минут уходит на опрос каждого сервера для получения показаний времени, которые следует расценивать как достаточно точные.
Запрос к серверу времени выполняется так:
xntpd ) указывает в отправляемом серверу пакете свое текущее системное время и отправляет этот пакет;Теперь клиент имеет возможность рассчитать задержку передачи пакета как половину от "времени передачи туда и обратно минус время обработки пакета сервером".
Если разница между эталонным и текущим системным временем не превышает 128 миллисекунд, то xntpd подстраивает частоту системных часов так, чтобы они догнали или затормозились до эталонного времени. Подстройка происходит довольно медленно и плавно.
Если разница превышает 1000 секунд, xntpd полагает, что имеет место фатальный сбой времени на локальной машине, и завершается с предсмертным воплем, который запишется в /var/adm/messages.
Если разница находится в пределах между 128 миллисекундами и 1000 секундами, то xntpd по умолчанию выставляет время сразу же, просто вызывая функцию settimeofday().
Как видно, коррекция времени может быть постепенная и резкая. При резкой коррекции системное время изменяется быстрым скачком, одномоментно. Можно запретить такое изменение демону xntpd, указав при запуске ключ –x. Если часы спешат, особенно не рекомендуется изменять время резко, поскольку ряд приложений, зависимых от врмени (например, СУБД), могут в результате сохранить неверные данные. Впрочем, при постоянной работе сервера xntpd, как и при регулярном опросе такого сервера с помощью ntpdate, сильное расхождение времени нашего сервера и эталона исключено. Не следует использовать в качестве сервера времени компьютеры со сбоями аппаратуры или разряженной (неисправной) батарейкой CMOS (x86). Кроме этого, сервер времени не должен быть сильно нагруженным ресурсоемкими задачами компьютером: он не сможет обеспечить быстрый ответ и корректную обработку запроса.
Для общения между собой серверы времени используют UDP порт 123.
Как мы уже знаем, чтобы обеспечить синхронизацию времени, в Интернете существуют "эталонные" серверы времени. Для получения показаний времени локальный сервер времени в своей сети следует настроить для обращений ко вторичным серверам (слой 2), так как нагрузка на главные серверы (слоя 1) очень велика. В России есть по крайней мере один устойчиво функционирующий эталонный сервер слоя 2: ntp. (IP-адрес 194.149.67.130). Он расположен в Пущино; вот его регистрационные данные с сервера www.ntp.org:
Location: Pushchino, Moscow region, Russia Geographic Coordinates: 54:50N, 37:37E Synchronization: NTP secondary (stratum 2), Alpha/Linux Service area: Russia Access policy: open access, please send a message to notify Contact: clockmaster@psn.ru
Информация о других эталонных серверах времени и о режиме доступа к ним может быть получена по адресу http://www.ntp.org.
Для того, чтобы пользоваться эталонным сервером времени, может требоваться регистрация или даже оплата этого сервиса. Однако, в Сети достаточно много таких серверов с публичным доступом, и хорошим тоном считается использовать такие серверы, отправив уведомительное письмо их администратору: просто для того, чтобы вежливо предупредить о том, что отныне еще один сервер времени будет получать информацию с их
Демон xntpd при старте читает файл /etc/inet/ntp.conf или принимает параметры из командной строки. Единственное, без чего он не может работать – адреса эталонных серверов и (или) режим работы.
Если файл /etc/inet/ntp.conf не удается прочесть и с ключом –c не указан иной файл конфигурации, демон, если был заранее скомпилирован с поддержкой NetInfo, прислушивается к широковещательным сообщениям в сети и пытается сам найти себе эталон времени. Маловероятно, что в этом его ждет успех, если сервер времени находится за фильтром пакетов (межсетевым экраном, firewall'ом – это одно и то же).
Программа ntpq позволяет получать информацию о текущей конфигурации прямо от сервера времени и изменять настройки xntpd "на ходу", без перезапуска сервера.
В командной строке вызова xntpd доступны следующие ключи:
-a – включить аутентификацию (по умолчанию – выключена);-A – выключить аутентификацию;-b – синхронизироваться по широковещательным сообщениям NTP;-c conffile – использовать указанный файл вместо /etc/inet/ntp.conf ;-d – включить режим отладки;-e authdelay – указать явно время в секундах, которое требуется данной системе для вычисления ключа;-f driftfile – указать путь к файлу со значением сдвига часов;-k keyfile – указывает файл с ключами для аутентификации в NTP;-l logfile – указывает файл протокола; по умолчанию протоколирование ведется через syslog() ;-m – синхронизировать часы по multicast сообщениям NTP на группу multicast-адресов 224.0.1.1; требует поддержки multicast в ядре;-p pidfile – указывает файл, в который пишется PID процесса xntpd.В файле /etc/inet/ntp.conf команды располагаются по одной в строке, за ключевым словом команды могут идти аргументы. Строки, начинающиеся со знака решетки ( # ), являются комментариями. Пустые строки игнорируются. Аргументы отделяются от команды и друг от друга пробелами.
Параметры настройки xntpd могут быть установлены в файле или из командной строки, ключи командной строки имеют преимущество перед установками в файле конфигурации.
Аргументы могут быть именами компьютеров или IP-адресами, а также спецификацией времени (числом с плавающей точкой) и текстовой строкой.
Рассмотрим пример конфигурации:
server ntp.cpsc.ucalgary.ca prefer server ntp.my-provider.ru server louie.udel.edu driftfile /var/db/ntp.drift
Параметр server указывает, какие prefer, как ntp.my-provider.ru в нашем примере, то ответу этого сервера отдается предпочтение перед остальными. Парметр server нельзя использовать в случае, если наш сервер определяет соседей, слушая широковещательные пакеты NTP.
Ответ даже от предпочитаемого сервера будет отброшен, если он значительно отличается от ответов других серверов. В ином случае он будет использоваться вне зависимости от других ответов. Модификатор prefer применяется для тех серверов NTP, о которых известно, что они очень точны. Например, серверам из слоя 2 имеет смысл отдавать предпочтение перед серверами провайдера, филиала вашей фирмы или дружественной компании.
Параметр driftfile задает файл, который надо задействовать для хранения смещения частоты системных часов. Файл требуется программе xntpd для автоматической компенсации естественного смещения часов. При этом обеспечивается правильная настройка часов, даже если компьютер на некоторое время отключается от внешнего источника синхронизации времени, что может быть вызвано сбоем сети или этого источника.
В файле, имя которого указанно в строке driftfile, хранится история ответов серверов NTP. Этот файл содержит служебную информацию для сервера NTP и другие процессы не должны иметь доступа к этому файлу для записи в него.
Файл конфигурации /etc/inet/ntp.conf также определяет параметры доступа к нашему NTP-серверу. По умолчанию сервер NTP доступен любым хостам, которые могут к нему обратиться. При отсутствии фильтрации пакетов это означает свободный досутп из Интернет для всех.
Для ограничения группы компьютеров, имеющих право запрашивать время у xntpd, используется параметр restrict:
restrict 192.168.1.0 mask 255.255.255.0 nomodify
Такая установка разрешает обращаться к xntpd только компьютерам из сети 192.168.1.0 с маской сети 255.255.255.0, но запрещает им требовать от сервера NTP изменить его локальное время.
Директив restrict в файле /etc/inet/ntp.conf может быть несколько.
Демон xntpd также позволяет ввести аутентификацию для обращений к нему или настроить аутентификацию для обращения к тем эталонным серверам, которые ее требуют.
Если ваша сеть невелика, а требования к точности времени умеренные (часы могут спешить или отставать на 30 миллисекунд и немного больше), то xntpd может показаться не лучшим выбором. Для синхронизации часов только при загрузке системы достаточно использовать программу ntpdate.
Ее можно вызывать не только при загрузке системы. Если в процессе работы системные часы отклоняются несильно и высокая точность (30 мс или выше) не нужна, запускайте раз в два часа ntpdate для синхронизации с эталонным сервером из cron:
1 */2 * * * root /usr/sbin/ntpdate -b –s адрес_NTP-сервера
Для просмотра и изменения параметров xntpd используйте программу ntpq. В частности, для вывода информации об известных источниках точного времени запустите ее с ключом -p:
ntpq -p remote refid st t when poll reach delay offset disp ================================================================= ensb.cpsc.ucalg montpelier 2 u 26 64 1 189.36 2879.39 15875.0
Если надо проследить цепочку, по которой точное время добирается до вашей сети, пригодится программа ntptrace:
ntptrace ntp.cpsc.ucalgary.ca ensb.cpsc.ucalgary.ca: stratum 2, offset 2.867748, synch distance 0.05968 montpelier.ilan.caltech.edu: stratum 1, offset 2.863728, synch distance 0.00113, refid '' ntptrace localhost localhost: stratum 16, offset 0.000014, synch distance 1.00270
Так как служба времени в Solaris контролируется с помощью SMF, можно использовать обычные для этого механизма команды для наблюдения и управления службой:
svcprop -v svc:/network/ntp network/entities fmri svc:/network/service network/grouping astring require_any network/restart_on astring error network/type astring service general/entity_stability astring Unstable general/single_instance boolean true dependents/ntp_multi-user fmri svc:/milestone/multi-user start/exec astring /lib/svc/method/xntp start/timeout_seconds count 1800 start/type astring method stop/exec astring :kill stop/timeout_seconds count 60 stop/type astring method tm_common_name/C ustring Network\ Time\ Protocol\ \(NTP\) tm_man_xntpd/manpath astring :default tm_man_xntpd/section astring 1M tm_man_xntpd/title astring xntpd tm_man_ntpdate/manpath astring :default tm_man_ntpdate/section astring 1M tm_man_ntpdate/title astring ntpdate tm_man_ntpq/manpath astring :default tm_man_ntpq/section astring 1M tm_man_ntpq/title astring ntpq
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.