Синхронизация времени ntp linux centos

Настройка NTP в CentOS

Когда сервер Linux загружается, считываются аппаратные часы, также называемые часами реального времени. Эти часы обычно находятся в оборудовании. Обычно это интегральная схема на системной плате, которая полностью не зависит от текущего состояния операционной системы и продолжает работать, даже когда компьютер выключен. С аппаратных часов система получает начальную настройку времени.
Время на аппаратных часах на серверах Linux обычно устанавливается на всемирное координированное время (UTC). UTC — это время, которое одинаково везде на планете, и на основе UTC рассчитывается текущее местное время. (Позже в этой статье вы узнаете, как это работает.)

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

Системное время — это время, которое поддерживается операционной системой и хранится в формате UTC. Приложения, запущенные на сервере, преобразуют системное время в местное время. Местное время — это фактическое время в текущем часовом поясе. В местном времени летнее время (DST) считается таким, чтобы оно всегда показывало точное время для этой системы. Таблица дает обзор различных концепций, которые играют роль в Linux.

Использование NTP

Как вы узнали, текущее системное время основано на аппаратных часах. Эти аппаратные часы обычно являются частью материнской платы компьютера и могут быть ненадежными. Из-за его ненадежности, это хорошая идея использовать время из более надежного источника.

Вообще говоря, доступны два решения.

Один из вариантов — купить более надежные аппаратные часы. Это могут быть, например, очень точные атомные часы, подключенные напрямую к вашему компьютеру. При использовании таких очень надежных часов гарантируется повышенная точность системного времени. Использование внешних аппаратных часов является распространенным решением, гарантирующим поддержание времени в центре обработки данных, даже если подключение к внешним сетям для временной синхронизации временно недоступно.

Другое и более распространенное решение — настроить сервер на использование сетевого протокола времени (NTP). NTP — это метод поддержания системного времени, предоставляемый через NTP-серверы в Интернете. Это простое решение для обеспечения точного времени для серверов, потому что большинство серверов в любом случае подключены к Интернету.

Настроить сервер для использования времени NTP на CentOS 7 легко, если сервер уже подключен к Интернету. Если это так, файл /etc/chrony.conf настроен со стандартным списком NTP-серверов в Интернете, с которыми следует связаться. Единственное, что нужно сделать администратору, это включить NTP с помощью timedatectl set-ntp 1.

Читайте также:  Полное копирование дисков linux

Управление временем в CentOS

Различные команды участвуют в управлении временем в CentOS. В таблице представлен их обзор.

Команда Описание
date Управляет местным временем
hwclock
Управляет аппаратным временем
timedatectl Разработано для управления всеми аспектами времени на CentOS

В системе Linux время вычисляется как смещение времени эпохи. Время эпохи — это количество секунд с 1 января 1970 года в UTC. В некоторых журналах (например, /var/log/audit/audit.log) вы найдете метки времени в эпоху, а не в человеческое время. Чтобы преобразовать такую метку времени в человеческое время, вы можете использовать опцию —date, затем следует строка эпохи, начинающаяся с @:

Использование времени эпохи также создает потенциальную проблему синхронизации в Linux. В 32-разрядной системе число секунд, которое можно отсчитать в поле, зарезервированном для обозначения времени, заканчивается в 2037 г. (Попробуйте установить время где-то в 2050 г., если вы используете 32-разрядное ядро; оно не будет работать .) 64-битные системы могут обращаться ко времени до далекого двадцать второго века.

Использование date

  • date Показывает текущее системное время
  • date +%d-%m-%y Показывает текущий системный день месяца, месяц, и год
  • date -s 16:03 Устанавливает текущее время.

Использование hwclock

  • hwclock -c показывает разницу между аппаратным и системным временем. Вывод этой команды обновляется каждые 10 секунд.
  • hwclock —systohc синхронизирует текущее системное время с аппаратными часами.
  • hwclock —hctosys синхронизирует текущее аппаратное время с системными часами.

Использование timedatectl

timedatectl — новая команда в Linux, которая позволяет вам управлять многими аспектами времени. Как показано ниже, при использовании без аргументов эта команда отображает подробную информацию о текущем времени и дате. Она также отображает часовой пояс, в котором находится ваша система, в дополнение к информации об использовании сетевого времени NTP и информации об использовании DST.

[root@zabbix ~]# timedatectl Local time: Mon 2019-09-23 15:41:06 +10 Universal time: Mon 2019-09-23 05:41:06 UTC RTC time: Sun 2019-09-22 11:45:16 Time zone: Asia/Vladivostok (+10, +1000) NTP enabled: n/a NTP synchronized: no RTC in local TZ: no DST active: n/a

Команда timedatectl работает с командой для выполнения временных операций. В таблице представлен обзор соответствующих команд.

На CentOS 7 chrony является решением по умолчанию для управления сетевым временем. NTP все еще может быть реализован через ntpd. Если у вас есть сервисы, которым нужен ntpd, вы можете использовать его, но вы должны понимать, что в этом случае вы не можете использовать команду timedatectl.

Читайте также:  Проверить свою версию линукс

Пример настройки даты и времени:
1. Зайдите под рутом и введите date.

2. Теперь введите hwclock и посмотрите, отображаются ли обе команды более или менее одновременно.

3. Введите hwclock -c. Обратите внимание, что это показывает различия между системным временем и временем аппаратного обеспечения гораздо более подробно. Используйте Ctrl + C, чтобы прервать работу команды.

4. Вы только что видели, что текущее время, отображаемое с помощью hwclock -c, относится к эпохе.

5. Используйте date -d ‘@12345678’ (в которой вы замените 12345678 на время эпохи, которое только что показал hwclock -c), чтобы перевести текущее время эпохи в удобочитаемое время.

6. Введите timedatectl show, чтобы показать текущие настройки времени.

7. Используйте timedatectl list-timezones, чтобы показать список всех определений часовых поясов.

8. Используйте timedatectl set-timezone Europe/Moscow, чтобы установить текущий часовой пояс по Москве.

9. Введите timedatectl show и обратите внимание на различия с предыдущим выводом.

10. Введите timedatectl set-ntp 1, чтобы включить использование NTP. Может появиться сообщение об ошибке «failed to issue method call.». Если вы получили это сообщение, введите yum -y install chrony и повторите попытку.

11. Откройте файл конфигурации /etc/chrony.conf и найдите строки server.
Они используются для указания серверов, которые должны использоваться для синхронизации времени NTP.

12. Введите systemctl status chronyd и убедитесь, что служба chrony запущена и включена. Если это не так, используйте systemctl start chronyd; systemctl enable chronyd.

13. Введите systemctl status -l chronyd и прочитайте информацию о состоянии.

Управление настройками часового пояса

Между серверами Linux время обычно передается по UTC. Это позволяет серверам разных часовых поясов использовать одни и те же настройки времени, что значительно упрощает управление временем в крупных организациях. Однако, чтобы облегчить работу конечных пользователей, необходимо также установить местное время. Для этого необходимо выбрать соответствующий часовой пояс.

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

1. Используйте утилиту system-config-date, как описано в следующем разделе этой статьи.

2. Перейдите в каталог /usr/share/zoneinfo. В этом каталоге вы найдете различные подкаталоги, содержащие файлы для каждого часового пояса, который был определен.
Чтобы установить местный часовой пояс на сервере, вы можете создать символическую ссылку с именем /etc/localtime на соответствующий файл часового пояса. Например, если вы хотите установить местное время на время Владивостока, используйте ln -sf /usr/share/zoneinfo/Russia/Vladivostok/etc/localtime.

3. Используйте утилиту tzselect. Этот инструмент запускает интерфейс, из которого можно выбрать соответствующий регион и локаль.

Читайте также:  Angry ip scanner linux аналог

4. Используйте timedatectl для установки информации о часовом поясе.

Настройка времени в графической среде

  1. Щелкните текущее время, которое отображается в верхнем правом углу.
  2. На открывшемся экране нажмите Date & Time Settings.
  3. Откроется новый экран. Чтобы получить доступ к параметрам, позволяющим изменить время, нажмите Unlock.
  4. На экране, который вы видите сейчас, вы можете включать и выключать сетевое время и изменять текущую настройку часового пояса, а также текущее время.

Источник

Установка и настройка 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

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

Источник

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