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

Как узнать время на ntp сервере. Установка ntp в Ubuntu

Содержание

⏲️ Как установить и настроить NTP-сервер и NTP-клиент на Linux?

Возможно, вы слышали это слово много раз, а также, возможно, работали с ним.

Тем не менее, я расскажу вам ясно в этой статье о настройке NTP-сервера и NTP-клиента

О настройке Chrony NTP Client мы узнаем позже.

Что такое NTP-сервер?

NTP означает сетевой протокол времени.

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

Он будет сохранять одинаковое время (точное время) для всех систем, которые подключены к NTP-серверу через NTP или клиент Chrony.

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

Он использует протокол пользовательских дейтаграмм (UDP) на порту номер 123 для отметок времени отправки и получения.

Это клиент / серверное приложение.

Он отправляет и получает временные метки с использованием протокола пользовательских дейтаграмм (UDP) на порту 123.

Что такое NTP-клиент?

NTP-клиент синхронизирует свои часы с сетевым сервером времени.

Что такое Chrony ?

Chrony — это замена NTP-клиента.

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

Зачем нам нужен NTP сервер?

Чтобы все серверы в вашей организации были синхронизированы с точным временем выполнения заданий, основанных на времени.

Чтобы прояснить это, я расскажу вам сценарий.

Скажем, например, у нас есть два сервера (Server1 и Server2).

Server1 обычно выполняет пакетные задания в 10:55, а затем Server2 необходимо выполнить другое задание в 11:00 на основании отчета о завершении задания Server1.

Если обе системы используют в разное время (если одна система опережает другие, другие отстают от этой конкретной), мы не сможем это сделать.

Для этого нам нужно настроить NTP.

Надеюсь, это убрало ваши сомнения по поводу необходимости NTP.

В этой статье мы будем использовать следующую настройку, чтобы проверить работу NTP

  • NTP-сервер: HostName: CentOS7.itisgood.ru, IP: 192.168.1.8, ОС: CentOS 7
  • NTP-клиент: HostName: Ubuntu18.itisgood.ru, IP: 192.168.1.5, ОС: Ubuntu 18.04

СТОРОНА NTP-СЕРВЕРА: Как установить NTP-сервер на Linux?

Не существует разных пакетов для NTP-сервера и NTP-клиента, так как это модель клиент / сервер.

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

Для системы Fedora используйте DNF для установки ntp.

Для систем Debian / Ubuntu используйте команду APT-GET или APT для установки ntp.

Для систем на основе Arch Linux используйте Pacman для установки ntp.

Для систем RHEL / CentOS используйте команду YUM для установки ntp.

Для системы openSUSE Leap используйте Zypper для установки ntp.

Как настроить NTP-сервер на Linux?

После установки пакета NTP убедитесь, что вы раскомментировали следующую конфигурацию в файле /etc/ntp.conf на стороне сервера.

По умолчанию конфигурация NTP-сервера основана на X.distribution_name.pool.ntp.org.

Если вы хотите, вы можете использовать конфигурацию по умолчанию или изменить ее в соответствии с вашим местоположением (в зависимости от страны), посетив https://www.ntppool.org/zone/@

Если вы находитесь в Индии, то ваш NTP-сервер будет 0.in.pool.ntp.org, и он будет работать для большинства стран.

Мы разрешили только клиентам подсети 192.168.1.0/24 получать доступ к NTP-серверу.

Поскольку брандмауэр по умолчанию включен в дистрибутивах на основе RHEL 7, разрешите использование сервера / службы ntp.

Для системы на основе Debian нам нужно запустить ntp вместо ntpd.

Для systemctl систем

СТОРОНА КЛИЕНТА NTP: Как установить клиент NTP в Linux?

Как я уже упоминал ранее в этой статье.

Не существует специального пакета для NTP-сервера и клиента. Итак, установите этот же пакет на клиенте.

Для системы Fedora используйте DNF для установки ntp.

Для систем Debian / Ubuntu используйте команду APT-GET или APT для установки ntp.

Для систем на основе Arch Linux используйте Pacman для установки ntp.

Для систем RHEL / CentOS используйте команду YUM для установки ntp.

Для системы openSUSE Leap используйте Zypper для установки ntp.

Я установил и настроил NTP-сервер на CentOS7.itisgood.ru, добавив те же самые настройки на все клиентские машины.

