Timedatectl set ntp true не работает

Arch Linux

You are not logged in.

#1 2015-06-29 04:45:12

timedatectl set-ntp is not working

Hey guys. Noticed I had an issue with my clock not syncing.

which I guess my problem is the NTP synchronized is ‘no’. So to fix it I have tried

however that does not change anything. The

displays the same thing. the «NTP synchronized» is not changed.

Is that not the correct command? How can I fix this?

#2 2015-06-29 04:51:06

Re: timedatectl set-ntp is not working

Check whether the time is getting synced with the NTP server :

It does take some time for systemd-timesyncd to sync with the NTP server. You’ll probably notice it the next time you boot. Also, try checking /etc/systemd/timesyncd.conf

#3 2015-06-29 04:53:52

Re: timedatectl set-ntp is not working

It is not getting synced

No messages of syncing, on a different machine I get proper sync messages. However on the other machine I have

yet I don’t know how to change that on this machine, as the command set-ntp command doesn’t change that it changes the «network time on» line, yet the configuration of both machines seem the same otherwise. Just not sure where to look.

#4 2015-06-29 08:56:46

Re: timedatectl set-ntp is not working

Could you try to manually restart the systemd-timesyncd.service? Maybe it’s trying to sync before the network has been brought up. Also try referring — https://bbs.archlinux.org/viewtopic.php?id=182600

Last edited by hydracone (2015-06-29 09:01:25)

Источник

Принудительно заставить systemd timesyncd синхронизировать время с NTP-сервером

Я настроил systemd timesyncd для получения времени от NTP-сервера:

Как видно из вывода, время еще не синхронизировано. Может кто-нибудь помочь мне со следующими вопросами?

  • Сколько времени займет синхронизация timeyncd с NTP? Через какие интервалы он это делает, где я могу их проверить и изменить?
  • В срочных случаях: Могу ли я установить время только вручную или я могу принудительно синхронизировать timesyncd с NTP-сервером?

Чтобы использовать фактическую реализацию NTP, вам нужно установить и настроить ее, chrony или, может быть ntpd . Сделайте это, если вам требуется какой-либо мониторинг производительности времени. Я приму хронию.

Добавьте iburst в ваш pool или server строки в вашей конфигурации, чтобы ускорить начальные несколько пакетов. Все еще может занять пару минут, чтобы стабилизироваться, наберитесь терпения.

chronyc tracking покажет текущее смещение. Представьте себе, каковы ваши требования, с точностью до секунды можно легко выдержать смещение в десятки миллисекунд.

Читайте также:  Неисправность компьютера не работает монитор

chronyc makestep сделает текущую настройку немедленно. Обычно не нужно.

timesyncd является клиентом SNTP, который может устанавливать время, но не дисциплинировать его постепенно и непрерывно, ни фильтровать удаленный NTP-сервер по качеству . (Он также не может общаться с оборудованием времени или PTP, только с протоколом NTP.) Немного лучше, чем повторяется ntpdate , под этим я подразумеваю не очень хорошие часы. Лично я заменяю его на большинстве серверов.

О единственном способе , чтобы установить время с timesyncd вручную: timedatectl set-time «2019-01-15 00:40:16» . Он не имеет надежных средств для дисциплины и контроля часов. Базовая статистика NTP через timedatectl timesync-status — относительно новая вещь, я не думаю, что эта опция доступна в Red Hat 7 или Ubuntu 18.04.

Источник

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

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

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

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

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

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

  • hwclock —localtime — проверка аппаратного времени без поправки
  • hwclock —utc – проверка времени с условием, что аппаратные часы идут по времени UTC

[root@server etc]# hwclock —localtime

[root@server etc]# hwclock —utc

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

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

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

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

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

[root@server etc]# date

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

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

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

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

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

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

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

  • timedatectl
  • tzdata

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

# timedatectl set-timezone Europe/Moscow

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

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

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

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

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

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

Читайте также:  Как настроить передачу файлов между компьютерами по wifi

# yum install ntp -y

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

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

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

[root@server Asia]# service ntpd status

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

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

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

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

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

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

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

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

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

# dnf install chrony

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

# systemctl start chronyd
# systemctl enable chronyd

Проверим статус сервиса:

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

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

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

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

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

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

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

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

# service ntpd stop

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

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

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

# timedatectl set-ntp 0

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

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

# yum install tzdata -y

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

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

Читайте также:  Если терминал не работает как написать объявление

Источник

Использование systemd-timesyncd для синхронизации времени в Debian/Ubuntu

В Linux для синхронизации времени традиционно используется ntpd как стандарт де-факто, но есть другая и более простая альтернатива — это systemd-timesyncd.

Давайте настроим его для синхронизации времени, а про ntpd забудем и удалим его.

С ntpd все просто, ставится пакет ntp, настраивается файл конфигурации /etc/ntp.conf и включается служба ntp (systemctl start ntp), далее проверяем с помощью утилиты ntpstat факт синхронизации локальных часов с удаленным сервером и радуемся.
Все бы хорошо, но с помощью ntpd можно не только забирать время с удаленных сервером, но и выступать в качестве сервера времени для других, то есть ntpd принимает входящие соединения и его некорректная настройка может послужить причиной участия вашего сервера в DDoS-атаки (см. NTP amplification attack (CVE-2013-5211))
Конечно во многих дистрибутивах уже исправили дефолтный файл конфигурации ntp.conf и теперь сервер не может участвовать в этой атаке, но… береженого бог бережет.
Зачем использовать ntpd если ваш сервер не будет выступать в роли сервера, предоставляющего точное время для других серверов?
Достаточно установить клиента, который будет забирать время с удаленного сервера и синхронизировать ваши часы, что и делает systemd-timesyncd.

В дистрибутивах с системой инициализации systemd есть встроенная альтернатива ntpd — это systemd-timesyncd
Так же следует дать вот эту ссылку, где есть детальное сравнение 3-х реализаций демонов синхронизации времени.

Исходные данные: Ubuntu 16.04.6 (xenial)
Задача: Отказаться от ntpd и настроить systemd-timesyncd для синхронизации часов.

Удалим ntpd и утилиту ntpstat:

Удалить ntpd или например chronyd нужно потом, что иначе systemd-timesyncd не будет синхронизировать время. За такую проверку отвечает файл /lib/systemd/system/systemd-timesyncd.service.d/disable-with-time-daemon.conf в котором прописан список бинарников, при наличии которых в системе демон systemd-timesyncd не будет работать.

Теперь настроим systemd-timesyncd, для этого в файл конфигурации /etc/systemd/timesyncd.conf пропишем список серверов времени:

Таким образом мы добавили в файл настройку NTP= определяющую список основных серверов времени, можно добавить настройку FallbackNTP= которая определит список резервных серверов времени:

Смотрим текущий статус синхронизации часов:

В строке «NTP synchronized» может стоять no если синхронизация часов по ntp до этого не была настроена вообще или yes, если до этого часы синхронизировались с помощью ntpd

Включаем использование systemd-timesyncd для синхронизации времени:

Включаем и перезапускаем службу systemd-timesyncd:

Через несколько минут можно проверить с помощью timedatectl состояние синхронизации:

Значение в строке «NTP synchronized» должно измениться на yes

Если systemd-timesyncd не синхронизирует часы, то прежде всего проверьте настройки межсетевого экрана (iptables) на предмет разрешения исходящих подключений на 123 порт по протоколу UDP.

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

P.S. Утилиту timedatectl так же можно использовать для смены часового пояса, пример:

Выведем список временных зон:

Установим временную зону Asia/Yekaterinburg:

+5 свидетельствует об установке нашей зоны (Asia/Yekaterinburg это UTC+5)

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

Источник

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