Time sync — различия между версиями

Материал из pNp Wiki
Перейти к: навигация, поиск
(Конфигурирование ntpd)
(Конфигурирование ntpd)
Строка 53: Строка 53:
 
# <code>noquery</code> - попытки запросов не касающихся времени,  при помощи утилит <code>ntpq</code> и <code>ntpdc</code>
 
# <code>noquery</code> - попытки запросов не касающихся времени,  при помощи утилит <code>ntpq</code> и <code>ntpdc</code>
 
Управление разрешается только с <code>localhost</code>'а по протоколам <code>ipv4</code> и <code>ipv6</code>
 
Управление разрешается только с <code>localhost</code>'а по протоколам <code>ipv4</code> и <code>ipv6</code>
 +
 +
==== Запуск ====
 +
<syntaxhighlight lang="bash">
 +
[root@vm-01 ~]# systemctl status -l ntpd
 +
● ntpd.service - Network Time Service
 +
  Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
 +
  Active: inactive (dead)
 +
[root@vm-01 ~]# systemctl enable ntpd
 +
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.
 +
[root@vm-01 ~]# systemctl start ntpd
 +
[root@vm-01 ~]# systemctl is-active ntpd
 +
active
 +
[root@vm-01 ~]#
 +
</syntaxhighlight>
 +
 +
==== Проверка ====
 +
Для проверки запустим утилиту <code>timedatectl</code>:
 +
<syntaxhighlight lang="bash">
 +
[root@vm-01 ~]# timedatectl
 +
      Local time: Wed 2018-03-07 12:54:33 MSK
 +
  Universal time: Wed 2018-03-07 09:54:33 UTC
 +
        RTC time: Wed 2018-03-07 09:54:33
 +
      Time zone: Europe/Moscow (MSK, +0300)
 +
    NTP enabled: yes
 +
NTP synchronized: yes
 +
RTC in local TZ: no
 +
      DST active: n/a
 +
[root@vm-01 ~]#
 +
</syntaxhighlight>
 +
Теперь посмотрим статистику, которая выдает утилита <code>ntpstat</code>
 +
<syntaxhighlight lang="bash">
 +
[root@vm-01 ~]# ntpstat
 +
synchronised to NTP server (89.109.251.21) at stratum 2
 +
  time correct to within 3942 ms
 +
  polling server every 64 s
 +
[root@vm-01 ~]#
 +
</syntaxhighlight>
  
 
== Ссылки ==
 
== Ссылки ==
 
[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-configuring_ntp_using_the_chrony_suite Configuring NTP using chrony]<br />
 
[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-configuring_ntp_using_the_chrony_suite Configuring NTP using chrony]<br />
 
[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-configuring_ntp_using_ntpd Configuring NTP using ntpd]<br />
 
[https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-configuring_ntp_using_ntpd Configuring NTP using ntpd]<br />

Версия 12:56, 7 марта 2018

Конфигурирование сервера точного времени

Предварительные требования

  • Виртуальная машина с двумя сетевыми интерфейсами
  • Установленные пакеты: bash-completion, chorny, либо ntpd и ntpdate

Общая информация

Сервер точного времени необходим для определения точного времени наступления событий, которые будут записаны в журнал, так же он чрезвычайно важен для системы билетов kerberos, так как при расхождении времени между сервером и клиентом kerberos, больше чем в 5 минут, клиент билета не получит. При синхронизации времени, разница между источником и клиетом хранится в так называемом driftfile. При запуске системы, сервис точного времени читает данный файл и корректирует время на клиенте, согласно разнице записанной в driftfile. Так же протокол точного времени вводит понятие stratum. stratum - это величина удаления от атомных часов, градации 0-15. Атомные часы, имеют stratum 0, но они не имеют открытого доступа в интернет и все подключены к серверам, раздающим точное время и имеющим stratum 1.

Конфигурирование chrony

Конфигурирование ntpd

Сервис ntpd читает конфигурационный файл /etc/ntp.conf, однако ключи, с которыми запускается демон находятся в файле /etc/sysconfig/ntpd:

[root@vm-01 ~]# cat /etc/sysconfig/ntpd
# Command line options for ntpd
OPTIONS="-g"
[root@vm-01 ~]#

По-умолчанию, в нем находится опция -g, которая разрешает один раз скорректировать время, если разница между источником и приемником составляет более 1000 секунд (без этого ключа, ntpd пишет сообщение в системный журнал и прекращает работу). Если после корректировки времени, разница все еще превышает 1000 секунд, ntpd пишет сообщение в системный журнал и прекращает работу. В некоторых случаях, бывает полезно добавить опцию -x которая, увеличивает шаг подгонки времени (по-умолчанию 128 миллисекунд) до 600 секунд, однако nix ядра ограничены подгонкой времени на 0.5 миллисекунд в секунду, для каждой следующей секундной подгонки требуется интервал в 2000 секунд, таким образом корректировка 600 секунд займет примерно 14 дней. Поскольку время может меняться на клиентской машине как вперед, так и назад, то некоторое программное обеспечение может выдавать ошибки, в связи с резкой сменой времени. В конфигурационном файле изменим серверы точного времени на те, что предоставляются ФГУП «Всероссийский научно-исследовательский институт физико-технических и радиотехнических измерений», в результате файл /etc/ntp.conf примет следующий вид:

[root@vm-01 ~]# grep "^[^#]" /etc/ntp.conf 
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1 
restrict ::1
server ntp1.vniiftri.ru iburst
server ntp2.vniiftri.ru iburst
server ntp3.vniiftri.ru iburst
server ntp4.vniiftri.ru iburst
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
[root@vm-01 ~]#

Доступ к демону ntpd регулируется списками доступа, указанными в директиве restrict, конфигурационного файла /etc/ntp.conf. По-умолчанию запрещены:

  1. nomodify - попытки модифицировать состояние сервера (то есть переконфигурировать время) утилитами ntpq и ntpdc
  2. notrap - получения трапов, созданых утилитой ntpdc
  3. nopeer - попытки неатунтицированного обмена информацией
  4. noquery - попытки запросов не касающихся времени, при помощи утилит ntpq и ntpdc

Управление разрешается только с localhost'а по протоколам ipv4 и ipv6

Запуск

[root@vm-01 ~]# systemctl status -l ntpd
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
[root@vm-01 ~]# systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.
[root@vm-01 ~]# systemctl start ntpd
[root@vm-01 ~]# systemctl is-active ntpd
active
[root@vm-01 ~]#

Проверка

Для проверки запустим утилиту timedatectl:

[root@vm-01 ~]# timedatectl 
      Local time: Wed 2018-03-07 12:54:33 MSK
  Universal time: Wed 2018-03-07 09:54:33 UTC
        RTC time: Wed 2018-03-07 09:54:33
       Time zone: Europe/Moscow (MSK, +0300)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
[root@vm-01 ~]#

Теперь посмотрим статистику, которая выдает утилита ntpstat

[root@vm-01 ~]# ntpstat 
synchronised to NTP server (89.109.251.21) at stratum 2 
   time correct to within 3942 ms
   polling server every 64 s
[root@vm-01 ~]#

Ссылки

Configuring NTP using chrony
Configuring NTP using ntpd