Для системы на основе Debian нам нужно запустить ntp вместо ntpd.

Для systemctl систем.

Для системы на основе Debian нам нужно запустить ntp вместо ntpd.

Подождите несколько минут после перезапуска службы NTP, чтобы получить время синхронизации с NTP-сервером.

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

Выполните следующую команду, чтобы получить текущий статус ntpd.

Наконец, запустите команду date

Если вы наблюдаете значительное смещение по времени на выводе NTP, выполните следующую команду, чтобы синхронизировать часы вручную с NTP-сервера.

Убедитесь, что ваш NTP-клие неактивен, когда вы выполняете команду.

Как настроить синхронизацию времени на Ubuntu 16.04

Главное меню » Операционная система Ubuntu » Как настроить синхронизацию времени на Ubuntu 16.04

Введение

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

Предпосылки

Перед началом этой статьей вам потребуется сервер Ubuntu 16.04 с некорневой, sudo поддержкой пользователя, как описано в этом учебнике по первоначальной настройки сервера Ubuntu 16.04.

Основные команды по навигации во времени

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

Чаще всего ваш сервер по умолчанию укажет UTC часовой пояс, как подчеркивается в выводе выше. UTC является координированное время, время на ноль градусов долготы. Последовательно используя Universal Time уменьшает путаницу когда ваша инфраструктура охватывает несколько временных зон.

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

Во-первых, список доступных часовых поясов:

Список часовых поясов будет распечатан на экране. Вы можете нажать SPACE на страницу вниз, и b на страницу вверх. После того, как вы найдете правильный часовой пояс, введите q чтобы выйти из списка.

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

Вы можете проверить изменения, выполнив date еще раз:

Зона времени должна отразить вновь выбранное значение.

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

Управление timesyncd с timedatectl

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

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

Мы можем запросить статус timesyncd, запустив timedatectl без аргументов. Вам не нужно использовать sudo в этом случае:

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

Читать еще:  Когда выйдет голосовой помощник биксби на русском. Переназначение кнопки Bixby на Samsung: простая инструкция! Что это такое Bixby Samsung

Если timesyncd не включен, включите его с помощью timedatectl:

Выполните timedatectl еще раз, чтобы подтвердить статус сетевого времени. Это может занять минуту для фактической синхронизации, но в конце концов , как Network time on: и NTP synchronized: следует читать yes .

Переключение на NTPD

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

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

Убедитесь в том, что timesyncd выключен:

Посмотрите Network time on: no на выходе. Это средство timesyncd было остановлено. Теперь мы можем установить пакет ntp с apt-get :

Ntpd будет запущен автоматически после установки. Вы можете запросить ntpd для получения информации о состоянии, чтобы убедиться, что все работает:

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

Вывод

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Установка и настройка NTP-клиента в Linux

В статье рассмотрим настройку NTP клиента.

Установка временной зоны

Для начала смотрим какая у нас установлена временная зона. Для этого используем команду date.

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

Настройка синхронизации NTP-клиента с NTP-сервером

Устанавливаем пакет ntp

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

iburst: данный параметр повышает точность синхронизации, вместо одного пакета отправляется восемь. Когда сервер не отвечает, пакеты отправляются каждые 16 секунд, когда отвечает – каждые 2 секунды.

Далее нужно указать в файле конфигурации ваш NTP-сервер, который мы настроили в предыдущей статье. Если у вас в сети нет своего ntp сервера, то этот параметр указывать не нужно.

prefer: если указана данная опция, заданный сервер считается предпочтительным перед остальными, но если ответ этого сервера будет значительно отличаться от ответов остальных серверов, он будет игнорироваться. Вместо 192.168.1.1 укажите ip адрес вашего сервера

Запуск службы NTP

После изменения ntp.conf и задания необходимых параметров запустите службу (демон) NTP. В зависимости от настроек, она может работать и как сервер, и как клиент.

и добавьте его в автозагрузку

для проверки времени наберите команду

Проверка состояния NTP

Проверить состояние NTP можно при помощи команды ntpq. Если вы получите ошибку отказа в соединении, значит, сервер времени не отвечает, не запущена служба NTP на клиенте или закрыт порт.

