Меню

Настройка времени ubuntu server



Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Настройка NTP-сервера в Debian или Ubuntu

Настройка NTP-сервера в Debian или Ubuntu

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

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

Данную и все последующие команды следует выполнять с правами суперпользователя.

После установки часового пояса обновите список пакетов и установите пакет NTP-сервера:

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

Начнем с вышестоящих серверов для синхронизации времени, рекомендуется выбирать ближайшие к вам сервера, их адреса можно получить на сайте ntppool.org. Затем найдем в конфигурационном файле следующую секцию:

И заменим значения на следующие:

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

Первая строка задает адрес аппаратных часов — 127.127.1.0, вторая указывает приоритет — stratum — он выбран таким образом, чтобы при наличии интернета NTP-сервер не синхронизировался с аппаратными часами. У серверов входящих в пулы ntp.org значение stratum равно двум.

Затем перейдем к списку контроля доступа, который состоит из сетевых адресов отсортированных по возрастанию адресов и масок. Запись по умолчанию — default соответствует адресу 0.0.0.0 с маской 0.0.0.0, если в записи не указана маска, то автоматически подставляется значение 255.255.255.255, что соответствует конечному хосту.

Кроме адресов строки списка содержат флаги, флаги указывают на те или иные ограничения, если строка не содержит флагов — это означает полный доступ к серверу. По умолчанию список контроля доступа, следующий:

Разберем его подробнее. Первые две строки задают значения по умолчанию, т.е. для любых клиентов, в сетях IPv4 и IPv6:

Перечисленные флаги имеют значения:

  • kod — отправка клиенту, посылающему нежелательные запросы, пакета KoD (Kiss O’Death), получатель такого пакета обязан выполнить предписанную ему проверку и изменить свое поведение, в противном случае такой клиент будет отключен от сервера.
  • notrap — запрет приема управляющих сообщений
  • nomodify — запрет приема сообщений, изменяющих состояние сервера
  • nopeer — запрет установки одноранговых отношений с другими NTP-серверами
  • noquery — запрет любых запросов для синхронизации времени поступающих с других серверов
  • limited — запрет обслуживания, если интервал между пакетами от клиента превышает разрешенные значения

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

Отсутствие маски указывает на то, что это конечный узел, а отсутствие флагов предоставляет полный доступ.

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

Если нужно запретить доступ к серверу времени, то следует использовать флаг ignore. Допустим, мы хотим запретить доступ для всех клиентов доменной сети, кроме эмулятора PDC:

Расположение строк не имеет значения, так как при запуске сервера все адреса будут отсортированы по возрастанию адреса/маски.

После внесения изменений следует перезапустить службу:

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

Состояние синхронизации с вышестоящими серверами можно узнать командой:

Которая выдаст нам следующий вывод:

На что следует обратить внимание? Прежде всего на символы слева от адреса сервера:

  • * — сервер выбран для синхронизации
  • + — сервер пригодный для синхронизации
  • — синхронизация с этим сервером не рекомендуется
  • x — сервер недоступен

Затем на колонку refid — показывающее вышестоящий сервер синхронизации и колонку offset, которое показывает расхождение ваших часов с эталоном, при положительном значении наши часы спешат, при отрицательном отстают.

В колонке st указывается stratum — приоритет сервера, а delay содержит задержку ответа от сервера. Как видим, в нашем случае служба времени выбрала для синхронизации сервер с приоритетом 1, который синхронизируется от GPS-часов, несмотря на более высокий уровень задержки при работе с ним.

Ну и не забудьте разрешить доступ к вашему NTP-серверу в брандмауэре, добавив в правила iptables строку:

При необходимости можно ограничить доступ сетевым интерфейсом:

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

Читайте также:  Настройка сервера для работы с php

Источник

Установка времени в Ubuntu

Сегодня хотелось бы рассмотреть вопрос, который нередко встречается у пользователей – что нужно сделать, чтобы в Linux Ubuntu установить время. И первым вариантом будет ставший привычным большинству пользователей вариант работы через графический интерфейс. Последовательность действий такова:

В привычном GUI Ubuntu настройка времени помещена в апплет время и дата.

При нажатии правой кнопкой мыши по индикатору появляется контекстное меню. Нас интересует пункт «Параметры». Что естественно и логично, чтобы установить в Ubuntu время, нужно нажать кнопку «Установки времени» в свойствах его апплета. И в открывшемся окне поменять значения на интересующие.

Теперь добавим немного интересного – как сделать то же самое в консоли? Весьма просто и незамысловато:

01. запустить консоль

03. текущее системное время изменено без лишних движений мышкой и открытия всяких разных окошек

Стоит уточнить один момент: команда sudo сообщает системе, что следующие за ней команды будут выполнены от имени суперпользователя. Соответственно, для того, чтобы все выполнилось, необходимо знать его пароль и ввести его при запросе. Этот пароль не имеет значения «по-умолчанию» и задается каждым конкретным пользователем при установке системы.

Раз уж мы все равно уже в консоли и нам известен пароль рута, стоит задуматься как поменять дату в Ubuntu. Очевидно, что дата как-то связана с командой date. Проверим:

