Taxitaxitaxi.ru

Эволюшн
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Синхронизация времени через Интернет в Ubuntu

Синхронизация времени через Интернет в Ubuntu

Синхронизация времени через Интернет в Ubuntu

В нашем мире все относительно. И время не исключение. Если точное время наручных часов зависит от их стоимости и производителя, то время на компьютере зависит, в первую очередь, от частоты синхронизации с серверами точного времени.

Автоматическая синхронизация точного времени с сервером расположенным в Интернете — это хороший способ держать электронные часы ОС всегда «подведенными». Благодаря этому на вашем компьютере часы будут показывать всегда актуальное время.

Как работает синхронизация времени через Интернет?

Синхронизация времени производится посредством специального протокола передачи данных — NTP (Network Time Protocol). Этот протокол включает в себя набор сложных алгоритмов, которые позволяют с большой точностью синхронизировать время (до тысячных миллисекунд расхождения).

Есть более упрощенная версия этого протокола — SNTP (Simple Network Time Protocol), который используется в сетях, где не требуется высокая точность синхронизации (до 1 сек. расхождения).

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

Синхронизация времени через Интернет в Ubuntu

«Вторичные» сервера синхронизируются с серверами первого уровня посредством протокола NTP. Расхождение по времени между ними достигает порядка 20 миллисекунд. Таких серверов значительно больше и поэтому целесообразней настраивать синхронизацию именно с ними.

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

Настройка синхронизации времени в Linux Ubuntu

По-умолчанию в операционной системе Ubuntu, начиная с версии 9.10, время синхронизируется автоматически при каждом запуске ОС. Но не лишнем будет это проверить и убедится в правильности работы синхронизации.

Чтобы синхронизировать время в Ubuntu нам нужно:
  1. Установить пакет синхронизации времени ntp:
  • ntp1.imvp.ru
  • ntp.psn.ru
  • time.nist.gov
  • pool.ntp.org
  • ru.pool.ntp.org

Обратите внимание на кавычки. Такое написание правильное.

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

В качестве сервера можно указать любой другой NTP-сервер или через пробел указать несколько серверов.

Большинство продавцов и торговых фирм, которые реализовывают терминалы сбора данных Casio, хваля залежалые модели, обязательно отмечают присутствие интерфейса Bluetooth. При этом они умалчивают, что этот терминал сбора данных не имеет Wi-Fi модуля, который более востребован в работе. Bluetooth больше подходит для связи с мобильным принтером для быстрой печати ценников, а не для передачи данных на сервер, что нужнее чаще.

При покупке терминала следует обратить на это внимание.

  1. Синхронизация времени через Интернет в Ubuntu
  2. Красивая раскладка клавиатуры в Ubuntu
  3. Как установить шрифты MacOS в Ubuntu?
  4. Создание DEB / RPM пакета из исходников или как использовать checkinstall
  5. Вызываем системный монитор по нажатию Ctrl+Alt+Delete
  6. Русификация qutIM, установка смайлов и звуков от QIP
  7. Как найти ключ репозитория в Ubuntu?
  1. Александр #
    3 сентября, 18:07
Читайте так же:
Светодиодные лампочки плавная регулировка

Спасибо. Добавил в свой список “how-to”

доброго времени суток!

наскольо сам помню тему, параметр
ntpd_enable=»YES»
не отвечает за “Настраиваем автоматическую синхронизацию при каждой загрузке ОС”, если точнее, он отвечает за запуск демона ntpd, который сам себе достаточно умный и сам решает когда синхронизироваться…

в Ubuntu синхронизация времени как раз и происходит при поднятии сетевого интерфейса (см. файл /etc/network/if-up.d/ntpdate)…
при чём “дебиановцы” умные ребята,- запуск “нтпдейт” настроен таким образом, что, если в системе, будет установлен полный пакет “нтп”, “нтпдейт” не будет мешать работе “нтп”, более того он (“нтпдейт”) в своей работе будет использовать настройки “нтп”…