remote – имя или адрес сервера времени. Перед ним указан служебный символ, в данном случае «*», что означает используемый сервер. «+» означает, что сервер пригоден для обновления, «-» — что непригоден, «x» — сервер недоступен;
refid – вышестоящий в иерархии Stratum сервер;
st – уровень сервера в иерархии Stratum;
t – тип соединения (u – unicast, одиночное соединение, b – broadcast, широковещательное соединение, l – локальные часы);
when – время, прошедшее с момента последнего ответа;
poll – период опроса в секундах;
reach – состояние доступности (при представлении в двоичном виде 1 означает успешную попытку, 0 – сбой. После 8 успешных попыток устанавливается значение 377);
delay – время двойного оборота пакета;
offset – текущее смещение времени относительно сервера;
jitter – среднеквадратичное отклонение времени.

Значение jitter должно быть низким, если это не так, проверьте смещение относительно часов в файле погрешности (driftfile). Если оно слишком велико, может потребоваться смена NTP-сервера. Следующая команда вручную синхронизирует время с NTP-сервером:

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

Для опроса NTP-сервера и установки даты и времени в ручную используется команда ntpdate. Обычно это требуется только один раз.

Для начала отключите ntp службу

Запустите синхронизацию указав сервер с которого нужно синхронизировать время

Запустите службу ntp

После такой первоначальной синхронизации NTP-клиент будет регулярно опрашивать NTP-сервер для обеспечения соответствия локального времени точному времени.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

unboxIT

Правильная настройка сервера времени NTP на Linux

В интернете можно найти целое море мануалов по настройке сервера времени — ntpd, но ирония состоит в том, что 95% из них либо не совсем верны, и авторы этого даже не замечают, либо не дают необходимой информации. Далее я расскажу как организовать NTP сервер под Linux в локальной сети, который будет синхронизировать своё время с серверами в Интернете, а устройства в локальной сети будут уже синхронизировать время с ним.

Немного пред истории. Как и положено, всё началось неожиданно, сервер который я настраивал на кануне ночью, при следующей загрузки завис. «Шикарно» подумал я и полез в логи. В результате в том что сервер вис был повинен ntpd сервис, который из-за неправильной настройки сети не мог связаться внешним сервером для синхронизации. Посмотрев скрипт запуска, я наткнулся на интересную запись:

А теперь внимание на строку с номером 8. Это начало цикла, в котором целых 7-мь раз будет предпринята попытка начальной, грубой синхронизации времени. Всё бы хорошо, но если у вас неправильно настроена сеть, или DNS, то вызовет подвисание сервера, на 7*( 1 + время проверки доступности DNS, порядка 5 сек ) секунд. В общем ждать минуту меня явно не устраивало, итак приступим.

Настройка начальной, грубой синхронизации

В замечательном файле /etc/ntp/step-tickers, хранятся имена серверов с которыми производиться начальная, грубая (сотни милесекунд) корректировка. Если вы уверены что у вас всегда будет доступ к Internet, можете перечислить в нём имена серверов, например:

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

Задача: Организовать NTP сервер в локальной сети, который будет синхронизировать своё время с Интернетом, а устройства в локальной сети будут уже синхронизировать время с ним.
Дистрибутив: Mandriva 2010.2 free Версия ntpd: 4.2.4p8

Мир Linux действительно великолепен, все настройки в нём сводятся к простому редактированию файлов конфигураций. ntpd в этом плане не исключение. Итак если у вас ещё не стоит ntpd сервер установим его:

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

