Больше не нужно искать работу мечты — присоединяйтесь к команде Клауда

Коррекция времени на сервере

Команда Timeweb Cloud
Команда Timeweb Cloud
Наши инженеры, технические писатели, редакторы и маркетологи
15 февраля 2022 г.
695
4 минуты чтения
Средний рейтинг статьи: 5

Коррекция Времени На Сервере

Выбор способа зависит от того, насколько сильно отстают часы. Если разница небольшая, то можно использовать первый способ. Если часы сильно отстали или убежали вперед, то не стоит переводить их в одну итерацию — безопаснее будет сделать это плавно.

Настройка в Ubuntu/Debian

Быстрое исправление

Для быстрого изменения времени на сервере timeweb.cloud подходит утилита ntpdate. Для ее установки потребуются права sudo:

apt-get install ntpdate

Чтобы поправить часы однократно, выполните: 

/usr/sbin/ntpdate 1.ru.pool.ntp.org

Здесь ntp pool — это адрес доверенного сервера, с которым система сверяет время. 

Вы можете также настроить автоматическую проверку часов с нужной периодичностью с помощью планировщика cron.

crontab -e
00 1 * * * /usr/sbin/ntpdate 1.ru.pool.ntp.org

Так вы задаете синхронизацию раз в сутки.

Вместо периодичности можно указать условие — например, синхронизировать часы при каждой загрузке. Это делается с помощью cron reboot.

crontab -e
@reboot /usr/sbin/ntpdate 1.ru.pool.ntp.org

Плавная коррекция

Для плавного изменения времени установите утилиту ntp Ubuntu и Debian. Работает она следующим образом:

  1. Утилита проверяет данные через серверы синхронизации времени, указанные в конфигурации.
  2. Высчитывается разница между текущим значением в системе и образцовыми показателями.
  3. NTP начинает постепенно переводить часы. Плавность нужна для того, чтобы у других сервисов не появились проблемы из-за резкого скачка.

Добавьте Linux ntp:

apt-get install ntp 

Сервис добавится в список автозагрузки. Чтобы утилита работала корректно, необходимо настроить конфигурацию. Она хранится в файле /еtc/ntp.conf. Укажите в нем серверы ntp. Значения могут быть такими:

server 0.ru.pool.ntp.org iburst
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst

Опция iburst делает синхронизацию более точной, заставляя пересылать не один, а сразу ряд пакетов. Можно также установить предпочтительный источник данных с помощью опции prefer:

server 0.ubuntu.pool.ntp.org iburst prefer

После каждого изменения конфигурации необходимо перезапускать утилиту:

/etc/init.d/ntp restart

Настройка в CentOS

Правила выбора способа такие же. Если нужно устранить разницу в несколько секунд, подойдет первый способ. Для исправления минут и часов лучше применять второй способ.

Быстрое исправление

Чтобы быстро поправить время, используйте ntpdate. Установите утилиту:

yum install ntpdate

Для однократной синхронизации выполните:

/usr/sbin/ntpdate 1.ru.pool.ntp.org

1.ru.pool.ntp.org — источник, с которым вы синхронизируетесь.

Чтобы сверка проходила автоматически и с установленной периодичностью, используйте Crontab CentOS. Например, так выглядит настройка ежесуточной проверки:

crontab -e
00 1 * * * /usr/sbin/ntpdate 1.ru.pool.ntp.org

Вместо указания временных промежутков можно указать условие — например, загрузку:

crontab -e
@reboot /usr/sbin/ntpdate 1.ru.pool.ntp.org

Плавная коррекция

Для постепенного изменения времени применяйте ntp CentOS. Добавьте его:

yum install ntp

Включите автозагрузку сервиса:

chkconfig ntpd on

Укажите в файле /etc/ntp.conf источники точного времени. Например:

server 0.ru.pool.ntp.org iburst
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst

Параметр iburst делает то же, что и в конфигурации на Ubuntu/Debian — заставляет отправлять ряд пакетов, что увеличивает точность синхронизации.

Перезапустите сервис после изменения конфигурации:

/etc/init.d/ntp restart

А затем заново запустить демона:

/etc/init.d/ntpd start

Дополнительные параметры

Синхронизация выполняется с тем источником, который физически находится ближе к вашему серверу. Однако в конфигурации можно прямо указать желаемый регион в поддомене. Например, так:

 asia.pool.ntp.org europe.pool.ntp org

Даже если NTP-сервер окажется отключенным от сети, он все еще сможет передать системное время. Для этого достаточно добавить строку:

server 127.127.1.0

Можно ограничить доступ внешних клиентов. Дефолтно выставлены такие параметры:

  • restrict − 4 default kod notrap nomodify nopeer noquery
  • restrict − 6 default kod notrap nomodify nopeer noquery

Notrap, nomodify, nopeer, noquery устанавливают запрет на изменение параметров сервера. KOD (kiss of death) предоставляет еще один уровень защиты. Если запросы от клиента приходят слишком часто, то он получает сначала пакет с предупреждением, а затем отключается.

Если нужен неограниченный доступ для локального хоста, установите его командой:

restrict 127.127.1.0

А синхронизировать устройства из локальной сети с сервером поможет следующая строка:

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

После внесения любых изменений сервис нужно перезагружать:

service restart ntp

Проверить работу можно командой:

ntpq -p

Она выдает таблицу, в которой указан адрес источника точного времени, уровень сервера, время последней сверки и другие полезные данные.

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
15 февраля 2022 г.
695
4 минуты чтения
Средний рейтинг статьи: 5
Пока нет комментариев