в чём разница между этими двумя пакетами?
“нтпдейт” просто утилита которая запускается, выполняет работу и уходит… её можно сравнить с таким поведением: Вы просыпаетесь утром, набираете на телефоне службу точного времени, подводите часы, если они отстают, и не вспоминаете про часы до следующего утра…
“нтп” это демон, процесс постоянно висящий в памяти и постоянно делающий работу… его можно описать так: Вы нанимаете рабочего, который каждые десять минут (к примеру) звонит в службу точного времени и подводит часы, при этом он ведёт журнал, в котором записывает насколько он каждый раз подвёл часы… благодаря журналу даже если у Вас отключат телефон (пропало соединение с серверами верхних уровней) работник (“нпт”) сможет и сам подводить часы…

у меня в “локалке” я настроил сервер времени используя “нпт”… он раздаёт точное время доменным контроллерам (на “оффтопике”)… моё ИМХО – в локалке такой сервер нужен, дома хватает и “нтпдейта”…

У меня Mint 9, в нем нет файла /etc/rc.conf, что делать чтобы автоматически при каждой загрузке ОС была синхронизация?

В rc.conf нет параметра “ntpd_enable” для РЕДАКТИРОВАНИЯ =)
Но есть параметр “exit” с параметром “0”. Прочитал закоменченную сопроводиловку в файле – ниче толком не понял )
Я так понимаю логично было бы добавить ntpd_enable=»YES» ДО “exit 0”.
Но шипко смущает фраза
>> … By default this script does nothing.
Таки надо “exit 1”?
ОС – Убунту 10.04 с последними обновлениями

x0r: наскольо сам помню тему, параметр ntpd_enable=»YES» не отвечает за “Настраиваем автоматическую синхронизацию при каждой загрузке ОС”, если точнее, он отвечает за запуск демона ntpd, который сам себе достаточно умный и сам решает когда синхронизироваться…

Спасибо, за развернутый комментарий.

полезная статья! только для камчатски вроде как бесполезная :))

зы: почаще бы обновлялся раздел статей на вашем сайте;)

Спасибо за столь разжеванную статью. Очень полезная функция. Жаль, что она не встроена в саму утилиту настройки времени как в винде…

root@desktop:/home/pupkin# crontab -l
# m h dom mon dow command
* */8 * * * ntpdate ru.pool.ntp.org
ntpdate есть из коробки.

Очень тупой вопрос. А разве время не синхронизируется само?

Замечания по оговоркам в статье:
1) Тысячная миллисекунды называется микросекундой
2) Первичные сервера находятся не в КРОНЕ , а в КОРНЕ дерева серверов.

Синхронизация времени в Ubuntu 18.04

Точное хронометрирование – очень важный аспект корректной работы многих современных программ. Из-за неправильного времени на сервере могут возникнуть ошибки, и данные могут быть повреждены (например, при обновлении БД или логировании).

Читайте так же:
Центры по регулировке фар

В Ubuntu 18.04 синхронизация времени встроена и включена по умолчанию; за неё отвечает сервис timesyncd. Данный мануал ознакомит вас с базовыми командами для управления временем, научит проверять состояние timesyncd и устанавливать другие сервисы сетевого времени.

Требования

Для работы вам понадобится сервер Ubuntu 18.04 и пользователь с доступом к sudo (мануал нужно выполнить в сессии этого пользователя). Все необходимые инструкции по настройке вы найдете здесь.

Основные команды для управления временем

date – основная команда для определения времени на сервере. Любой пользователь может использовать её, чтобы узнать дату и время:

date
Tue Jul 10 14:48:52 UTC 2018

Обычно по умолчанию серверы используют часовой пояс UTC (Coordinated Universal Time) – это всемирное координированное время. UTC последовательно устанавливает время на серверах и минимизирует ошибки в случае если сервера инфраструктуры находятся в разных часовых поясах.

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

Запросите список доступных поясов:

Перемещаться вниз по списку можно с помощью клавиши пробела, а вверх – с помощью b. Выберите часовой пояс, запишите его и нажмите q, чтобы закрыть список.

Теперь установите часовой пояс с помощью timedatectl set-timezone. Используйте следующую команду, указав в ней требуемый часовой пояс:

sudo timedatectl set-timezone America/New_York

Примечание: Вместо America/New_York укажите необходимый часовой пояс.

Убедитесь, что пояс изменился:

date
Tue Jul 10 10:50:53 EDT 2018

Аббревиатура часового пояса будет отражать новое значение.

Управление сервисом timesyncd

До недавнего времени за синхронизацию времени отвечал демон ntpd (Network Time Protocol daemon). Он подключал сервер к пулу серверов NTP, что обеспечивало точное хронометрирование.

Теперь Ubuntu вместо ntpd по умолчанию использует timesyncd. Сервис timesyncd подключается к тем же серверам времени и работает примерно таким же образом, но он легче ntpd и интегрирован с systemd.

Узнать состояние timesyncd позволяет команда timedatectl.

timedatectl
Local time: Tue 2018-07-10 10:54:12 EDT
Universal time: Tue 2018-07-10 14:54:12 UTC
RTC time: Tue 2018-07-10 14:54:12
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no

Команда выведет местное время, универсальное время (если вы используете часовой пояс UTC, оно будет совпадать с местным временем) и дополнительную информацию о состоянии сетевого времени. Строка «System clock synchronized: yes» означает, что время было успешно синхронизировано, а «systemd-timesyncd.service active: yes» – что timesyncd включен и работает.

Если сервис timesyncd отключен, введите:

sudo timedatectl set-ntp on

После этого снова запросите состояние timesyncd. В строках System clock synchronized и systemd-timesyncd.service active должно быть значение yes.

Переход с timesyncd на ntpd

В большинстве случаев сервис timesyncd подходит для работы, но если ваши приложения чувствительны к малейшим колебаниям времени, лучше обслуживать их с помощью ntpd, так как этот демон использует более сложные методы синхронизации системного времени.

Прежде чем установить ntpd, отключите timesyncd:

sudo timedatectl set-ntp no

Убедитесь, что timesyncd отключился:

В выводе должна быть строка:

systemd-timesyncd.service active: no

Читайте так же:
Регулировка сцепления мицубиси л 200

Теперь можно установить ntp:

sudo apt update
sudo apt install ntp

Демон ntpd запускается автоматически после установки. Запросите состояние ntpd:

ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
0.ubuntu.pool.n .POOL. 16 p — 64 0 0.000 0.000 0.000
1.ubuntu.pool.n .POOL. 16 p — 64 0 0.000 0.000 0.000
2.ubuntu.pool.n .POOL. 16 p — 64 0 0.000 0.000 0.000
3.ubuntu.pool.n .POOL. 16 p — 64 0 0.000 0.000 0.000
ntp.ubuntu.com .POOL. 16 p — 64 0 0.000 0.000 0.000
+ec2-52-0-56-137 216.239.35.0 2 u 16 64 1 7.872 -2.137 1.485
+66.220.10.2 129.6.15.30 2 u 12 64 1 65.204 3.740 2.686
+block.steinhoff 209.51.161.238 2 u 11 64 1 33.364 1.710 3.586
+eterna.binary.n 216.229.0.50 3 u 11 64 1 35.330 2.821 2.839
+2604:a880:800:1 209.51.161.238 2 u 14 64 1 0.394 0.386 2.462
+ec2-52-6-160-3. 130.207.244.240 2 u 11 64 1 8.150 2.050 3.053
+mx.danb.email 127.67.113.92 2 u 13 64 1 63.868 1.539 2.240
*hydrogen.consta 129.6.15.28 2 u 12 64 1 2.989 1.755 2.563
+ntp-3.jonlight. 127.67.113.92 2 u 10 64 1 64.561 2.122 3.593
+undef.us 45.33.84.208 3 u 12 64 1 33.508 1.631 3.647
+ntp-3.jonlight. 127.67.113.92 2 u 8 64 1 64.253 2.645 3.174
2001:67c:1560:8 145.238.203.14 2 u 22 64 1 71.155 -1.059 0.000
+test.diarizer.c 216.239.35.4 2 u 11 64 1 64.378 4.648 3.244
2001:67c:1560:8 145.238.203.14 2 u 18 64 1 70.744 -0.964 0.000
alphyn.canonica 132.246.11.231 2 u 17 64 1 7.973 -0.170 0.000
+vps5.ctyme.com 216.218.254.202 2 u 10 64 1 65.874 1.902 2.608

