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

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

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

Настройка NTP сервера для локальной сети [2008]

Товарищ 100kg пару лет назад написал статейку Ntpdate/Ntpd. Решил я немного обновить ее с учетом моего опыта.

И так, есть FreeBSD 7.0 с которой идет уже устаревшая версия ntpd. Так что для начала поставим новую версию из портов. Но перед тем как приступить к установке, немного изменим дефолтные пути поиска бинарников (эту операцию необходимо проворачивать всегда, если планируется ставить софт из портов изначально присутствующий во FreeBSD - ntpd, ssl и т.д).
# cd /root
# ee .cshrc

#set path = (/sbin /bin /usr/sbin /usr/bin /usr/games
 /usr/local/sbin /usr/local/bin /usr/X11R6/bin)
set path = (/usr/local/sbin /usr/local/bin /usr/sbin
 /usr/bin /sbin /bin $HOME/bin)

Значение set path пишется в одну строку.

Сохраняем, а затем делаем logout и снова login. Проверяем, вступили ли в силу изменения:
echo $path
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /root/bin

Теперь обновляем порты и ставим ntpd:
# cd /usr/ports/net/ntp
# make install clean
# rehash

Процесс обновления портов я опустил, если кого интересует, можно прочитать здесь
Теперь создаем drift - файл в котором храниться информация о смещении времени локальной машины относительно серверов точного времени.
# touch /etc/ntp/drift

И наконец приступим к написанию главного конфигурационного файла ntpd - ntp.conf
# ee /etc/ntp.conf
#добавляем сервера, с которыми будет проводиться синхронизация
server 0.ua.pool.ntp.org iburst prefer
server 1.ua.pool.ntp.org iburst
server 2.ua.pool.ntp.org iburst
server 3.ua.pool.ntp.org iburst
#путь к дрифт файлу
driftfile /etc/ntp/drift
#лог
logfile /var/log/ntp.log
#разрешаем обновляться только локальной сети
restrict default ignore
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

Опция iburst позволяет ntpd ускорить начальный процесс синхронизации, prefer - отмечает предпочитаемый сервер.

Конфиг готов, теперь добавляем в rc.conf следующие строчки:
# ee /etc/rc.conf
ntpd_enable="YES"
ntpd_program="/usr/local/bin/ntpd"

И стартуем демон:
# /etc/rc.d/ntpd start

Ждем порядка 10 минут.
Теперь можно проверить состояние синхронизации:
# ntpq -p
 remote refid st t when poll reach delay offset jitter
====================================================================
*shtucer.tstu.ed 193.190.230.65 2 u - 128 37 93.311 -1.769 0.844
+ns1.odessa.coms 198.123.30.132 2 u 65 64 17 55.824 -5.750 0.676
x212.111.205.110 62.149.0.30 2 u 91 256 7 1936.77 913.387 0.647
+shkvoren.tstu.e 147.231.19.43 2 u 1 64 37 93.840 -0.587 1.099

Тут остановимся по-подробнее.
remote - имена удаленных ntp серверов (в нашем случае полученные из пулов 0/1/2/3.ua.pool.ntp.org)
refid - сервер, с которым производит синхронизацию удаленный сервер ntp
st - стратум (уровень) удаленного сервера. 1 - самый высокий, эти сервера для вычисления точного времени используют специальное дорогостоящее оборудование; 16 - рядовая машина/клиент.
t - тип пира (u = unicast, m = multicast)
when - указывает на то, как давно была произведена синхронизация с сервером
poll - частота в секундах, с которой NTP демон синхронизируется с пиром
reach - состояние доступности сервера, это значение стабилизируется на уровне 377 если последних 8 попыток синхронизации с удаленным сервером были успешны
delay - он и в Африке delay - задержка (в миллисекундах) ответа от сервера
offset - разница в миллисекундах между системным временем и временем удаленного сервера; значение с минусом - отставание, с плюсом - наши часики спешат
jitter - смещение времени на удаленном сервере

Теперь немного о значках, следа от имени пира:
"*" - пир, с которым последний раз у нас была выполнена синхронизация
"+" - "хороший" (пригодный для обновления) сервер
"-" - "плохой" (непригодный для обновления) сервер
"х" - сервер не отвечает

Узнать, пригоден ли наш сервер для синхронизации, а также узнать некоторые его данные можно следующей командой:
# ntpdate -q localhost

В ответ должны получить что-то подобное:
Looking for host localhost and service ntp
host found : localhost
server 127.0.0.1, stratum 3, offset 0.000003, delay 0.02573
17 Nov 15:28:54 ntpdate[4918]: adjust time server 127.0.0.1 offset 0.000003 sec

Этот ответ означает, что наш сервер пригоден для синхронизации, его страта равна трем, смещение - 0.000003 а задержка при ответе равна 0.02573.

Аналогичной командой можно узнать эти параметры на удаленном сервере:
#ntpdate -q ntp.time.in.ua

Looking for host ntp.time.in.ua and service ntp
host found : ntp.time.in.ua
server 62.149.0.30, stratum 1, offset -0.000233, delay 0.04053
17 Nov 16:10:42 ntpdate[5177]: adjust time server 62.149.0.30 offset -0.000233 sec

Ниже приведен пример ответа сервера, непригодного для синхронизации:
server 132.123.123.123, stratum 16, offset 6.188638, delay 0.03827
17 Nov 16:17:36 ntpdate[1027]: no server suitable for synchronization found

В /var/log/ntp.log должны быть сообщения аналогичные нижеприведенным:
16 Nov 22:23:23 ntpd[27414]: synchronized to 193.34.155.4, stratum=2
17 Nov 01:51:11 ntpd[27414]: synchronized to 82.207.89.35, stratum=3
17 Nov 01:51:13 ntpd[27414]: synchronized to 193.34.155.4, stratum=2

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

В случае, если после запуска ntpd он только 1 раз синхронизируется с удаленным сервером и дальнейшая синхронизация не наблюдается, лог выглядит так:
17 Nov 15:47:17 ntpd[5059]: synchronized to 91.198.10.4, stratum=2
17 Nov 15:47:17 ntpd[5059]: kernel time sync disabled 0041
17 Nov 15:47:21 ntpd[5059]: kernel time sync enabled 0001

В ntp.conf стоит добавить опцию burst:

server 0.ua.pool.ntp.org iburst burst prefer
server 1.ua.pool.ntp.org iburst burst
server 2.ua.pool.ntp.org iburst burst
server 3.ua.pool.ntp.org iburst burst
driftfile /etc/ntp/drift
logfile /var/log/ntp.log
restrict default ignore
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

Опция burst, указывает ntpd посылать 5 (точно не помню количество) пакетов вместо одного для попытки синхронизации, что повышает шансы на успешную синхронизацию.

Все, теперь настраиваем клиентов на синхронизацию с нашим сервером (192.168.1.1).
В случае с клиентом под FreeBSD (под Linux тоже должно работать) рисуем следующий конфиг:
# ee /etc/ntp.conf
server 192.168.1.1 iburst
driftfile /etc/ntp/drift
logfile /var/log/ntp.log
restrict default ignore
restrict 192.168.1.1

Более подробно о настройке, мониторинге и траблшутинге ntpd можно почитать в следующих pdf'ках от SUN:
NTP.pdf
NTPpt2.pdf
NTPpt3.pdf

Алес :)



Источник: http://www.lissyara.su/?id=1809
Категория: Net | Добавил: oleg (25.11.2008) | Автор: m0ps
Просмотров: 1135 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

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

Copyright MyCorp © 2025