Настройка Сервера Точного Времени (NTP)
Добавлено: 22 мар 2011, 12:32
Первое, с чего следует начать настройку фри - это с установки сервера точного времени, или с синхранизации с уже имеющимся. Нужно это для того, что бы не путаться в показаниях логов. Сегодня мы какраз и рассмотрим как это сделать.
Всё что надо у нас на сервере уже стоит, потому приступаем сразу к конфигурированию. В современных системах файл конфига уже присутствует, но в старых его еще не было, потому если нет, то создаём файл конфига
и добавляем в него следующие данные
Синтаксис прост - сначала мы описываем сервер с которыми хотели бы синхрится, потом мы даём этим серверам права для изменения времени у нас на сервере, ну и в конце описываем нашу сетку - каким ИП адресам мы разрешаем доступ к нашему сервере для сверки времени, но изменение времени для них у себя на сервере запрещаем. таким образом у нас появляются сервера которые могут менять наше время, тем самым делая его правильным, и сервера, которые просто спрашивают у нас точное время
Теперь самое время прописать запуск сервера точного времени в автозагрузку, то есть идем в /etc/rc.conf куда добавляем
часть ntpd_sync_on_start заставляет сервер при загрузке синхронизировать своё время с сервером в интернете. Список серверов берёт из конфига
часть ntpd запускает наш собственный сервер синхронизации
давайте переходить к запуску.. для начала просинхрим совё время вручную с выбранным сервером
и проверим что всё верно
Теперь попробуем запустить сервер точного времени
это если запущен ntpdate сервер и ли просто
если делаем уже всё по новой схеме
Проверить работу
Сервер заработал, иначе бы мы получили вот такое сообщение
но у нас всё хорошо и через некоторое время информация начинает меняться - сервер раставляет приоритеты, определяет какой сервер что из себя представляет
появляются приоритетные сервера, отбрасываются ненужные. Определяет это он по тому,на сколько время тех серверов отличается от наших, и какая у них страта. В итоге будут выбраны сервера, временя между которыми различаются незначительно
ещё через некоторые время картина поменяется окончательно и будут выбраны 3 конкретные сервера для синхронизации
Теперь можно посмотреть информацию и о себе командой ntpdc -c sysinfo -n
Вот так он покажет что сервер не работает
Видите, stratum: 16 - страта должна быть ну до 5 максимум, а тут 16... и нет сервера, с которым мы синхримся system peer: 0.0.0.0
Если же всё хорошо, то мы увидим такой вывод
С какого-то момента вторая команда перестала работать, но была найдена альтернатива:
Послесловие:
1) Может так случиться, что когда ставили сервер - выбрали не тот часовой пояс - в этом случае надо его изменить. В версиях FreeBSD до 10.0 это можно было сделать через sysinstall, начиная же с версии 10.0 это делается утилитой bsdconfig - в обеих случаях просто ходите по менюшкам и выбираете нужный часовой пояс.
2) Сегодня много DDoS атак осуществляется с помощью протокола ntp - потому ограничте в конфиге кто может иметь к нему доступ и запретите через файрвол доступ всем остальным
Всё что надо у нас на сервере уже стоит, потому приступаем сразу к конфигурированию. В современных системах файл конфига уже присутствует, но в старых его еще не было, потому если нет, то создаём файл конфига
Код: Выделить всё
touch /etc/ntp.conf
Код: Выделить всё
server ntp1.imvp.ru
server ntp1.oma.be
server ptbtime2.ptb.de
server ntp1.nl.net
server ntp1.inrim.it
server ntp.certum.pl
driftfile /etc/ntp.drift
logfile /var/log/ntp.log
restrict default ignore
restrict 127.0.0.1
restrict ntp1.imvp.ru noquery notrap
restrict ntp1.oma.be noquery notrap
restrict ptbtime2.ptb.de noquery notrap
restrict ntp1.nl.net noquery notrap
restrict ntp1.inrim.it noquery notrap
restrict ntp.certum.pl noquery notrap
restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap
Теперь самое время прописать запуск сервера точного времени в автозагрузку, то есть идем в /etc/rc.conf куда добавляем
Код: Выделить всё
#
ntpdate_enable="NO"
ntpd_enable="YES"
ntpd_program="/usr/sbin/ntpd"
ntpd_flags="-p /var/run/ntpd.pid"
ntpd_sync_on_start="YES"
#
часть ntpd запускает наш собственный сервер синхронизации
давайте переходить к запуску.. для начала просинхрим совё время вручную с выбранным сервером
Код: Выделить всё
hotel# ntpdate -u ntp1.imvp.ru
22 Mar 12:42:22 ntpdate[1103]: step time server 62.117.76.134 offset -4426.682381 sec
Код: Выделить всё
hotel# date
Tue Mar 22 12:42:25 MSK 2011
Код: Выделить всё
hotel# /etc/rc.d/ntpd start
Starting ntpd.
Код: Выделить всё
hotel# /etc/rc.d/ntpd start
Starting ntpd.
Проверить работу
Код: Выделить всё
hotel# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
www.naos.ru .INIT. 16 u - 64 0 0.000 0.000 0.002
ntp1.oma.be .INIT. 16 u - 64 0 0.000 0.000 0.002
ptbtime2.ptb.de .INIT. 16 u - 64 0 0.000 0.000 0.002
ntp1.nl.uu.net .INIT. 16 u - 64 0 0.000 0.000 0.002
ntp1.inrim.it .INIT. 16 u - 64 0 0.000 0.000 0.002
smtp.certum.pl .INIT. 16 u - 64 0 0.000 0.000 0.002
hotel#
Код: Выделить всё
hotel# ntpq -p
ntpq: read: Connection refused
Код: Выделить всё
hotel# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
www.naos.ru .INIT. 16 u - 64 0 0.000 0.000 0.000
ntp1.oma.be .PPS. 1 u 57 64 1 71.547 -27.758 0.002
ptbtime2.ptb.de .PTB. 1 u 56 64 1 83.633 -34.082 0.002
ntp1.nl.uu.net .PPS. 1 u 55 64 1 72.168 -28.121 0.002
ntp1.inrim.it .INIT. 16 u - 64 0 0.000 0.000 0.000
smtp.certum.pl .PPS. 1 u 53 64 1 103.083 -25.940 0.002
hotel#
Код: Выделить всё
hotel# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
http://www.naos.ru .INIT. 16 u - 64 0 0.000 0.000 0.000
*ntp1.oma.be .PPS. 1 u 43 64 17 70.318 -27.717 3.069
-ptbtime2.ptb.de .PTB. 1 u 43 64 17 88.068 -32.688 3.744
+ntp1.nl.uu.net .PPS. 1 u 40 64 17 72.162 -26.885 3.119
ntp1.inrim.it .INIT. 16 u - 64 0 0.000 0.000 0.000
+smtp.certum.pl .PPS. 1 u 37 64 17 102.958 -23.682 3.569
hotel#
Код: Выделить всё
hotel# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
www.naos.ru .INIT. 16 u - 64 0 0.000 0.000 0.000
*ntp1.oma.be .PPS. 1 u 14 64 77 70.472 -19.341 9.457
+ptbtime2.ptb.de .PTB. 1 u 17 64 77 80.963 -24.636 9.784
+ntp1.nl.uu.net .PPS. 1 u 13 64 77 72.027 -18.670 9.487
ntp1.inrim.it .INIT. 16 u - 64 0 0.000 0.000 0.000
+smtp.certum.pl .PPS. 1 u 9 64 77 103.103 -15.467 9.916
hotel#
Вот так он покажет что сервер не работает
Код: Выделить всё
hotel# ntpdc -c sysinfo -n
system peer: 0.0.0.0
system peer mode: unspec
leap indicator: 11
stratum: 16
precision: -18
root distance: 0.00000 s
root dispersion: 47.03468 s
reference ID: [73.78.73.84]
reference time: 00000000.00000000 Thu, Feb 7 2036 9:28:16.000
system flags: auth monitor ntp kernel stats
jitter: 0.000000 s
stability: 0.000 ppm
broadcastdelay: 0.003998 s
authdelay: 0.000000 s
hotel#
Если же всё хорошо, то мы увидим такой вывод
Код: Выделить всё
hotel# ntpdc -c sysinfo -n
system peer: 192.53.103.104
system peer mode: client
leap indicator: 00
stratum: 2
precision: -18
root distance: 0.07666 s
root dispersion: 0.46089 s
reference ID: [192.53.103.104]
reference time: d17f9cad.9374a773 Thu, May 19 2011 17:42:05.575
system flags: auth monitor ntp kernel stats
jitter: 0.009323 s
stability: 0.000 ppm
broadcastdelay: 0.003998 s
authdelay: 0.000000 s
hotel#
Код: Выделить всё
ntpq -p -c sysinfo
Код: Выделить всё
remote refid st t when poll reach delay offset jitter
==============================================================================
ntp2.ivlan.net .INIT. 16 u - 1024 0 0.000 0.000 0.000
ns1.ooonet.ru .INIT. 16 u - 1024 0 0.000 0.000 0.000
ntp1.ivlan.net .INIT. 16 u - 1024 0 0.000 0.000 0.000
expirepages-kia .INIT. 16 u - 1024 0 0.000 0.000 0.000
+ntp1.oma.be .MRS. 1 u 76 128 377 128.252 -50.612 141.189
+ptbtime2.ptb.de .PTB. 1 u 2 128 377 109.228 -63.415 231.122
+ntp1.nl.uu.net .PPS. 1 u 75 128 173 300.890 -60.964 167.552
*ntp1.inrim.it .CTD. 1 u 127 128 277 107.944 -65.037 145.603
+213.222.200.99 .PPS. 1 u 69 128 377 115.801 -65.500 217.106
associd=0 status=0615 leap_none, sync_ntp, 1 event, clock_sync,
system peer: ntp1.inrim.it:123
system peer mode: client
leap indicator: 00
stratum: 2
log2 precision: -23
root delay: 107.944
root dispersion: 104.437
reference ID: 193.204.114.232
reference time: db443bdb.680e96b6 Thu, Jul 28 2016 11:07:55.406
system jitter: 9.287411
clock jitter: 20.626
clock wander: 0.259
broadcast delay: -50.000
symm. auth. delay: 0.019
1) Может так случиться, что когда ставили сервер - выбрали не тот часовой пояс - в этом случае надо его изменить. В версиях FreeBSD до 10.0 это можно было сделать через sysinstall, начиная же с версии 10.0 это делается утилитой bsdconfig - в обеих случаях просто ходите по менюшкам и выбираете нужный часовой пояс.
2) Сегодня много DDoS атак осуществляется с помощью протокола ntp - потому ограничте в конфиге кто может иметь к нему доступ и запретите через файрвол доступ всем остальным