Инструменты пользователя

Инструменты сайта


ntp

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

ntp [2018/08/04 10:28]
ntp [2020/06/13 13:46] (текущий)
Строка 1: Строка 1:
 +====== Настройка сервера времени NTP ======
 +
 +~~Title: Запуск сервера NTP ~~
 +{{htmlmetatags>
 +metatag-description=(NTP это сетевой протокол, для синхронизации внутренних часов компьютера с серверами точного времени. Примеры настройки NTP сервера FreeBSD, Linux.)
 +}}
 +
 +  * [[ntpdate]]
 +
 +NTP (Network Time Protocol — протокол сетевого времени) — сетевой протокол для синхронизации внутренних часов компьютера с серверами точного времени. NTP, основан на алгоритме Марзулло, использует для своей работы протокол UDP и учитывает время передачи.
 +
 +{{::ntp_time.gif|}}
 +
 +**ntpd** - (Network Time Protocol (NTP) daemon) для [[FreeBSD]].
 +
 +<code>
 +#включим ntpd при загрузке сервера
 +> echo 'ntpd_enable="YES"' >> /etc/rc.conf
 +> man ntpd
 +...
 +FILES
 +     /etc/ntp.conf   the default name of the configuration file
 +     /etc/ntp.drift  the default name of the drift file
 +     /etc/ntp.keys   the default name of the key file
 +
 +SEE ALSO
 +     ntp.conf(5), ntpdate(8), ntpdc(8), ntpq(8)
 +...
 +
 +> ee /etc/ntp.conf
 +#
 +#ntp.time.in.ua 62.149.0.30
 +server 62.149.0.30 prefer iburst
 +#tick.usask.ca 128.233.3.100
 +server 128.233.3.100 iburst
 +#ntp2.imvp.ru 62.117.76.141
 +server 62.117.76.141 iburst
 +#ntp0.mao.kiev.ua 194.44.35.24
 +server 194.44.35.24  iburst
 +#
 +server 0.freebsd.pool.ntp.org iburst maxpoll 9
 +server 1.freebsd.pool.ntp.org iburst maxpoll 9
 +server 2.freebsd.pool.ntp.org iburst maxpoll 9
 +
 +
 +#опция prefer задает предпочитаемый сервер.
 +#опция iburst позволяет ntpd ускорить начальный процесс синхронизации.
 +
 +# NTP drift file - хранит информацию об отклонениях времени
 +driftfile /etc/ntp.drift
 +# Log ntpd
 +logfile /var/log/ntpd.log
 +
 +#default: deny for all
 +restrict default ignore
 +# allow for localhost
 +restrict 127.0.0.1
 +# allow our network
 +restrict 10.26.95.0 mask 255.255.255.0 nomodify notrap
 +restrict 195.x.x.x mask 255.255.255.224 nomodify notrap
 +restrict 194.x.x.x mask 255.255.255.248 nomodify notrap
 +
 +# сервера с которыми мы синхронизируемся
 +# должны иметь возможность менять время нашего сервера
 +restrict 62.149.0.30 noquery notrap
 +restrict 128.233.3.100 noquery notrap
 +restrict 62.117.76.141 noquery notrap
 +restrict 194.44.35.24 noquery notrap
 +restrict ntp2.time.in.ua noquery notrap
 +</code>
 +<note warning>restrict не подходит к 0.ubuntu.pool.ntp.org, т.к. этот домен имеет несколько IP<file>
 +# host 0.ubuntu.pool.ntp.org
 +0.ubuntu.pool.ntp.org has address 158.37.91.134
 +0.ubuntu.pool.ntp.org has address 85.10.240.253
 +0.ubuntu.pool.ntp.org has address 91.121.25.33
 +0.ubuntu.pool.ntp.org has address 123.108.225.6
 +</file> Поэтому прописывать непосредственно 0.ubuntu.pool.ntp.org бесполезно так как он попадет по правило по умолчанию restrict default. Который в нашем случае все запрещает. Обойти это можно или прописав все IP данного пула в restrict или убрать restrict default ignore и использовать для защиты сервера времени фаервол.</note>
 +
 +Запускаем ntpd и командой sockstat смотрим процессы ntpd:
 +<code>
 +> /etc/rc.d/ntpd start
 +> sockstat | grep -v udp6 | grep ntpd
 +root     ntpd       65762 3  dgram  -> /var/run/logpriv
 +root     ntpd       65762 20 udp4   *:123                 *:*
 +root     ntpd       65762 22 udp4   10.26.95.254:123      *:*
 +</code>
 +
 +Утилитой ntpq можно проверить какие сервера доступны для синхронизации:
 +<code>
 +> ntpq -c peers
 +     remote           refid      st t when poll reach   delay   offset  jitter
 +==============================================================================
 +*ntp.time.in.ua  .GPS.            1 u   50   64   37    7.457  -28.883  16.186
 + 128.233.3.100   .STEP.          16 u    -   64    0    0.000    0.000   0.000
 ++ntp2.imvp.ru    .IMVP.           1 u   58   64   37  102.083  -28.363  16.256
 ++194.44.35.24    .PPS.            1 u   16   64   37    8.238  -32.665  16.859
 +
 +</code>
 +Проверочный запрос к нашему серверу утилитой [[ntpdate]]. -q указывает не изменять время; -d отладочный режим без изменения времени
 +<code>
 +> ntpdate -q localhost
 +server 127.0.0.1, stratum 2, offset -0.000013, delay 0.02571
 +server ::1, stratum 2, offset -0.000016, delay 0.02574
 +10 Jan 01:14:48 ntpdate[81851]: adjust time server 127.0.0.1 offset -0.000013 sec
 +</code>
 +Трассировка NTP маршрута утилитой **ntptrace**
 +<file>
 +> ntptrace 
 +localhost: stratum 3, offset 0.001832, root distance 0.028646
 +mail.v.com.ua: stratum 2, offset 0.000255, root distance 0.008628
 +ntp.time.in.ua: stratum 1, offset 0.000001, root distance 0.000000, refid 'GPS'
 +</file>
 +
 +<note important>Нужно разрешить в фаерволе 123 UDP порт.</note>
 +
 +===== Настройка клиентов сервера времени =====
 +Если вам нужно только синхронизировать ваши часы при загрузке машины, вы можете воспользоваться утилитой [[ntpdate]]. Это может подойти для некоторых настольных машин, которые часто перезагружаются и только требуют изредка синхронизироваться, но на большинстве машин должен работать **ntpd**.
 +  * **Windows** - просто указать IP и DNS нашего сервера NTP
 +  * **Ubuntu (любой дистрибутив Debian)**:<code># aptitude install ntp
 +# ntpq -c peers
 +     remote           refid      st t when poll reach   delay   offset  jitter
 +==============================================================================
 + europium.canoni 193.79.237.14    2 u   43   64    7   58.812  -697293  14.720
 +</code>Правим /etc/ntp.conf для того чтобы синхронизация производилась с нашим сервером.<code>
 +# cp /etc/ntp.conf /etc/ntp.conf.orig
 +# nano /etc/ntp.conf
 +driftfile /var/lib/ntp/ntp.drift
 +
 +statsdir /var/log/ntpstats/
 +
 +statistics loopstats peerstats clockstats
 +filegen loopstats file loopstats type day enable
 +filegen peerstats file peerstats type day enable
 +filegen clockstats file clockstats type day enable
 +
 +# local NTP server
 +server 10.26.95.254 prefer
 +# Backup NTP server
 +server ntp3.time.in.ua
 +
 +restrict default ignore
 +
 +restrict 127.0.0.1
 +restrict ::1
 +restrict 10.26.95.254
 +# ntp3.time.in.ua = 80.91.187.10
 +restrict 80.91.187.10
 +
 +# /etc/init.d/ntp restart
 +</code>
 +  * **FreeBSD** достаточно прописать в /etc/rc.conf<file>
 +ntpd_enable="YES" # Time(NTP) -server
 +ntpdate_enable="YES"
 +ntpdate_flags="-u x.x.x.254" # IP NTP server
 +</file>и запустить службу, предварительно настроив ./etc/ntp.conf(см. выше)<file>
 +> /etc/rc.d/ntpd start
 +</file>
 +====== periodic.conf status-ntpd ======
 +[[FreeBSD]]: 480.status-ntpd - выводит список известных NTP-серверу peer. Если стабильность работы NTP сервера важна - можно включить.
 +<code>> ee /etc/periodic.conf
 +# 480.status-ntpd
 +daily_status_ntpd_enable="YES"                           # Check NTP status
 +</code>
 +
 +===== ntpd Fedora, Debian =====
 +
 +Параметры запуска демона в следующем конфигурационном файле:
 +  * [[Debian]]:<file>
 +ntp-server:~# cat /etc/default/ntp
 +NTPD_OPTS='-g'
 +</file>
 +  * [[Fedora]]:<file>
 +# cat /etc/sysconfig/ntpd
 +# Command line options for ntpd
 +OPTIONS="-g"
 +
 +</file>
 +Параметр -g позволит синхронизировать часы, даже если образовалась очень большая разница во времени.
  
Kwork.ru - услуги фрилансеров от 500 руб.