Все так же вводим пароль в ответ на запрос и в итоге получаем новое время и новую дату. Тут стоит сделать одно очень важное замечание: дата вводится в строго определенном формате. Он зависит от версии сборки и региональных настроек, но зачастую консоль понимает МЕСЯЦ/ДЕНЬ/ ГОД. Скорее всего, вам подойдет именно такой формат, но чтобы наверняка узнать это – введите в консоль все ту же команду date и посмотрите что вам сообщит система.

Sun march 22 12:12:12 MSK 2015

Как оказалось, управлять системными настройками не так уж и сложно. Но ручная установка времени Ubuntu не всегда бывает удобна. Да и вряд ли найдутся желающие постоянно помнить о том, что надо проверять точность хода системных часов. Процесс можно автоматизировать — есть в Ubuntu синхронизация времени по мировым атомным часам. Всего-то и сложности — знать, что нужно ввести в консоли.

Начать можно с того, чтобы единоразово синхронизировать время с сервером точного времени.

Команда заставляет ваш Linux Ubuntu изменить время и дату на то, что предоставляет поставщик услуг точного времени ntp.ubuntu.com. Их великое множество и в примере я указал пул серверов, предоставляющий время в Ubuntu по-умолчанию. Важно помнить, что синхронизация времени происходит с внешним сервером, поэтому она возможна только при наличии активного интернет-соединения.

Усложним задачу и настроим автоматическую синхронизацию времени. Для этой задачи создана утилита ntp. В большинстве систем она не предустановленна, но мы-то уже знаем, что при наличии необходимых знаний, консоль способна творить чудеса.

sudo apt-get install ntpd

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

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

# You do need to talk to an NTP server or two (or three).

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

Если каких-то серверов нет – рекомендую не лениться и дописать их. Потом сохранить изменения, нажав Ctrl-O и подтвердить изменения нажав Enter.

Перезапустим утилиту ntp, чтобы она подхватила новые параметры:

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

Источник

Синхронизация времени по NTP

Содержание

Синхронизация времени по NTP

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

За этим простым описанием скрывается много сложностей — существуют уровни NTP серверов, где первый уровень подключен к атомным часам, а второй и третий уровни серверов распределяют на себя нагрузку по актуальным запросам из интернета. Кроме того клиентское приложение сложнее, чем вы можете подумать — оно компенсирует задержки соединения и регулирует время таким образом, чтобы не навредить другим процессам, запущенным на сервере. Но к счастью вся эта сложность скрыта от вас!

Ubuntu использует ntpdate и ntpd.

ntpdate

Ubuntu стандартно устанавливается с ntpdate и будет запускать его при каждой загрузке один раз для установки времени по NTP серверу Ubuntu.

Читайте также:  Настройка скинов на сервере minecraft

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

Установка

Для установки ntpd из терминала введите:

Настройка

Отредактируйте /etc/ntp.conf для добавления/удаления серверов. По умолчанию эти сервера такие:

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

Просмотр статуса

Используйте ntpq для просмотра дополнительной информации:

Ссылки

Смотрите страницу энциклопедии Ubuntu Time для дополнительной информации.

Источник

Синхронизация времени в 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

Теперь можно установить 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

Читайте также:  Настройка бесплатный ftp сервер

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

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

Заключение

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

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

Источник

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

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

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

Требования

  • Сервер Ubuntu 16.04.
  • Пользователь с доступом к sudo (руководство нужно выполнить в сессии этого пользователя).

Все необходимые инструкции можно найти здесь.

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

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

date
Wed Apr 26 17:44:38 UTC 2017

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

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

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

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

Используйте следующую команду, указав в ней требуемый часовой пояс:

sudo timedatectl set-timezone America/New_York

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

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

date
Wed Apr 26 13:55:45 EDT 2017

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

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

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

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

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

timedatectl
Local time: Wed 2017-04-26 17:20:07 UTC
Universal time: Wed 2017-04-26 17:20:07 UTC
RTC time: Wed 2017-04-26 17:20:07
Time zone: Etc/UTC (UTC, +0000)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no

Команда выведет местное время, универсальное время (если вы используете часовой пояс UTC, оно будет совпадать с местным временем) и дополнительную информацию о состоянии сетевого времени. Строка «Network time on: yes» означает, что сервис timesyncd включен, а «NTP synchronized: yes» указывает, что время было успешно синхронизировано.

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

sudo timedatectl set-ntp on

После этого снова запросите состояние timesyncd. В строках Network time on и NTP synchronized должно быть значение yes.

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

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

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

sudo timedatectl set-ntp no

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

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

Network time on: no

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

sudo apt-get install ntp

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

sudo 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
-makaki.miuku.ne 210.23.25.77 2 u 45 64 3 248.007 -0.489 1.137
-69.10.161.7 144.111.222.81 3 u 43 64 3 90.551 4.316 0.550
+static-ip-85-25 130.149.17.21 2 u 42 64 3 80.044 -2.829 0.900
+zepto.mcl.gg 192.53.103.108 2 u 40 64 3 83.331 -0.385 0.391

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

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

Заключение

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

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

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Источник

Adblock
detector