Документация по ОС FreeBSD Воскресенье, 19.05.2024, 09:16
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Net

FreeBSD: Сервер точного времени на базе OpenNTPD [2010]
NTP-сервер ntpd, который входит в состав FreeBSD, в момент запуска привязывается ко всем сетевым интерфейсам, имеющимся в системе. В большинстве случаев такое поведение оправдано, однако, существуют ситуации, требующие его изменения. При этом возникает большая проблема – опции ntpd не позволяют привязать NTP-сервер только к необходимым IP-адресам. Именно это обстоятельство стало причиной моего знакомства с NTP-сервером OpenNTPD, которому и посвящена данная статья.

Введение

NTP-сервер OpenNTPD является частью OpenBSD, однако, он может быть установлен из коллекции портов FreeBSD. OpenNTPD намного проще ntpd, тем не менее он прекрасно справляется как с синхронизацией системных часов, так и с раздачей точного времени по протоколам NTP и SNTP, при этом OpenNTPD имеет очень полезную в некоторых случаях особенность – его можно "вешать” только на необходимые сетевые интерфейсы. Я рекомендую Вам обратить внимание на OpenNTPD, который может стать полезной альтернативой NTP-сервера по умолчанию.

Исходные данные

Действия, описанные в этой статье, выполнялись в среде операционной системы FreeBSD 8.0. Сервер OpenNTPD устанавливался из предварительно обновленной коллекции портов. Если Вы сталкиваетесь с задачей синхронизации времени впервые, настоятельно рекомендую прочитать написанную ранее статью FreeBSD: Сервер точного времени на базе ntpd, в противном случае у Вас не должно возникнуть ни каких затруднений.

Установка и настройка сервера OpenNTPD

Cервер OpenNTPD следует установить из портов:

cd /usr/ports/net/openntpd
make install clean

По умолчанию конфигурация сервера OpenNTPD хранится в файле /usr/local/etc/ntpd.conf. Мой файл конфигурации имеет следующий вид:

listen-on 127.0.0.1
listen-on 192.168.0.1
server ntp1.kangran.su
server ntp21.imvp.ru
server ticktock.net.ru
server ntp.psn.ru
server ntp2.kangran.su
server ntp.letinet.ru

Строки listen-on ... содержат список IP-адресов, которые "слушает” наш сервер, строки server ... – список публичных NTP-серверов, с которыми синхронизируется наш сервер (сервер ОpenNTPD "умеет” синхронизироваться как с отдельными NTP-серверами, так и с пулами NTP-серверов, список которых должен определяться строками servers ..., например, servers pool.ntp.org). Вот, собственно, и вся конфигурация.

Для того, чтобы сервер OpenNTPD запускался при запуске операционной системы и сразу же делал грубую начальную корректировку времени, нужно добавить в файл /etc/rc.conf следующие строки (без второй строки будет выполняться плавная начальная корректировка времени):

openntpd_enable="YES"
openntpd_flags="-s"

На этом настройка сервера OpenNTPD завершается. Можно запустить сервер командой /usr/local/etc/rc.d/openntpd start, а затем запросить его состояние командой /usr/local/etc/rc.d/openntpd status. Если последняя команда выдаст сообщение: openntpd is running as pid ..., все нормально, если же – openntpd is not running, Вам следует найти и устранить ошибки в файлах конфигурации. После этого необходимо подождать не менее получаса и выполнить команду ntpdate -q localhost. Если Вы внимательно следовали инструкциям, она выдаст сообщение о том, что NTP-сервер имеет stratum 3 и может использоваться для синхронизации времени:

server 127.0.0.1, stratum 3, offset -0.000001, delay 0.02565
13 Apr 12:00:00 ntpdate[93386]: adjust time server 127.0.0.1 offset -0.000001 sec

Анализ состояния сервера OpenNTPD

Для того, чтобы диагностические сообщения об изменении системного времени и выполнении операций синхронизации с публичными NTP-серверами и/или пулами публичных NTP-серверов выводились в файл /var/log/debug.log, следует изменить строку openntpd_flags в файле /etc/rc.conf:

openntpd_flags="-sv"

После внесения изменений в файл /etc/rc.conf следует перезапустить сервер OpenNTPD командой /usr/local/etc/rc.d/openntpd restart.

Другим способом отладки сервера OpenNTPD является его запуск не в виде демона, как это принято по умолчанию, а в виде обычного приложения, выводящего все диагностические сообщения на консоль. Такой запуск сервера OpenNTPD может быть выполнен командой:

/usr/local/sbin/ntpd -dv

Как в первом, так и во втором случаях признаком корректной работы сервера OpenNTPD могут служить примерно такие сообщения:

Apr 13 15:01:46 ... ntpd[6684]: reply from 193.41.86.177: offset 0.007338 delay 0.014602, next query 9s
Apr 13 15:01:46 ... ntpd[6684]: reply from 89.111.168.177: offset 0.009182 delay 0.014520, next query 7s
...
Apr 13 15:03:03 ... ntpd[6684]: reply from 89.111.168.177: offset 0.008260 delay 0.013687, next query 31s
Apr 13 15:03:03 ... ntpd[6683]: adjusting local clock by 0.006359s

Для того, чтобы сервер OpenNTPD "сбросил” информацию о своем состоянии в файл /var/log/messages, необходимо послать ему сигнал SIGINFO:

killall -SIGINFO ntpd

В случае корректной работы сервера OpenNTPD в файле /var/log/messages появится примерно такое сообщение:

Apr 13 15:33:43 ... ntpd[93356]: 6 out of 6 peers valid

Если что-то не так, например, "умер” один из выбранных публичных NTP-серверов, сообщение будет выглядеть так:

Apr 13 17:03:43 ... ntpd[93356]: 5 out of 6 peers valid
Apr 13 17:03:43 ... ntpd[93356]: bad peer ntp.letinet.ru (95.140.94.2)

Заключение

Я надеюсь, что приведенной информации будет более чем достаточно для корректной настройки и последующей отладки NTP-сервера OpenNTPD на компьютере с операционной системой FreeBSD.


Источник: http://www.sergeysl.ru/freebsd-openntpd/
Категория: Net | Добавил: oleg (19.06.2010) | Автор: SergeySL
Просмотров: 643 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024