Главная >> Инструкции >> Установка NTP на Ubuntu 18.04

Установка NTP на Ubuntu 18.04

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

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

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

Содержание статьи

Установка 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 доступна на компьютере в данный момент:

sntp - version

Шаг 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-адрес и имя хоста должны выглядеть следующим образом:

10.128.0.21 bionic

Шаг 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: Проверка синхронизации времени

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

ntpq -p

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


Выводы

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

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

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (4 оценок, среднее: 4,75 из 5)
Загрузка...

9 комментариев к “Установка NTP на Ubuntu 18.04”

  1. это пока да. но потом придёт какой-нибуть дрянелькин и решит что управлять страной не по плечу и займётся тем что никому не нужно и будет управлять не только временим а геометрию часовых поясов перекраивать. а за ним придёт какой нибуть грёбпутин и решит что всё дерьмо надо как-то разгребать и начнёт так жэ с того что мало кому нужно, выправлять время. но это так об истории а вопрос далее.
    спасибо автору за статью! да достаточно хороша, но немножко не полная. действительно сайт посвещён только операцыонке линуксов, но по скольку эта статья касается серверных задач, надо жэ предполагать что сети состоят не только из одних линуксов. но хотябы в скользь упомянуть и про другие настройки остальных операцыонок. к примеру для виндовозников подобный сервер в сети не совсем полезен. к примеру в командной строке виндовозни команда 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.

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

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

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

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

        Ответить

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