Синхронизировать время debian. Базовая настройка сервера Debian после установки

Во время первоначальной установки Debian мы конфигурируем часовой пояс с помощью пакета . В дальнейшем синхронизация времени и часового пояса можно выполнить командами:

$ su $ пароль $ dpkg-reconfigure tzdata

Стрелками выбираем Европа и нажимаем Enter .

Также выбираем часовой пояс.

В результат синхронизация получаем универсальное (время по Гринвичу ) и местное время .

Конфигурационный файл хранится в /etc/timezone . Открыть файл можно с помощью команды:

$ gedit /etc/timezone

Кроме того, соответствующий файл данных находится в каталоге /usr/share/zoneinfo и копируется в /etc/localtime , этот файл содержит правила, регулирующие дату летнего или зимнего времени для стран, которые его используют.

В компьютере два источника времени: на материнской плате аппаратные часы — "CMOS " и в ядре операционной системы, контролируемые серверами времени через сеть. На практике существует проблема, так как часы CMOS является не более чем счетчиком и не содержат никакой информации о часовом поясе.

Проблема возникает когда компьютер в сети или имеет несколько систем (например, запуск других систем через виртуальную машину) тогда возникает хаос и неясно какое время является правильным.

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

Поскольку компьютеры регулярно запускаются и перезагружаются (для экономии электроэнергии), машины удобно синхронизировать с помощью NTP при загрузке. Для этого просто установите ntpdate пакет он позволяет быстро синхронизировать часы компьютера с серверами точного времени, подсоединёнными ко Всемирной Паутине. Установку ntpdate из репозитория произведем с помощью менеджера пакетов Synaptic или путем выполнения команд в терминале:

$ su $ пароль $ apt-get install ntpdate

Для рабочих станций вы можете изменить сервер NTP , используемый при необходимости путем модификации /etc/default/ntpdate файла.

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

Установка NTP

$ aptitude install ntp ntpdate

В конфигурации по умолчанию сервер будет синхронизировать с ресурсом pool.ntp.org и обеспечит время в ответ на запросы, поступающие из локальной сети. Вы можете настроить его путем редактирования/etc/ntp.conf файла.

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

Disable monitor restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery restrict 127.0.0.1 restrict -6::1

disable monitor - отключение запросов monlist, которые возвращают список из последних 600 клиентов ntp. restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery - отключение запросов статуса сервера.

Так же вы можете указать свои сервера для синхронизации времени, например, адреса NTP серверов Pоссии: https://www.ntp-servers.net/servers.html и отредактируйте файл /etc/ntp.conf, выполнив команду:

$ gedit /etc/ntp.conf

Разовая синхронизация времени

В качестве примера используется сервер ntp1.stratum1.ru :

$ ntpdate ntp1.stratum1.ru

До синхронизации

После синхронизации

Для того, чтобы организовать постоянную синхронизацию времени произведем установку демона (сервера) ntp

Отредактируйте файл /etc/ntp.conf или создайте его, если такого файла нет.

$ server ntp1.stratum1.ru iburst

Запускаем ntp и добавляем его автозагрузку

$ /etc/init.d/ntp start $ update-rc.d ntp defaults

Я использую операционную систему Debian GNU/Linux на серверах для хостинга сайтов. Когда летом 2017 года вышла версия 9 Stretch, я обрадовался тому, что для нее в репозиториях «из коробки» был доступен PHP 7. Который, как известно, работает быстрее PHP 5.

В этой статье я покажу, что и с настройкой времени на Debian 9 так же стало лучше, не нужно ничего качать и устанавливать дополнительно, в частности демон ntp или утилиту ntpdate. Все отлично настраивается и работает на стандартном наборе ПО Debian 9 благодаря обновлённой версии systemd , в котором имеется отдельная служба, отвечающая за синхронизацию времени системы по протоколу NTP .

Как настроить время Debian 9

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

# timedatectl set-timezone Europe/Volgograd

Затем нужно отредактировать файл /etc/systemd/timesyncd.conf , указав в нем серверы для синхронизации времени, например так:

# This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # Entries in this file show the compile time defaults. # You can change settings by editing this file. # Defaults can be restored by simply deleting this file. # # See timesyncd.conf(5) for details. NTP=ru.pool.ntp.org FallbackNTP=pool.ntp.org

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

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

# systemctl restart systemd-timesyncd

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

# timedatectl status

Результат ниже говорит о том, что часы на моем сервере настроены верно и синхронизируются по протоколу NTP.

Local time: Tue 2018-12-18 16:36:33 +04 Universal time: Tue 2018-12-18 12:36:33 UTC RTC time: Tue 2018-12-18 12:36:33 Time zone: Europe/Volgograd (+04, +0400) Network time on: yes NTP synchronized: yes RTC in local TZ: no

здесь,
Local time - это местное время;
Universal time - время UTC (всемирное координированное время). Это отправная точка для отсчета всех часовых поясов;
RTC time - время в аппаратных часах сервера (компьютера);
Time Zone - ваш часовой пояс;
Network time on - указывает, включен ли ntp-клиент, входящий в состав systemd;
NTP synchronized - сообщает, синхронизировано ли время с ntp-сервером;
RTC in local TZ - показывает, какое время хранится в аппаратных часах: локальное или всемирное. При этом, yes означает локальное время, no - всемирное;

Информация для новичков

Меня иногда спрашивают, где вводить (выполнять) приводимые мною команды?

Все приведенные в данной статье команды нужно выполнять в консоли сервера от имени привилегированного пользователя (root). Знак # (октоторп, решетка, диез, хеш) как раз говорит об этом.

В качестве консольного клиента для удаленного подключения к серверам я использую программу

26 октября 2014 года был принят закон о смене часовых поясов в России. С данным законопроектам повсеместно возникали проблемы с синхронизацией местного времени по протоколу NTP.

Сегодня мы рассмотрим один из способов решения проблемы синхронизации системного времени на серверах и десктопных машинах Ubuntu\Debian. Решение о котором сегодня будет идти речь, самое логичное, верное и эффективное.

Все просто!

За часовые пояса в системе Ubuntu и Debian отвечает пакет tzdata. Для корректной работы NTP синхронизации и системного времени нужно обновить базу часовых поясов tzdata. Так же, мы рассмотрим установку и настройку NTP клиента для синхронизации системного времени с NTP серверами или кластерами на примере Ubuntu,Debian.

Обновление tzdata - исправляем системного время на Ubuntu или Debian

На сегодняшний день обновления для tzdata появились с стандартных репозиториях системы Ubuntu или Debian. Обновление базы часовых поясов tzdata не составляет, абсолютно, никаких сложностей.

Для обновления tzdata из репозиториев необходимо проделать следующую последовательность операций:

1. Обновляем дерево пакетов подключенных репозиториев.

Sudo apt-get update

2. Производим установку более новой версии tzdata.

Sudo apt-get install tzdata

3. Делаем конфигурацию tzdata и выбираем наш часовой пояс

Sudo dpkg-reconfigure tzdata

4. Перезагружаем систему для обновления системного времени стороннего программного обеспечения

Sudo reboot

Установка и настройка NTP клиента на Ubuntu или Debian

Периодическая синхронизация и корректировка системного времени необходима для серверов и желательна для десктопных систем, т.к. аппаратные часы BIOS имеют значимую погрешность и с закономерной периодичностью "убегают" в большую или меньшую сторону.
Установка и настройка NTP клиента в Ubuntu или Debian можно считать тривиальной задачей, не вызывающая никаких сложностей и вопросов. Установка и настройка Клиента проходит в 3 этапа:

1. Установка NTP клиента:

Sudo apt-get install ntp

2. Настройка NTP клиента при помощи текстового редактора и файла конфигураций

# Проверьте и, при необходимости, замените в файле конфигураций список NTP # серверов для синхронизации. По умолчанию они такие: server 0.ubuntu.pool.ntp.org server 1.ubuntu.pool.ntp.org server 2.ubuntu.pool.ntp.org server 3.ubuntu.pool.ntp.org # Если вы не знаете какие сервера лучше использовать для синхронизации - # рекомендуем воспользоваться данным кластером серверов: http://www.pool.ntp.org/

3. Проверяем пул адресов для синхронизации, который выдает кластер или сервера синхронизации, указанные в файле конфигураций /etc/ntp.conf:

Если у вас будет вывод аналогичный этому - все впорядке, ntp синхронизация системного времени корректно работает:

Remote refid st t when poll reach delay offset jitter =========================================================== *webhost2.mitht. 193.67.79.202 2 u 52 64 17 16.412 -35.137 0.886 mail.sonur.ru .PPS. 1 u 48 64 17 79.297 -58.992 1.493 guard.qword.ru .INIT. 16 u - 64 0 0.000 0.000 0.000 ns.davydkovo.ne 130.173.91.58 2 u 45 64 17 23.343 -40.480 1.351 golem.canonical 192.93.2.20 2 u 45 64 17 66.089 -34.140 1.669

4. Перезапускаем систему для корректно работы ntp клиента и синхронизации времени при загрузке. В принципе, все корректно работает и после установки, но при использовании стороннего или специфического программного обеспечения, необходима перезагрузка, проще перезагрузить систему:

Sudo reboot

На данном этапе установка и настройка NTP клиента синхронизации системного времени завершена. Теперь ваше система прозрачно и незаметно корректирует системное время при помощи более точных серверов синхронизации времени по протоколу NTP.

Вот мы и решили 2 основных вопроса, связанных с точным временем на вашем сервере или десктопной системе Ubuntu, Debian:

  • Первый вопрос корректировки связан со сменой часовых поясов на территории Россий, связанный с законодательством, вступившим в силу 26 октября 2014 года, и базой данных часовых поясов tzdata.
  • Второй вопрос корректировки точного системного времени связан с установкой и настройкой NTP клиента и NTP синхронизацией системного времени с более точными серверами или кластерами.

По итогам прочтения статьи, у вас должно возникнуть точное понимание принципов корректировки системного времени и NTP синхронизации вашего сервера, декстопной системы Ubuntu или Debian с NTP серверами или кластерами.

Точное время на компьютере служит не только для сверки человеком даты и времени, но так же выполняет много других важных задач. Например, попробуйте перевести своё время на несколько часов назад или вернуться в прошлое указав в настройках 19хх год. Теперь зайдите с такой датой на google.com. Скорее всего вы потерпите полное фиаско.

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

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

Способ №1

Представляет из себя самый простой способ. Наиболее предпочтителен для новичков. Настройка осуществляется через мастер в псевдографическом режиме.

Dpkg-reconfigure tzdata

Способ №2

Практически идентичен способу №1. Прост и удобен, но на сей раз только в текстовом режиме. Всё что от вас требуется следовать подсказкам мастера

Способ №3

Одна из утилит systemd

Timedatectl set-timezone <название зоны>

Просмотр доступных зон

Timedatectl list-timezones

Способ №4

С помощью утилиты ntpdate . По умолчанию данная утилита не установлена.

Apt install ntp ntpdate

Добавьте ntp-сервер в конфигурационный файл /etc/ntp.conf ищите строки начинающиеся с pool. Более подробно о синтаксисе этого файла man ntp.conf

Остановим службу сетевого времени для обновления

Service ntp stop

Получаем данные с ntp-сервера

Ntpdate -s <адрес ntp-сервера>

Запускаем службу обратно

Service ntp start

Способ №5

Ручная настройка. Пишем в файл /etc/timezone нужную временную зону, например Europe/Moscow

Echo Europe/Moscow > /etc/timezone

Перезаписываем данные о временной зоне.

Ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Получаем данные с ntp-сервера

Точное время на компьютере, вещь приятная.. но по моему наблюдению многие даже и не пытаются это использовать.. в лучшем случае корректировка вручную.. :(
В линуксе есть замечательная служба ntp, но настроить ее многим не под силу, для этого нужно прочитать энное количество документации, чтоб понять "как это работает" (с)
Я постараюсь кратко объяснить как настраивать и использовать эту службу, в первую очередь для тех кто не хочет или не может тратить много времени на это.
Для чего это нужно?
При правильно настроенной службе на сервере, вы сможете локально синхронизировать часы на всех компьютерах в локальной сети, при чем как OS Linux так и Windows.
Что приятно, нет необходимости постоянно получать доступ в интернет, когда у сервера он будет, тогда он и сделает поправку по времени.. остальные синхронизацию получат локально от него.
Так же очень часто на старых компьютерах батарейки на материнских платах уже подсевшие, и время сильно уходит, при старте компьютера, время будет автоматически скорректировано..
Что нужно установить?
В стандартном репозитарии Debian есть пакеты: ntp и ntpdate
apt-get install ntp ntpdate
в принципе после установки сервер начинает работать уже сразу..
но синхронизироваться с ним у вас не получиться..
для этого в /etc/ntp.conf необходимо кое что исправить..
ниже привожу конфиг и комментарии к нему, свои исправления вы сможете сделать сами:
#=============================================================================
# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help driftfile /var/lib/ntp/ntp.drift statsdir /var/log/ntpstats/ statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable server 0.debian.pool.ntp.org server 1.debian.pool.ntp.org server 2.debian.pool.ntp.org server 3.debian.pool.ntp.org server 2.ru.pool.ntp.org server 1.ru.pool.ntp.org server 3.europe.pool.ntp.org server 2.europe.pool.ntp.org restrict -4 default kod notrap nomodify nopeer noquery restrict 127.0.0.1 # наша сеть restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap restrict 192.168.255.0 mask 255.255.255.240 nomodify notrap # а это волшебная штука, которая выставляет уровень доверия серверу (strata) самому себе равный 3 # в двух словах чем выше уровень-тем меньше число. 0 - это атомные часы, # 1 - это синхронизированные с ними, 2 - с первым, и так далее. server 127.127.1.1 fudge 127.127.1.1 stratum 3 ===================================================================================

На компьютерах Windows XP например можно в настройках даты времени теперь указать свой сервер, или его ipdaares и синхронизироваться..
с Windows 98, 200 сложнее.. нужна специальная программа, типа D4,
что в принципе решабельно..
С Linux - практически все мне известные версии имеют такую службу.. не думаю, что конфиг там сильно отличается.. :)