NTP сервер

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

NTP сервер

Непрочитанное сообщение m0ps » 2008-11-17 17:52:20

Товарищ 100kg пару лет назад написал статейку Ntpdate/Ntpd (http://www.lissyara.su/?id=1260). Решил я немного обновить ее с учетом моего опыта.

Код: Выделить всё

И так, есть 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)

Сохраняем, а затем делаем 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
restrict localhost
#разрешаем синхронизироваться с удаленными серверами
restrict 0.ua.pool.ntp.org
restrict 1.ua.pool.ntp.org
restrict 2.ua.pool.ntp.org
restrict 3.ua.pool.ntp.org

Опция 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 стоит "нарисовать" так:

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
restrict 0.ua.pool.ntp.org
restrict 1.ua.pool.ntp.org
restrict 2.ua.pool.ntp.org
restrict 3.ua.pool.ntp.org

Опция 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:
http://www.sun.com/blueprints/0701/NTP.pdf
http://www.sun.com/blueprints/0801/NTPpt2.pdf
http://www.sun.com/blueprints/0901/NTPpt3.pdf

Алес :)

А теперь вопрос:
стоит ли ее размещать на сайте?
Последний раз редактировалось m0ps 2008-12-18 9:56:57, всего редактировалось 5 раз.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение dikens3 » 2008-11-17 17:59:24

Если не на сайте, то на wiki точно пригодиться.

http://wiki.lissyara.su
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение m0ps » 2008-11-17 18:10:40

немного обновил. добавил информацию об опции burst

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение dikens3 » 2008-11-17 21:58:02

Ошибки поправь

милисикундах
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение m0ps » 2008-11-17 22:34:55

черновик, я ошибки еще не проверял. вдруг не понадобиться, зачем напрягаться по мелочам :)

mymymy
сержант
Сообщения: 224
Зарегистрирован: 2008-05-16 21:23:38
Откуда: Москва

Re: NTP сервер

Непрочитанное сообщение mymymy » 2008-11-18 9:20:52

если ipfw, не забываем так:

Код: Выделить всё

add allow udp from any 123 to ${внешний ip} in via ${внешний интерфейс}
Если синхронизируется со смещением на несколько часов относительно вашего пояса,значит настроен часовой пояс неверно (что я собственно у себя и увидел случайно)

Код: Выделить всё

# tzsetup
На первый вопрос "Is this machine's CMOS clock set to UTC? If it is set to local time, or you don't know, please choose NO here!" отчечаем No.
Далее просят выбрать регион, выбираем 8 Europe.
Далее просят выбрать страну или регион, выбираем 38 Russian Federation.
далее просят выбрать смещение времени относительно Москвы, выбираем 2 Moscow+00 - west Russia.
На вопрос "Does the abbreviation `MSD' look reasonable?" отвечаем Yes.

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение m0ps » 2008-11-19 17:21:06

добавил в wiki (http://wiki.lissyara.su/wiki/Ntp).
оформил как мог. нет времени и желание разбираться с туповатой разметкой mediawiki.

Al
ст. прапорщик
Сообщения: 501
Зарегистрирован: 2007-10-18 13:42:48
Откуда: Тверь
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение Al » 2008-11-20 11:13:51

На сайте лучше тож обноввить. Во -первых,не все любят вики, во-вторых - зачем на сайте старая,если есть уже дополненная?

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение m0ps » 2008-11-20 15:39:35

Al писал(а):На сайте лучше тож обноввить. Во -первых,не все любят вики, во-вторых - зачем на сайте старая,если есть уже дополненная?
ну никто же не поддержал... да и товарищ "главный начальник" ;) промолчал

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение Alex Keda » 2008-11-21 7:23:57

я физически не успеваю просмотреть все темы
поэтому лучше носом меня тыкать во что-то важное.
======
пиши на сайт.
Старую в архив двину.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение m0ps » 2008-11-21 9:45:13

ок

Update:
добавил на сайт:
http://www.lissyara.su/?id=1809

Аватара пользователя
kolesya
сержант
Сообщения: 191
Зарегистрирован: 2006-10-17 15:54:01
Откуда: Украина, Киев

Re: NTP сервер

Непрочитанное сообщение kolesya » 2008-12-01 21:44:43

Код: Выделить всё

 1 Dec 20:17:46 ntpd[54330]: sendto(193.34.155.3) (fd=22): Permission denied
 1 Dec 20:17:47 ntpd[54330]: sendto(82.94.245.2) (fd=22): Permission denied
 1 Dec 20:17:49 ntpd[54330]: sendto(193.34.155.2) (fd=22): Permission denied
 1 Dec 20:17:50 ntpd[54330]: sendto(212.111.205.110) (fd=22): Permission denied
Просветите плз .... что не так ?

в упор не могу понять что не так с моими руками в отношении с ntpd.
по результатам

Код: Выделить всё

tcpdump -i re0 dst port 123 or src port 123
в логе ntpd куча записей (внешний хост привожу тока один).....

Код: Выделить всё

20:36:43.130699 IP host.in.inet.ntp > ns1.odessa.comstar.net.ua.ntp: NTPv4, Client, length 48
20:36:43.146682 IP ns1.odessa.comstar.net.ua.ntp > host.in.inet.: NTPv4, Server, length 48
по фаеру уже почти все перепробовал .... кроме "all from any to any"
фря 7.0. стоит в продакшине, все норм работает.

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение m0ps » 2008-12-02 9:30:02

