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

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


ntp

Различия

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

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

ntp [2018/08/04 03:28] (текущий)
Строка 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 позволит синхронизировать часы, даже если образовалась очень большая разница во времени.
  
загрузка...
ntp.txt · Последние изменения: 2018/08/04 03:28 (внешнее изменение)