Синхронизировать время linux centos

Установка и настройка NTP-сервера на Linux CentOS 8

Обновлено и опубликовано

Опубликовано: 17.12.2020

Тематические термины: NTP, CentOS. Сервер синхронизации времени NTP помогает актуализировать время на всех узлах сети. В инструкции рассказано о его установке и настройке на Linux CentOS 8.

Установка сервера

В CentOS 8 пакетом для синхронизации времени является chrony — он пришел на смену ntpd. Устанавливаем его командой:

Настройка NTP

#pool 2.centos.pool.ntp.org iburst
server 192.168.0.100 iburst prefer
server 192.168.0.110 iburst
server 127.127.1.0

  • pool — указывает на выполнение синхронизации с пулом серверов.
  • server — указывает на выполнение синхронизации с сервером.
  • iburst — отправлять несколько пакетов (повышает точность).
  • prefer — указывает на предпочитаемый сервер.
  • server 127.127.1.0 — позволит в случае отказа сети Интернет брать время из своих системных часов.

* в данном примере мы закомментировали указанный пул по умолчанию и добавили свои серверы 192.168.0.100 и 192.168.0.110.

* в данном примере мы разрешаем синхронизацию времени с нашим сервером для узлов сети 192.168.0.0/255.255.255.0.

systemctl restart chronyd

Добавляем правило в брандмауэр:

firewall-cmd —permanent —add-service=ntp

Тестирование

Проверить состояние получения эталонного времени можно командой:

Мы должны увидеть, примерно, следующее:

210 Number of sources = 2
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? 127.127.1.0 0 6 0 — +0ns[ +0ns] +/- 0ns
^* server-01.dmosk.local 2 6 17 55 +629us[+1184us] +/- 152ms

Отобразить текущее время можно командой:

Для настройки часового пояса применяем команду:

timedatectl set-timezone Europe/Moscow

Проверить отдачу времени сервером можно введя команду на другом Linux:

* где 192.168.0.15 — адрес нашего NTP-сервера.

Правильный ответ имеет следующий вид:

ntpdate[3576]: adjust time server 192.168.0.15 offset 0.017657 sec

* время было рассинхронизировано на 0.017657 секунд.

Настройка клиента Linux

Для клиентов можно выбрать несколько стратегий настройки — мы рассмотрим 3:

Chrony

Команда для установки зависит от типа дистрибутива Linux.

После установки открываем /etc/chrony.conf:

. и в качестве сервера оставляем только наш локальный сервер, например:

server 192.168.156.215 iburst

Разрешаем автозапуск сервиса:

systemctl enable chronyd || systemctl enable chrony

systemctl restart chronyd || systemctl restart chrony

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

Источник

Настройка даты и времени в CentOS

Изображение баннера

При работе в сети синхронизация времени и даты это важный фактор увеличивающий стабильность и безопасность работы всех систем.

Читайте также:  Lightest display manager linux

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

Это статьи про дату и время в CentOS 7.

Про дату и вермя в Rocky Linux и CentOS 8 читайте здесь

Узнать текущее системное время

Узнать текущее системное время можно командой date

Узнать текущее время BIOS

Узнать текущее системное время BIOS можно командой hwclock

date и hwclock могут показывать совершенно разное время

Исправить текущее время

Сначала нужно задать время командой date

Также можно вводить «date MMDDhhmmCCYY» без секунд, тогда секунды выставляются на ноль.

После выполнения date нужно внести новое установленное время в BIOS:

Теперь осталось только проверить сохранились ли изменения

Синхронизация с ntp

Проверьте установлен ли ntp командой

Если ntp не установлен выполните

Проверьте запускается ли ntpd автоматически командой

systemctl list-unit-files | grep ntpd.s

Если ntpd неактивен (disabled) выполните

systemctl start ntpd
systemctl enable ntpd

Проверить добавлен ли сервис ntp в зону public в firewall можно командой

sudo firewall-cmd —get-services | grep ntp

Если ещё не добавлен, то чтобы разрешить UDP траффик от ntp выполните

firewall-cmd —permanent —add-service=ntp
firewall-cmd —reload

Отредактируйте файл ntp.conf с настройками сервера

Найдите свою временную зону на сайте www.ntppool.org

Я нашёл зону Helsinki и добавляю строки

server 0.fi.pool.ntp.org server 1.fi.pool.ntp.org server 2.fi.pool.ntp.org server 3.fi.pool.ntp.org

Теперь нужно перезапустить ntpd

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

remote refid st t when poll reach delay offset jitter ============================================================================== time.cloudflare 10.79.8.177 3 u 14 64 7 3.987 -0.366 0.016 37.228.129.2 193.66.253.94 2 u 16 64 7 5.301 -1.639 1.908 ivanova.ganneff 237.17.204.95 2 u 13 64 7 5.296 3.850 0.266 ntp23.kashra-se 192.168.100.15 2 u 12 64 5 32.935 -2.213 0.192

Выставить время BIOS по только что полученному времени можно командой

Заставить систему синхронизовать время с ntp

Вместо 0.fi.pool.ntp.org поставьте нужный вам сервер

Timezone

Узнать текущую временную зону

Local time: Fri 2023-07-16 22:17:36 MDT Universal time: Fri 2023-07-16 19:17:36 UTC RTC time: Fri 2021-05-21 07:42:43 Time zone: America/Denver (MDT, -0600) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: yes Last DST change: DST began at Sun 2021-03-14 01:59:59 MST Sun 2021-03-14 03:00:00 MDT Next DST change: DST ends (the clock jumps one hour backwards) at Sun 2021-11-07 01:59:59 MDT Sun 2021-11-07 01:00:00 MST

Изменить временную зону можно командой set-timezone

timedatectl set-timezone «Europe/Helsinki»

timedatectl | grep «Time zone»

Time zone: Europe/Helsinki (EEST, +0300)

Источник

CentOS: Настройка даты и времени, пояса, синхронизация с NTP

date

10.12.2019

user

VyacheslavK

directory

CentOS, Linux

comments

комментария 3

В данной статье я расскажу, как настроить время, дату и изменить часовой пояс(timezone) в Linux CentOS, как выполнять синхронизацию времени с NTP сервером и исправить типичные ошибки.

На серверах существует два вида часов. Аппаратные (real time clock), которые работают даже при выключенном сервере и программные часы операционной системы. Показания этих двух часов, могут отличаться. При этом, после запуска операционной системы, программные часы опираются на показания аппаратных и в дальнейшем могут корректироваться системой.

Читайте также:  Alt linux установить время

Абсолютное большинство программ в своей работе используют время программных часов.

Hwclock: настройка аппаратного (системного) времени

Чтобы проверить аппаратное время в Linux используется утилита hwclock:

  • hwclock —localtime — проверка аппаратного времени без поправки
  • hwclock —utc – проверка времени с условием, что аппаратные часы идут по времени UTC
Wed 27 Nov 2019 11:28:28 AM +06 -1.012225 seconds
Wed 27 Nov 2019 05:28:30 PM +06 -0.045476 seconds

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

Чтобы установить конкретное время, выполните:

# hwclock —set —date «27 Nov 2019 17:30»

hwclock в linux centos

Ручная настройка времени в CentOS

В Linux за программное время отвечает утилита date или timedatectl. Если вызывать утилиту date без параметров, она покажет текущее время на сервере:

Wed Nov 27 17:40:56 +06 2019

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

Где MM – месяц, DD — день, hh – час, mm – минуты.

date - изменить дату/время в centos

Для получения расширенной информации о дате, времени, поясе, синхронизации, настройках перехода на сезонное (летнее/зимнее) время (DST), используется утилита timedatectl. Она дает более подробную информацию о настройках времени на сервере.

timedatectl -текщие настройки времени

Timedatectl также позволяет изменить время:

# timedatectl set-time ‘2019-11-27 17:51:00’

timedatectl set-time

Настройка часового пояса в CentOS

Чтобы время на сервере CentOS Linux соответствовало вашему часовому поясу, его можно изменить вручную. Для этого есть две утилиты:

Чтобы изменить часовой пояс через утилиту timedatectl, выполните команду:

# timedatectl set-timezone Europe/Moscow

timedatectl set-timezone изменить часовой пояс в linux centos

Или же можно использовать tzdata. Чтобы воспользоваться данным методом, нужно заменить файл /etc/localtime на нужный вам. Весь список часовых поясов, расположен в директории /usr/share/zoneinfo/. Заменим часовой пояс на Asia/Almaty. Делаем бэкап файла locatime:

# mv /etc/localtime /etc/localtime.bak