Permission denied
вот что не так :)
проверь все права везде а также покажи конфиг... тогда может что родится...

Аватара пользователя
kolesya
сержант
Сообщения: 191
Зарегистрирован: 2006-10-17 15:54:01
Откуда: Украина, Киев

Re: NTP сервер

Непрочитанное сообщение kolesya » 2008-12-02 14:10:53

Код: Выделить всё

# ee /etc/ntp.conf
....
restrict default ignore
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
Итак - лажа в статье. Такой конфиг не позволяет принимать команды modify вообще ни от кого

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение m0ps » 2008-12-02 14:40:06

точно... забыл про

Код: Выделить всё

restrict 0.ua.pool.ntp.org
restrict 1.ua.pool.ntp.org
restrict 2.ua.pool.ntp.org
restrict 3.ua.pool.ntp.org
спасибо...

Горыч
проходил мимо

NTP сервер

Непрочитанное сообщение Горыч » 2008-12-07 12:11:18

Добрый.

Обновил NTP по вашей статье. FreeBSD 7.0.

gate# ntpd -v
ntpd: option `var' requires an argument
ntpd - NTP daemon program - Ver. 4.2.4p4

В логах же сообщение:

7 Dec 11:52:30 ntpd[670]: ntpd 4.2.0-a Sun Feb 24 16:32:46 UTC 2008 (1)

При установке bash описанная процедура не работает. Можно просвятить не грамотного???

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение m0ps » 2008-12-07 12:29:36

Горыч писал(а):При установке bash описанная процедура не работает. Можно просвятить не грамотного???
измени дефолтные пути поиска бинарников, как это сделать при использовании баша - я не вкурсе, т.к. им не пользуюсь, мне и csh хватает

Горыч
проходил мимо

Re: NTP сервер

Непрочитанное сообщение Горыч » 2008-12-07 12:34:55

В логах же сообщение:

7 Dec 11:52:30 ntpd[670]: ntpd 4.2.0-a Sun Feb 24 16:32:46 UTC 2008 (1)

почему?

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение m0ps » 2008-12-07 13:02:13

во блин, не дочитал...
при загрузке стартует старая версия.

в rc.conf точно указал:

Код: Выделить всё

ntpd_program="/usr/local/bin/ntpd"
ну или куда там у тебя он стал?

Горыч
проходил мимо

Re: NTP сервер

Непрочитанное сообщение Горыч » 2008-12-07 14:13:06

Извините, действительно не обратил внимания на строку

ntpd_program="/usr/local/bin/ntpd"

Горыч
проходил мимо

NTP сервер

Непрочитанное сообщение Горыч » 2008-12-14 20:45:40

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

В логах такие записи:
ntp.log

Код: Выделить всё

14 Dec 20:24:48 ntpd[45842]: ntpd exiting on signal 15
сообщение об остановке ntp

debug.log

Код: Выделить всё

Dec 14 20:38:33 gate ntpd[68247]: ntp_io: estimated max descriptors: 7207, initial socket boundary: 20
Последний раз редактировалось Alex Keda 2008-12-14 20:46:15, всего редактировалось 1 раз.
Причина: [code][/code] - для кого?

Аватара пользователя
sudosu
мл. сержант
Сообщения: 81
Зарегистрирован: 2008-05-27 12:17:32
Откуда: Что такое петровско-разумовская?

Re: NTP сервер

Непрочитанное сообщение sudosu » 2008-12-16 20:05:35

Горыч писал(а):Добрый.
Подскажите в чем проблема???
До обновления, описанного в этой статье все работало, т.е. синхронизация происходила. Обновляю, запускаю, не работает.

В логах такие записи:
ntp.log

Код: Выделить всё

14 Dec 20:24:48 ntpd[45842]: ntpd exiting on signal 15
........
ммммм

Код: Выделить всё

file /usr/local/bin/ntpd
или где там он у тебя, что кажет?

Аватара пользователя
m0ps
лейтенант
Сообщения: 986
Зарегистрирован: 2008-05-08 20:18:06
Откуда: Chernigov (Ukraine)
Контактная информация:

Re: NTP сервер

Непрочитанное сообщение m0ps » 2008-12-16 20:45:24

не знаю.. я наверное на 10-ке серверов делал - ни одной проблемы.
а ты уверен что он у тебя не запущен?
попробуй ntpq вызвать (к примеру ntpq -p)

Горыч
проходил мимо

NTP сервер

Непрочитанное сообщение Горыч » 2008-12-16 22:15:57

Добрый.

Вывод команд:

# file /usr/local/bin/ntpd
/usr/local/bin/ntpd: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 7.0 (700055), dynamically linked (uses shared libs), FreeBSD-style, stripped

# ntpq -p
localhost: timed out, nothing received
***Request timed out

Горыч
проходил мимо

NTP сервер

Непрочитанное сообщение Горыч » 2008-12-16 22:18:53

Вдогонку к предыдущему сообщению:

# ps aux | grep ntp
root 676 0,0 1,1 5820 5844 ?? Ss 22:13 0:00,10 /usr/local/bin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift