Tkkastur.ru

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

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

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

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

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

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

К счастью, большинство Linux-дистрибутивов по умолчанию синхронизируют время. Если вы не замечали, что часы вашего компьютера расходятся с часами телефона, тогда наверняка ваш дистрибутив использует NTP-клиент / демон.

Синхронизировать время в Linux с systemd

В большинстве дистрибутивов Linux используется systemd, а вместе с ним и демон systemd-timesyncd. Это означает, что у вас уже есть NTP-клиент, предварительно установленный в Ubuntu, Debian, Fedora, Arch Linux, openSUSE, Manjaro и других. На этих дистрибутивах (и других основанных на них, например, Elementary ОС, Zorin OS) чтобы проверить, включена ли синхронизация NTP запустите команду:

Ntp Linux Проверка статуса Ntp на ОС Systemd

Если на выходе отображается « Network time on: yes », часы вашего компьютера автоматически синхорнизируются через NTP. Иногда вы можете также заметить NTP synchronized: — это означает, что часы синхронизируются с помощью другого инструмента.

Если вы видите Network time on: no , выполните следующую команду, чтобы включить синхронизацию времени NTP.

Это все, что вам нужно сделать в этих дистрибутивах.

Синхронизировать время в Linux без systemd

Для примера возьмем MX Linux. Запуск команды timedatectl показывает, что сетевое время включено, но systemd-timesyncd не используется. Как же синхронизировать время в таких дистрибутивах без systemd?

Проверьте с помощью следующей команды, которую вы можете использовать в любой другой операционной системе Linux.

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

Синхронизация времени Linux проверка Ntp Client

Из этого сообщения журнала видно, что клиент «ntpdate» запускался один раз. Это популярный клиент, установленный по умолчанию во многих дистрибутивах Linux. Он легкий и время от времени запрашивает только NTP-серверы. Он не работает в фоновом режиме и запускается сценариями, синхронизируется, а затем завершается.

Читайте так же:
Как регулировать омыватель фар

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

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

Если по какой-то причине вы хотите установить ntp или ntpdate в операционных системах с systemd, сначала отключите ntp-клиент systemd.

Конечно, приведенная выше команда не нужна в несистемных дистрибутивах.

Установить клиент ntpdate

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

На Debian, Ubuntu, Linux Mint, Zorin и других дистрибутивах, основанных на них, запустите:

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

В Fedora ntpdate устарела, поэтому рекомендуется вместо этого использовать демон ntpd (см. Следующую главу). То же самое рекомендуется для всех других дистрибутивов по двум причинам:

  • Иногда они не включают ntpdate в отдельный пакет, а связывают его с ntpd из следующего раздела.
  • Они не автоматизируют запуск ntpdate автоматически при каждом сетевом подключении. Вы должны вставить ntpdate самостоятельно в скрипт, который автоматически запускается после подключения к сети.

В этом случае имеет смысл установить ntpd, как указано в следующей главе.

Установить ntpd Daemon

В Debian, Ubuntu, Zorin, Mint и других дистрибутивах, основанных на Debian или Ubuntu, запустите:

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

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

Если вам нужно только синхронизировать ваши часы при загрузке машины, вы можете воспользоваться утилитой Консольная утилита ntpdate для синхронизации времени. Это может подойти для некоторых настольных машин, которые часто перезагружаются и только требуют изредка синхронизироваться, но на большинстве машин должен работать ntpd.

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

и запустить службу, предварительно настроив ./etc/ntp.conf(см. выше)

Синхронизация времени NTP на Debian 8 Jessie/Ubuntu Server 14.04 LTS

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

Читайте так же:
Как регулировать фары кия спектра

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

NTP-Client

Для настройки NTP-клиента, необходимо указать ему какие сервера синхронизации времени использовать. В файле конфигурации /etc/ntp.conf:

Для жителей РФ вписываем:

Останавливаем службу NTP:

Проверяем расхождение во времени с сервером синхронизации времени:

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

Cинхронизируем часы с сервером синхронизации времени:

Запускаем службу NTP:

NTP-Server

Как и в случае с NTP-клиентом, указываем предпочтительные сервера синхронизации времени. По-умолчанию NTP-сервер будет доступен всем хостам в Интернет. Параметр restrict в файле /etc/ntp.conf позволяет контролировать доступ к NTP-серверу.

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

Ниже описаны некоторые из наиболее часто используемых опций:

ignore — Игнорировать любые виды входящих пакетов и запросов на NTP-сервер.

kod — Разрешать этому хосту отправлять пакеты kiss-o’-death (KoD) (Клиент, отправляющий слишком частые запросы, сначала получает kod-пакет (предупреждение об отказе в обслуживании), а затем будет отключен от сервера).

nomodify — Не разрешать этому хосту / подсети изменять параметры NTP-сервера.

noquery — Не разрешать этому хосту / подсети запрашивать ваш статус NTP-сервера.

nopeer — Отказать в пакетах этому хосту / подсети, которые могли бы мобилизовать ассоциацию, если не были аутентифицированы.

noserve — Не показывайте время этому хосту / подсети. (Используется когда хотим разрешить хосту / подсети получать доступ к NTP-серверу, только для мониторинга и / или дистанционной настройки.)

notrap — Не разрешать этому хосту / подсети доступ службе trap

notrust — Игнорировать все пакеты NTP, которые не имеют криптографической аутентификации.

На остальных компьютерах в сети указываем в роли сервера времени наш локальный NTP-сервер (вместо списка серверов).

Настроить протокол сетевого времени

Синхронизация программных часов на вашем ПК с Linux с серверами времени — самый распространенный способ узнать точное время. В большинстве дистрибутивов Linux это делается автоматически. Однако не каждый дистрибутив Linux использует NTPd. Более того, те, которые это делают, могут испортить его или неправильно настроить. Чтобы исправить это, мы собираемся объяснить, как легко вручную настроить демон Network Time Protocol под Linux.

Читайте так же:
Клапана регулировки давления common rail bosch

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

Ubuntu

Debian

Arch Linux

Fedora

OpenSUSE

После установки программного обеспечения вам необходимо подключиться к серверу NTP. По умолчанию в большинстве дистрибутивов Linux есть собственные серверы NTP, настроенные в файле /etc/ntp.conf. Однако, если вы считаете, что эти серверы ненадежны, вы можете заменить их на более надежный сервер (например, официальный сервер Google NTP).

Чтобы добавить сервер Google NTP, отредактируйте файл ntp.conf.

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

Примечание: важно, чтобы iburst находился в конце каждой новой записи. Опция iburst отправит «пачку» пакетов на серверы только тогда, когда вы столкнетесь с проблемами соединения с сервером времени.

Когда закончите, сохраните файл конфигурации в Nano с помощью Ctrl + O. Выйдите из редактора с помощью Ctrl + X.

Настроить время

NTP может автоматически синхронизировать время с серверов, но сначала ему нужно знать часовой пояс. Обычно во время начальной настройки ваша операционная система Linux запрашивает часовой пояс и устанавливает его. Если что-то пошло не так во время установки, это необходимо исправить вручную с помощью tzselect.

Откройте терминал и запустите инструмент часового пояса:

Запуск инструмента Tzselect поможет вам настроить правильный часовой пояс. После этого вы сможете запустить NTPd.

Запуск NTP

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

Сначала запустите NTPd:

Затем включите его при загрузке с помощью systemctl enable.

Выполнение приведенных выше команд должно мгновенно настроить время, так как время UTC в вашем BIOS теперь правильное (благодаря Tzselect).

Читайте так же:
Условная переменная синхронизация потоков

Установка 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. Он представляет собой специальный алгоритм, который производит настройку внутренних часов компьютера с применением сетей с переменной латентностью. Для того, чтобы получить максимальную точность синхронизации, предпочтительно использовать протокол NTP как системную службу. Для Microsoft Windows такой службой является W32Time, а для Linux — Ntpd.

Настроить NTP-клиент

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

На сервере NTP перейдите к файлу конфигурации Chrony, раскомментируйте директиву allow и укажите маску подсети.

Сохраните и выйдите из файла конфигурации.

Обязательно разрешите службу NTP через брандмауэр. В нашем случае мы откроем брандмауэр на CentOS 8 следующим образом:

Затем перезагрузите, чтобы изменения вступили в силу:

Затем перезапустите демон chronyd.

На клиенте или удаленной системе раскомментируйте любые пулы NTP и добавьте показанную строку. Предоставленный IP-адрес является IP-адресом NTP-сервера. В вашем случае это, конечно, будет по-другому, поэтому отредактируйте его соответствующим образом.

Опять же, перезапустите демон chronyd, чтобы изменения отразились.

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

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