Создаем симлинк на нужный часовой пояс:

# ln -s /usr/share/zoneinfo/Asia/Almaty /etc/localtime

/etc/localtime - пааметры часового пояса

Настройка синхронизация времени по NTP в CentOS

Вы можете настроить автоматическую синхронизацию времени на вашем сервере с внешним NTP (Network Time Protocol) сервером. Для этого нужно установить сервис ntp. Например, в CentOS 7 установка выполняется через yum:

После установки, нужно запустить сервис ntpd и добавить его в автозагрузку:

# systemctl start ntpd.service
# systemctl enable ntpd.service

Проверим, что сервис запущен:

Redirecting to /bin/systemctl status ntpd.service ● ntpd.service - Network Time Service Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2019-11-28 09:47:33 +06; 5min ago Main PID: 3057 (ntpd) CGroup: /system.slice/ntpd.service └─3057 /usr/sbin/ntpd -u ntp:ntp -g

В файле /etc/ntp.conf нужно указать сервера, с которыми нужно синхронизировать время:

server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org

Синхронизация времени выполняется последовательно. Если недоступен первый NTP сервер, идет обращение ко второму и т.д.

Читайте также:  Find file cli linux

Можно вручную синхронизировать время с указанным NTP сервером командой:

По умолчанию, ntpd включает в системе режим “11 minute mode”, то есть время будет синхронизироваться каждые 11 минут. Если вы не можете использовать демон ntpd, вы можете настроить синхронизацию времени по крону, добавьте в крон следующую команду:

Используем chronyd для синхронизация времени в CentOS 8

Для CentOS 8 из официальных репозиториев убрали ntp и ntpdate, поэтому для синхронизации времени нужно использовать chrony.

Основные преимущества chrony:

  • высокая скорость и точность синхронизции
  • корректная работа при отсутствии доступа к эталонным часам (ntpd требуются регулярные запросы)
  • по-умолчанию не меняет сразу время при синхронизации, чтобы не нарушить работу программ
  • Меньше использует ресурсов

По умолчанию, утилита chrony уже установлена в системе, но если по какой-то причина у вас ее нет, выполните установку:

Как и любой другой сервис, после установки chrony нужно включить и добавить в автозагрузку:

# systemctl start chronyd
# systemctl enable chronyd

systemctl start chronyd в centos

Чтобы проверить, что синхронизация работает, выполнитите команду:

timedatectl status NTP Service: active

Конфигурационный файл chrony/etc/chrony.conf. В нем нужно указать список NTP серверов, которые нужно использовать для синхронизации. Как и у ntp, у chrony есть интерфейс командной строки chronyc. Чтобы проверить информацию о текущих параметрах синхронизации времени, используйте:

chronyc tracking

Чтобы проверить информацию о серверах синхронизации, выполните команду:

chronyc sources

Если вы хотите установить конкретное время и дату вручную, вы можете воспользоваться утилитой date, но перед этим нужно отключить демон chronyd.

Распространённые ошибки при настройке времени в CentOS

В данном разделе, я опишу частые ошибки, которые возникают при работе с утилитами timedatectl, ntp.

При ручной синхронизации времени, у вас может возникнуть подобная ошибка:

ntpdate [26214]: the NTP socket is in use, exiting

ntpdate [26214]: the NTP socket is in use, exiting

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

И запустите синхронизацию заново:

service ntpd stop

Аналогичная ошибка может возникать и при работе с утилитой timedatectl:

Failed to set time: Automatic time synchronization is enabled.

timedatectl Failed to set time: Automatic time synchronization is enabled

Теперь нужно отключить автоматическую синхронизацию в самой утилите timedatectl:

И выполнить команду по установке конкретного времени:

timedatectl set-ntp

При работе с часовыми поясами, они могут быть не установлены у вас на сервере и создать симлинк для localtime не получится. Для того, чтобы в системе были доступны часовые пояса, установите утилиту tzdata:

Так при ручной синхронизации, часто бывают ошибки вида:

28 Nov 10:12:39 ntpdate[897482]: sendto(185.217.191.98): Operation not permitted

В этом случае проверьте правила firewalld / iptables, и убедитесь, что у вас на сервере открыт UDP порт 123. Так же некоторые хосты синхронизации могут быть недоступны в момент проверки.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Источник

Оцените статью
Adblock
detector