Каждая строчка указывает на сервер (списки серверов можно найти здесь http://www.pool.ntp.org), с которым будет происходить синхронизация. Четыре строчки с server, соответственно четыре сервера. Хотя на самом деле в данном примере это не совсем так. Каждая запись указывает на пул (группу) серверов. При обращении скажем по адресу 2.ru.pool.ntp.org будет выбран 1 IP адрес сервера, с которым будет происходить синхронизация. Соответствия обновляются 1 раз в час. Теперь на более простом примере. Всего у нас имеется 4 коробки с часами. Мы берём и наугад достаём из каждой коробки 1 часы, всего у нас получается 4 часов, с которыми мы будем сверять наше время. В течении часа, каждый раз когда мы будем сверять время, мы будем брать одни и те же часы. Через час если мы опять обратимся к этим коробкам, то вытащим уже другие часы. Таким образом наше время будет сверяться постоянно с разными часами, и если какие-то из них окажутся не рабочими, то ничего страшного не случиться, ведь за 1 час, наши локальные часы не слишком сильно рассинхронизируются. Ну да мы отвлеклись, продолжим. Прежде чем запускать сервер ntpd, необходимо произвести начальную, грубую установку времени. Можно просто выставить время руками, а можно выполнить команду (разумеется если у нас корректно работает связь с интернетом):

Читать еще:  Блок питания. Как сделать импульсный блок питания своими руками? Импульсный блок питания на 30 вольт своими руками

После того как время грубо синхронизировано можно запускать основной сервис (на всякий случае перезапустим его):

После чего выполним команду:

В результате должны увидеть что-то на подобии:

Небольшие пояснения что есть что. remote — FQDN или IP-адрес сервера; refid — IP-адрес сервера с которым в настоящий момент выполняется синхронизация сервера из столбца remote; st — stratum сервера; t — режим работы сервера: ‘u’ — unicast, ‘m’ — multicast, ‘b’ — broadcast, ‘-‘ — manycast; when — время, прошедшее с момента последнего ответа сервера в секундах или ‘-‘, если сервер еще ни разу не ответил (скорее всего, «умер», и сведения о нем пора удалить из файла конфигурации); poll — интервал опроса сервера в секундах (после запуска имеет небольшое значение, чтобы синхронизация происходила быстрее, с течением времени значение увеличивается); reach — состояние восьми последних попыток запроса времени у сервера в восьмеричном представлении (в случае успешной попытки устанавливается соответствующий бит); delay — задержка ответа сервера в секундах; offset — самое важное значение — различие локального времени и времени на сервере (с течением времени значение уменьшается, т.к. время становится более точным); jitter — дисперсия, дрожание фазы (более низкие значения обеспечивают более точную синхронизацию). Ждём 10 минут. Повторяем, команду и видем:

Ага, вот оно появились всякие дополнительные символы и вот что они означают: ‘*’ — сервер, с которым в настоящий момент выполняется синхронизация, ‘#’ — сервер отобран для синхронизации, но дистанция до него превышает максимально возможную, ‘?’ — сервер отобран для синхронизации и использует сигнал PPS, ‘+’ — сервер добавлен в список серверов, отобранных для синхронизации, ‘x’ — сервер использует некорректный алгоритм, ‘.’ — сервер выбран из конца списка серверов, отобранных для синхронизации, ‘-‘ — сервер отвергнут группирующим алгоритмом, пробел — сервер имеет слишком высокий stratum и/или не может быть проверен; Теперь по простому, если видем ‘+’, ‘-‘, ‘*’ синхронизация пошла. offset — отклонение нашего времени и времени удалённого сервера, если значение скажем больше 100, то синхронизация реально не произошла. На некоторых ресурсах можно увидеть следующую картину:

Видим что половина серверов (2, 3, 4) вообще не работает и реально происходит работа с локальным сервером и с 172.22.128.8. Смотрим значение offset которое говорит что никакой синхронизации нет и в помине! Из листинга можно сделать только один вывод, что сервер засинхронизирован сам с собой, и его время имеет мало общего с действительным. Будьте внимательны, не давайте вас нае. обмануть 🙂 На этом бы можно и остановиться но теперь как говориться усложняем задачу. Нам надо чтоб наш сервер являлся источником времени для локальной сети, но при этом никто не смог сделать ничего плохого с вашим сервером. В чём проблема? В том что для нормальной синхронизации, даже если вы не планируете кому то давать синхронизировать время с вами, У ВАС ДОЛЖЕН быть открытым порт udp 123. После прочтения множества мануалов и дня потерянного времени вот что в /etc/ntp.conf получилось у меня:

Вникаем внимательно. Наш сервер засинхронизирован с 6-тью внешними пулами серверов, строки с 02 по 07. Строка 10, мы запрещаем кому либо чтобы-то не было делать с нашим сервером. Теперь нам надо внести исключение для серверов с которыми наш сервер будет синхронизироваться, строки с 13 по 18. При этом параметры nomodify notrap, говорят о том что запрещено изменять состояние НАШЕГО сервера и отправлять сообщения об исключениях ВНЕШНИМИ серверами, т. е. чтоб никто из этих серверов ничего не натворил. Строка 22, мы разрешаем участникам локальной сети синхронизировать время с нашим сервером, но при этом тоже вводим ограничение. Теперь самая важная строка — 25, будем считать что это локальная петля. Без неё работать не будет. В итоге, наш сервер синхронизируется с внешними серверами, при этом сам является сервером но только для нашей локальной сети, всем остальным доступ запрещён. Ещё раз перезапустим сервис:

Пойдём покурим, выпьем чаю, кофе (нужное подчеркнуть), после чего выполним команду:

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

Если вы когда-нибудь задавались вопросом о том, как работает автоматический переход на зимнее/летнее время либо задумывались, как компьютер берет из интернета информацию о точном времени, настраивая внутренние часы, то сегодняшняя статья — для вас. А еще для тех, кому необходимо настроить синхронизацию часов на сервере, работающем под управлением операционной системы Ubuntu 18.04, и на компьютере-клиенте, где установлен аналогичный дистрибутив Linux.

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

  • Установить NTP-сервер и настроить его для работы на серверной версии Ubuntu 18.04.
  • Установить клиентское приложение NTP на машине-клиенте с Ubuntu 18.04, а также убедиться в том, что синхронизация с сервером происходит так, как положено.
Читать еще:  Сверхдоступный Android - обзор Samsung GT-S5360 Galaxy Y. Сверхдоступный Android - обзор Samsung GT-S5360 Galaxy Y Технические характеристики самсунг gt s5360

Установка NTP-сервера на Ubuntu 18.04

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

Шаг 1: Обновление списка репозиториев

Сначала рассмотрим как установить NTP сервер Ubuntu 18.04. Но установку любого ПО в Ubuntu предваряет выполнение следующей команды:

sudo apt update -y

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

Шаг 2: Установка NTP-сервера

Когда компьютер закончит выполнение предыдущей команды, самое время дать ему следующее задание. Оно заключается в установке протокола NTP на Ubuntu 18.04 c длительным сроком поддержки. Команда выглядит так:

sudo apt install ntp

После ее получения система проверит, доступны ли ей установочные файлы и сообщит о том, какой объем памяти будет занимать программа. На экране появится запрос на инсталляцию, который нужно подтвердить, нажав клавиши Y и ENTER, либо отклонить нажатием N и Enter (в том случае, если вы решили отложить все это дело на потом).

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

Шаг 3: Настройка пулов NTP-сервера

Работа NTP-сервера по умолчанию строится на четырех «родных» пулах для Ubuntu. Их адреса прописаны в файле конфигурации /etc/ntp.conf . Нет прямой необходимости что-либо здесь менять, однако, есть смысл заменить пулы на те, которые расположены ближе к физическому месту нахождения сервера.

Воспользовавшись ссылкой https://support.ntp.org/bin/view/Servers/NTPPoolServers, вы можете подобрать наиболее предпочтительные для вас пулы. Мы же воспользуемся еврпейскими пулами NTP.

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

sudo vim /etc/ntp.conf

Список пулов удобнее всего скопировать со страницы сайта и вставить в файл вместо тех, что были там раньше:

sudo vim /etc/ntp.conf

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

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

sudo systemctl restart ntp
sudo systemctl status ntp

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

sudo ufw allow ntp
sudo ufw allow 123 / udp

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

sudo ufw reload

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

sudo ufw status

Если на вашем экране появилось то же самое, что вы видите на скриншоте, значит, установка и настройка NTP-сервера оказалась успешной. Теперь можно перейти к аналогичным действиям на машине-клиенте.

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

В этом разделе будет описан способ установки NTP-клиента на Ubuntu 18.04, который выполняет роль клиента и должен синхронизировать время Ubuntu с нашим сервером, настроенным ранее.

Шаг 1: Обновление репозиториев

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

sudo apt update -y

После завершения можно приступать к следующему шагу.

Шаг 2: Установка Ntpdate

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

sudo apt install ntpdate

Чтобы машина-клиент воспринимала NTP-сервер по его названию, нужно отредактировать файл /etc/hosts, внеся в него IP-адрес NTP-сервера и соответствующее имя хоста. Работа с файлом осуществляется при помощи текстового редактора:

sudo vim /etc/hosts

IP-адрес и имя хоста должны выглядеть следующим образом:

Шаг 3: Проверка синхронизации времени

Такую проверку выполняют в ручном режиме с помощью команды

sudo ntpdate имя_хоста_ntp_сервера

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

sudo ntpdate bionic

В ответ система отобразит временной сдвиг.

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

sudo timedatectl set-ntp off

Шаг 4: Установка NTP-клиента

Следующий этап — установка NTP-клиента. Выполняют её командой:

sudo apt install ntp

Как и в случае с сервером, система запросит разрешения на продолжение установки. Чтобы согласиться, нужно нажать букву Y клавиатуре и ENTER.

Шаг 5: Настройка NTP-клиента

Теперь наша цель — использовать настроенный ранее NTP-сервер в качестве NTP-сервера для клиентской машины. Чтобы это стало возможным не обойтись без редактирования файла /etc/ntp.conf.

sudo vim /etc/ntp.conf

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

server bionic prefer iburst

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

sudo systemctl restart ntp

Шаг 6: Проверка синхронизации времени

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

Вывод может быть таким:

Выводы

На этом — все. Установка NTP Ubuntu 18.04 была завершена успешно. Мы настроили как серверную часть, так и клиентскую для синхронизации с NTP-сервером. Свои вопросы и пожелания пишите в комментариях.

Нет похожих записей

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

Об авторе

Автор: James Kiarie

Больше восьми лет назад мною было принято решение объявить бойкот оконной монополии и установить на свой компьютер Ubuntu. С тех пор это моя основная ОС. Иногда в порядке эксперимента «подселяю» к ней собратьев из семьи Linux. Увлекаюсь фотографией и горным туризмом. В свободное от работы время пишу статьи для losst.ru.

9 комментариев

В России не будет же перевода времени.

это пока да. но потом придёт какой-нибуть дрянелькин и решит что управлять страной не по плечу и займётся тем что никому не нужно и будет управлять не только временим а геометрию часовых поясов перекраивать. а за ним придёт какой нибуть грёбпутин и решит что всё дерьмо надо как-то разгребать и начнёт так жэ с того что мало кому нужно, выправлять время. но это так об истории а вопрос далее.
спасибо автору за статью! да достаточно хороша, но немножко не полная. действительно сайт посвещён только операцыонке линуксов, но по скольку эта статья касается серверных задач, надо жэ предполагать что сети состоят не только из одних линуксов. но хотябы в скользь упомянуть и про другие настройки остальных операцыонок. к примеру для виндовозников подобный сервер в сети не совсем полезен. к примеру в командной строке виндовозни команда net time \host к подобному серваку на линуксе обратиться можэт и дажэ достаточно хорошо с ним синхронизируется. но вот стандартная служба с этим линуксовым сервером времени работать не будет. по скольку эта самая виндовозная служба работает с серверами времени через http. вопрос? как на линуксе организовать http сервер времени для синхронизацыи всех машин под любой операцыонкой?
всем всего хорошего!

Обратите внимание за запись в /etc/ntp.conf

# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.123.255

Но для виндов лучше в настройках обновления времени через по Интернет указать локальный сервер NTP. Или в DNS локальной сети узлу time.windows.com, который перегружен и часто недоступен, сопоставить IP сервера NTP.

Вторым вариантом м.б. все запросы по udp по порту 123 от потребителей локальной сети заворачивать на порт 123 компьютера, на котором установлен сервер NTP.

Здравствуте ! Занимательно! Но у вас при вводе sudo vim /etc/ntp.conf. работает не vim , а nano.

в целом неплохо, но для новичков
nano — фу, vim — рулит

Может ошибка в статье? У меня на sudo systemctl restart ntp отвечает Failed to restart ntp.service: Unit ntp.service not found, и с start/enable то же самое. Попробовал заменить ntp на ntpd по аналогии с sshd, и запустилось.

Всё-таки непонятно, если у меня не какой-то сервер, а просто домашний компьютер с Xubuntu 1804 ?
И я хочу ,чтобы в нём часики шли поточнее, какие команды мне набрать и что подредактировать?

Меню -> Системные -> Дата и время -> В строке «Конфигурация» выбрать «Синхронизировать с серверами Интернет».

На Xubuntu 1604 именно так я и поступал. Заходил в Настройки, выбирал : «Синхронизировать с серверами Интернет», на что система сообщала ,что необходимо установить поддержку протокола NTP и тут же предлагала решение, автоматически устанавливались какие-то пакеты и всё работало.
А в Xubuntu 1804 это уже так не работает. На мои действия я получаю ответ:
«Поддержка протокола NTP не установлена.Установите и активируйте. »
Что я должен установить и что активировать?

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector