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

Читайте также:  Linux bash script if else if

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

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

server 192.168.156.215 iburst

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

systemctl enable chronyd || systemctl enable chrony

systemctl restart chronyd || systemctl restart chrony

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

Источник

CentOS: How to Set Date, Time, TimeZone and NTP Synchronization

In this article, we’ll show you how to set time, date, timezone, synchronize time with an NTP server and fix typical issues in CentOS Linux.

There are two types of clocks on the servers: hardware one (real-time clock) that are working even if a server is off and the operating system software clock. The time on these clocks may differ. After starting the operating system, the software clock is based on a hardware one and may be adjusted by the OS.
Most applications use software clock time in their operation.

Hwclock: Hardware Time Configuration

Hwclock is used to check the hardware time in Linux:

  • hwclock —localtime — check hardware time without correction
  • hwclock —utc – displays time if the hardware clock shows UTC time
2020-10-12 06:12:02.912866-04:00
2020-10-12 02:12:18.915319-04:00

To set hardware time according to the system time, run this command:
# hwclock —systohc
To set the hardware time you want, run the following:
# hwclock —set —date «11 Oct 2020 17:30»

hwclock in linux

Manual Time Configuration in CentOS

In Linux, date or timedatectl tools are used to check and set software time. If you call date without any parameters, it will show the current time on your server:

Sun Oct 11 22:14:54 EDT 2020

If you want to set time manually, you can use date with additional parameters:

set date centos

To get extended information about the date, time, timezone, synchronization settings, day-light saving time settings (DST), timedatectl is used. It gives more detailed information about time settings on a server.

timedatectl tool in linux centos

Timedatectl also allows to change time:

# timedatectl set-time ‘2020-10-11 17:51:00’

How to Set TimeZone in CentOS?

To set the time according to your timezone on a CentOS Linux, you can change it manually. To do it, you can use two tools:

Читайте также:  Linux файл пользователей и паролей

To change a time zone using timedatectl, run this command:

# timedatectl set-timezone Canada/Pacific
# date

timedatectl set-timezone

Or you can use tzdata. To use this method, replace the file /etc/localtime with the one you need. The entire list of time zones is located in /usr/share/zoneinfo/ directory. Let’s change a timezone to Canada/Pacific. Back up the current locatime file:

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

Create a symlink to the timezone you want to set:
# ln -s /usr/share/zoneinfo/Canada/Pacific /etc/localtime

Configure CentOS to Sync Time with NTP Time Servers

You can configure automatic time synchronization on your host with an external NTP (Network Time Protocol) server. To do it, you must install the ntp service. For example, you can install it using yum in CentOS 7:

After the installation, start the ntpd service and add it to startup:

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

Make sure that the service is running:

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 2020-10-11 15:37:33 +06; 5min ago Main PID: 3057 (ntpd) CGroup: /system.slice/ntpd.service └─3057 /usr/sbin/ntpd -u ntp:ntp -g

Specify the NTP servers to synchronize time with in /etc/ntp.conf:

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

Time is synchronized in turn. If the first NTP server is not available, the second one is used, etc.

You can synchronize time with the specified NTP server manually using this command:

By default, ntpd enables “11 minute mode”. It means that time will be synchronized every 11 minutes. If you cannot use the ntpd daemon, you can configure time synchronization using cron. Add the following command to cron:

How to Sync Time in CentOS 8 using Chronyd?

In CentOS 8 you will have to use chrony to synchronize time, since ntp and ntpdate have been removed from the official repositories.

The main benefits of chrony are:

  • High speed and accuracy of time synchronization;
  • Proper operation if you don’t have access to master clock (ntpd requires regular requests);
  • By default, time is not modified right after the synchronization to prevent any problems for running programs;
  • Uses less resources.
Читайте также:  Удаленный запуск скрипта linux

By default, chrony is already installed in CentOS Linux, but if you don’t have it on some reason, install it:

Like any other service, chrony needs to be started and added to startup after installation:

# systemctl start chronyd
# systemctl enable chronyd

Check the chronyd service status:

systemctl status chronyd

To make sure that the time synchronization is working, run this command:

timedatectl status NTP Service: active

Chrony configuration file is /etc/chrony.conf. Specify the list of NTP servers you want to use for synchronization. Like ntp, chrony has a command-line interface: chronyc. To view the information about the current time synchronization options, run this command:

To view the information about sync servers:

If you want to set the specific date and time manually, you can use date, but previously disable the chronyd daemon.

Common Time Syn Issues in CentOS

In this section, I will describe typical errors that appear when working with timedatectl, ntp.

During the manual time synchronization you may come across this error:

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

This means that the ntpd daemon is running and is preventing manual time synchronization. To manually synchronize the time, stop the ntpd daemon:

And run the synchronization again.

The same error may occur when working with timedatectl:

Failed to set time: Automatic time synchronization is enabled.

You must disable automatic sync in timedatectl:

And run this command to set the time and date you want:

# timedatectl set-time ‘2020-11-12 17:41:00’

When working with time zones, it may occur that they are not installed on your server and you are not able to create a symlink for localtime. To make time zones available on your host, install the tzdata tool:

Also, you may face some errors during manual synchronization like the following one:

11 Oct 21:11:19 ntpdate[897482]: sendto(xx.xx.xx.98): Operation not permitted

In this case, check your firewalld/iptables rules and make sure that the UDP Port 123 is open on your server. Also, some NTP hosts may not be available during validation.

Источник

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