ntpq – это инструмент запросов для ntpd. Флаг –p запрашивает данные о серверах NTP, к которым подключается ntpd. Ваш вывод будет отличаться, но в нём всё равно должен быть стандартный пул Ubuntu и несколько других серверов.

На установку соединения ntpd потребуется несколько минут.

Заключение

Теперь вы умеете управлять системным временем сервера Ubuntu 18.04.

Больше информации можно найти в документации NTP или на сайте проекта NTP Pool.

📑 Установка сервера точного времени NTP в Ubuntu 16.04

NTP — Network Time Protocol — специальный сетевой протокол,используемый для синхронизации внутренних часов компьютера по сети.

До недавнего времени за синхронизацию времени отвечал демон ntpd. Он подключал сервер к пулу серверов NTP, что обеспечивало точное хронометрирование.

В Ubuntu 16.04 вместо ntpd по умолчанию использует timesyncd. Сервис timesyncd подключается к тем же серверам времени и работает примерно таким же образом, но он легче ntpd и интегрирован с systemd.

В большинстве случаев сервис timesyncd подходит для работы, но если ваши приложения чувствительны к малейшим колебаниям времени, лучше обслуживать их с помощью ntpd, так как этот демон использует более сложные методы синхронизации системного времени.

Прежде чем установить ntpd, отключите timesyncd:

Убедитесь, что timesyncd отключился:

В выводе должна быть строка:

Установка NTP и конфигурирование NTP сервера в Ubuntu 16.04 для синхронизации точного времени через интернет

В своей работе NTP использует порт 123 по протоколу UDP. Клиенты запрашивают текущее время на сервере и используют его для установки своих собственных часов.

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

Конфигурирование NTP сервера

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

Читайте так же:
Регулировка света фар на кайене

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

Можно также указать предпочитаемый сервер при помощи опции prefer:

Работу общедоступных серверов точного времени координирует проект pool.ntp.org — это огромный кластер серверов точного времени, предоставляющий надежный и простой в использовании NTP-сервис для миллионов клиентов.

Чтобы обеспечить более точную установку системных часов, рекомендуется синхронизироваться только с ntp-серверами того региона, в котором географически расположен наш сервер.

Правим файл настроек NTP — /etc/ntp.conf:

Резервный сервер точного времени

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

Перестартуем NTP сервер:

И в завешении установки проверим статус NTP сервера:

Должно выдать что-то типа:

В заголовке указываются следующие параметры:

remote — адрес сервера точного времени (в этой графе отображаются серверы из списка в конфигурационном файле);
refid — вышестоящий сервер (тот, от которого сервер из предыдушей графы получает синхронизацию);
st — уровень (stratum) сервера;
t — тип пира (u- unicast, m- multicast);
when — время последней синхронизации;
poll — время в секундах, за которое демон NTP синхронизируется с пиром;
reach — состояние доступности сервера; после восьми успешных попыток синхронизации значение этого параметра становится равным 377;
delay — время задержки ответа от сервера;
offset — разница времени между нашим сервером и сервером синхронизации; положительное значение этого параметра означает, что наши часы спешат, отрицательное — что отстают;
jitter — смещение времени на удаленном сервере.

Слева от адреса сервера могут быть указаны следующие символы:

* сервер выбран для синхронизации;
+ сервер, пригодный для обновления (с которым можно синхронизироваться);
— с сервером синхронизироваться не рекомендуется;
х сервер недоступен.

Для защиты от DDoS-атак по умолчанию в файлe /etc/ntp.conf установлены следующие ограничения:

Параметры nomodify, notrap, nopeer и noquery запрещают сторонним клиентам изменять что-либо на сервере. Параметр kod (эта аббревиатура означает kiss of death — «поцелуй смерти») обеспечивает дополнительную защиту: клиент, отправляющий слишком частые запросы, сначала получит так называемый kod-пакет (предупреждение об отказе в обслуживании), а затем будет отключен от сервера.

Чтобы с NTP-сервером могли синхронизироваться машины из локальной сети, в конфигурационный файл следует добавить следующую строку:

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

Линукс синхронизация времени ntp

