Litekauto.ru

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

База знанийTry 2 Fix beta

База знаний
Try 2 Fix beta

31 октября 2018 ВК Tw Fb

Ubuntu: смена часового пояса и синхронизация времени

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

Признание проблемы — это половина её решения. Давайте проверим, что на нашем тестовом сервере со временем:

Увидим примерно такой вывод:

День недели и месяц (на момент написания статьи) совпадают с реальным, а вот время и часовой пояс (-1) явно не наши.
Займёмся сначала установкой часового пояса. Для этого от имени суперпользователя выполним команду:

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

Всё отлично, наш часовой пояс изменился. Осталось только синхронизировать время. Для этого воспользуемся командой

Если пакет ntpdate не установлен, то его можно установить одной командой:

Ещё раз проверим время командой date. Готово! Время нашего сервера синхронизировано!

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

ntpd — (Network Time Protocol (NTP) daemon) для FreeBSD.

Поэтому прописывать непосредственно 0.ubuntu.pool.ntp.org бесполезно так как он попадет по правило по умолчанию restrict default. Который в нашем случае все запрещает. Обойти это можно или прописав все IP данного пула в restrict или убрать restrict default ignore и использовать для защиты сервера времени фаервол.

Запускаем ntpd и командой sockstat смотрим процессы ntpd:

Утилитой ntpq можно проверить какие сервера доступны для синхронизации:

Проверочный запрос к нашему серверу утилитой Консольная утилита ntpdate для синхронизации времени. -q указывает не изменять время; -d отладочный режим без изменения времени

Трассировка NTP маршрута утилитой ntptrace

Синхронизация времени 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-сервер (вместо списка серверов).

Выводы

На этом — все. Установка 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 не установлена.Установите и активируйте. »
Что я должен установить и что активировать?

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

1 . Создание фильтра WMI

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

Для этого в консоли управления Group Policy Management Console (GPMC.msc), в разделе WMI Filters создадим новый WMI фильтр с именем PDC selected и запросом: Select * from Win32_ComputerSystem where DomainRole = 5

Добавляем новый WMI фильтр с именем PDC selected и запросом:
Select * from Win32_ComputerSystem where DomainRole = 5

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

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

Параметры логирования

Первая строка конфигурационного файла выглядит так:

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

Далее указывается файл, в который будут сохраняться логи синхронизации:

Список серверов для синхронизации

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

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

Читайте так же:
Как синхронизировать iphone с компьютером если не авторизирован

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

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

  • Азия — asia.pool.ntp.org;
  • Европа — europe.pool.ntp org;
  • Африка — africa.pool.ntp.org;
  • Северная Америка — north-america.pool.ntp.org;
  • Южная Америка — south-america.pool.ntp.org;
  • Океания — oceania.pool.ntp.org.

Можно также указывать поддомены для отдельных стран (подробнее см. здесь ). Имеется свой поддомен и для России — ru.pool.ntp.org

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

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

Ограничения

В последнее время участились случаи использования NTP-серверов для усиления трафика в DDoS-атаках (подробнее об этом см., например, здесь ). Чтобы наш сервер не стал жертвой злоупотреблений, нелишним будет установить ограничения на доступ для внешних клиентов. По умолчанию в файлe /etc/ntp.conf установлены следующие ограничения:

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

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

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

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

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

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

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

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

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

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

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

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

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

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