FreeBSD поставляется с сервером NTP ntpd(8), который можно использовать для опроса других серверов NTP для установки часов на вашей машине или предоставления услуг точного времени. Написанное в статье в равной степени справедливо и для многих других *nix систем (Linux). Как настроить синхронизацию времени в Windows, читайте здесь .

Для синхронизации времени FreeBSD с другой системой служит программа ntpdate, обычно вызываемая планировщиком cron в заданные интервалы времени. Если вам нужно только синхронизировать ваши часы при загрузке машины, вы можете воспользоваться утилитой ntpdate(8). Кроме того, синхронизацию времени может делать демон ntpd. Программа ntpd(8) изменяет время постепенно, тогда как ntpdate(8) устанавливает время вне зависимости от того, насколько велика разница между текущим временем машины и точным временем. Дока man ntpdate говорит, что весь функционал ntpdate теперь реализован в демоне ntpd, и со временем ntpdate прекратит существование (перестанет поставляться в дистрибутиве), поэтому лучше сразу использовать ntpd. Демон ntpd может эмулировать поведение ntpdate, если указать опции -q и -g, при этом ntpd просто синхронизирует время и завершает работу.

Читайте так же:
Мотоцикл урал карбюратор регулировка поплавка

Демон ntpd специально предназначен для установки и поддержания системного времени в синхронизме со стандартными серверами времени в Интернете. По умолчанию используется протокол NTP (порт 123 UDP) версии 4, но также поддерживается совместимость с версиями 3 (RFC-1305), а также 1 и 2 (RFC-1059 и RFC-1119). Демон ntpd периодически (с настроенным интервалом) обменивается сообщениями с одним или несколькими серверами NTP, доступными в Интернете (или в локальной сети). Если разница времени между локальным хостом и сервером NTP превышает 1000 секунд, то требуется вмешательсто оператора для ручной установки времени. При этом в лог пишется panic-сообщение, и демон прекращает работу. Опция -g отменяет такое поведение (время синхронизируется при любой разнице времени), однако если синхронизация была неуспешной (разница во времени превышает 1000 секунд), ntpd все равно прекращает работу. Для работы ntpd может использовать специальный файл для хранения параметров ухода часов, по умолчанию это /etc/ntp.drift. Конфигурация для ntpd по умолчанию хранится в файле /etc/ntp.conf.

Вариантов настройки синхронизации много, но я выбрал для себя простейший режим — запуск ntpd по крону с указанием опций -q и -g. Процесс по шагам.
1. Создаем файл /etc/ntp.conf.
# touch /etc/ntp.conf

2. Находим и проверяем сервера времени. Я нашел сервера server ntp0.zenon.net, ns.arc.nasa.gov, tick.usno.navy.mil, time.nist.gov.
# nmap -sU -p123 ntp0.zenon.net
# nmap -sU -p123 -P0 ns.arc.nasa.gov
# nmap -sU -p123 tick.usno.navy.mil
# nmap -sU -p123 time.nist.gov
Среди серверов лучше определить один, до которого кратчайший маршрут (с помощью утилиты traceroute), чтобы его потом указать в /etc/ntp.conf с опцией prefer. У меня такой сервер оказался ntp0.zenon.net.

3. Добавляем сервера в /etc/ntp.conf
server ntp0.zenon.net prefer
server ns.arc.nasa.gov
server tick.usno.navy.mil
server time.nist.gov

4. Теперь можно синхронизировать время простой командой ntpd -q -g. Здесь опция -q указывает ntpd закончить работу после синхронизации времени, а опция -g отключает проверку sanity-интервала в 1000 секунд. Этими опциями эмулируется поведение устаревающей программы ntpdate.

5. На Red Hat Linux команда ntpd -q -g заработала даже без создания и правки файла /etc/ntp.conf, поскольку после установки этот файл появился автоматически. На FreeBSD оказалось все не так гладко — время засинхронизировалось, но со смещением -3 часа. Как я понял, это из-за того, что неправильно настроен часовой пояс. После настройки часового пояса все заработало нормально.

6. Добавляем назначенное задание. Например, для FreeBSD нужно в файл /etc/crontab добавить строчку:
0 1 * * * root ntpd -q -g
Это будет запускать ntpd -q -g каждый день в 01.00

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector