как проверить работу ntp сервера linux

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

как проверить работу ntp сервера linux. Смотреть фото как проверить работу ntp сервера linux. Смотреть картинку как проверить работу ntp сервера linux. Картинка про как проверить работу ntp сервера linux. Фото как проверить работу ntp сервера linux

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

СТОРОНА 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-клие неактивен, когда вы выполняете команду.

Источник

Сервер времени на Linux Ubuntu | ntp server

Сегодня разберём установку и настройку ntp сервера или сервера времени на Linux |Ubuntu | Debian. Данное руководство применима и для настройки ntpd на любом другом Linux дистрибутиве (например CentOS).

Установка ntp сервера

Устанавливаем ntp сервер следующей командой:

Настройка NTP сервера

После успешной установки нашего ntp сервера переходим к его настройке. Открываем файл с настройками:

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

Настройки по умолчанию могут быть разные для IPv4 и IPv6:

Если используется брандмауэр, добавляем правило:

Дополнительные настройки

Настройка файла хранения логов:

Тестирование ntp сервера

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

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

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

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

Отобразить текущее время можно командой:

Если после синхронизации время некорректно, настраиваем правильный часовой пояс:

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

Для клиентов можно выбрать 2 стратегии настройки — с помощью ntp или утилиты ntpdate.

В настройка /etc/ntp.conf в качестве сервера оставляем только наш локальный сервер, например:

Остальные pool и server удаляем или комментируем.

Утилита командной строки выполняет разовую синхронизацию. Чтобы автоматизировать процесс, добавляем задание в cron:

Ошибки ntp

Как правило, данная ошибка возникает при попытке синхронизировать время с помощью ntpdate, когда в системе работает демон ntp.

Причина: NTP сокет в системе уже занят, как правило, ntpd.

Решение: либо не использовать ntpdate, так как ntp умеет сверять время, либо отключить сервис ntpd командой

Причина: нет разрешения на обращение к серверу.

Ошибка появляется при попытке синхронизировать время с другим сервером синхронизации.

Причина: сервер синхронизации не доступен по одной из причин: 1) не работает или выключен, 2) установлен restrict, 3) на сервере не запущен ntpd, 4) нет сетевой доступности из-за проблем на сети или брандмауэра.

Убедиться, что сервер доступен по сети. Проверить настройки ntp.conf — наличие соответствующего restrict. Проверить состояние сервиса командой service ntp status. Проверить настройки брандмауэра — убедиться в наличие правила, которое разрешает UDP порт 123.

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

Источник

NTP сервер на Linux Ubuntu

Следить за актуальностью времени на всех узлах локальной сети удобнее с помощью сервера синхронизации времени NTP. В инструкции рассказано об установке и настройке такого сервера на Linux Ubuntu Server 16.04. Данное руководство можно использовать для настройки ntpd на любом другом Linux (например, Debian или CentOS).

Установка сервера

Устанавливаем ntp сервер следующей командой:

apt-get install ntp

Разрешаем автозапуск и стартуем сервис:

systemctl enable ntp || update-rc.d ntp defaults

systemctl start ntp || service ntp start

Настройка NTP

Открываем файл с настройками:

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

pool ru.pool.ntp.org iburst
server ntp2.vniiftri.ru iburst prefer
pool 0.ubuntu.pool.ntp.org iburst
pool 1.ubuntu.pool.ntp.org iburst
server 127.127.1.0

* iburst — отправлять несколько пакетов (повышает точность); ru.pool.ntp.org / 0.ubuntu.pool.ntp.org / 1.ubuntu.pool.ntp.org — адреса серверов, с которыми наш сервер будет сверять время; server — указывает на выполнение синхронизации с сервером, а не пулом серверов; prefer — указывает на предпочитаемый сервер. server 127.127.1.0 — позволит в случае отказа сети Интернет брать время из своих системных часов.

restrict default kod notrap nomodify nopeer noquery
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
restrict 127.0.0.1
restrict ::1

Настройки по умолчанию могут быть разные для IPv4 и IPv6:

systemctl restart ntp || service restart ntp

Если используется брандмауэр, добавляем правило:

ufw allow in on enp2s0 to any port 123 proto udp

* где enp2s0 — сетевой интерфейс, на котором слушает наш сервер.

Дополнительные настройки

Настройка файла хранения логов:

Тестирование

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

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

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

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

ntpdate[3576]: adjust time server 192.168.0.15 offset 0.017657 sec

* время было рассинхронизировано на 0.017657 секунд.

Отобразить текущее время можно командой:

Если после синхронизации время некорректно, настраиваем правильный часовой пояс:

cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

* московское время (GMT+3).

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

Для клиентов можно выбрать 2 стратегии настройки — с помощью ntp или утилиты ntpdate.

apt-get install ntp

В настройка /etc/ntp.conf в качестве сервера оставляем только наш локальный сервер, например:

Остальные pool и server удаляем или комментируем.

systemctl restart ntp || service restart ntp

ntpdate

Утилита командной строки выполняет разовую синхронизацию. Чтобы автоматизировать процесс, добавляем задание в cron:

0 0 * * * /usr/sbin/ntpdate 192.168.0.15

* в данном примере задание будет выполняться раз в день в 00:00. /usr/sbin/ntpdate — полный путь расположения утилиты, в разных системах может быть разным — проверить стоит командой which ntpdate.

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

В командной строке выполняем:

w32tm /config /manualpeerlist:»192.168.0.15,0×8″ /syncfromflags:manual /update

Некоторые ошибки

1. the NTP socket is in use, exiting

Как правило, данная ошибка возникает при попытке синхронизировать время с помощью ntpdate, когда в системе работает демон ntp.

Причина: NTP сокет в системе уже занят, как правило, ntpd.

Решение: либо не использовать ntpdate, так как ntp умеет сверять время, либо отключить сервис ntpd командой service ntp stop.

2. Connection refused

Причина: нет разрешения на обращение к серверу.

3. no server suitable for synchronization found

Ошибка появляется при попытке синхронизировать время с другим сервером синхронизации.

Причина: сервер синхронизации не доступен по одной из причин: 1) не работает или выключен, 2) установлен restrict, 3) на сервере не запущен ntpd, 4) нет сетевой доступности из-за проблем на сети или брандмауэра.

Источник

Блог о системном администрировании. Статьи о Linux, Windows, СХД NetApp и виртуализации.

Доброго дня, гости и постоянные читатели блога. Постепенно перехожу от основ к более углубленному изучению Linux. Сегодня хочу рассмотреть работу протокола ntp, а так же настройку сервера времени на Linux (ntp server). Итак, начнем с теории.

Протокол NTP

как проверить работу ntp сервера linux. Смотреть фото как проверить работу ntp сервера linux. Смотреть картинку как проверить работу ntp сервера linux. Картинка про как проверить работу ntp сервера linux. Фото как проверить работу ntp сервера linuxNetwork Time Protocol (NTP) — сетевой протокол для синхронизации внутренних часов компьютера с использованием сетей с переменной латентностью (читай «шириной»/качеством канала).

NTP использует для своей работы протокол UDP и порт 123.

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

Назначение сервера NTP в локальной сети

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

Режимы работы NTP сервера/клиента

Клиент/сервер

Этот режим на сегодняшний день наиболее часто используется в сети Интернет. Схема работы – классическая. Клиент посылает запрос, на который в течение некоторого времени сервер присылает ответ. Настройка клиента производится с помощью директивы server в конфигурационном файле, где указывается DNS имя сервера времени.

Симметричный активный/пассивный режим

Этот режим используется в том случае, если производится синхронизация времени между большим количеством равноправных машин. Помимо того, что каждая машина синхронизируется с внешним источником, она также осуществляет синхронизацию со своими соседями (peer), выступая для них в качестве клиента и сервера времени. Поэтому даже если машина «потеряет» внешний источник, она все еще сможет получить точное время от своих соседей. Соседи могут работать в двух режимах – активном и пассивном. Работая в активном режиме, машина сама передает свое время всем машинам-соседям, перечисленным в секции peers конфигурационного файла ntp.conf. Если же в этой секции соседи не указаны, то считается, что машина работает в пассивном режиме. Для того чтобы злоумышленник не смог скомпрометировать другие машины, представившись в качестве активного источника, необходимо использовать аутентификацию.

Режим Broadcast

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

Режим Multicast

Данный режим во многом похож на broadcast. Отличие заключается в том, что для доставки пакетов используются multicast-адреса сетей класса D адресного пространства IP-адресов. Для клиентов и серверов задается адрес multicast-группы, которую они используют для синхронизации времени. Это делает возможным синхронизацию групп машин, расположенных в различных подсетях, при условии, что соединяющие их маршрутизаторы поддерживают протокол IGMP и настроены на передачу группового трафика.

Режим Manycast

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

Для передачи образцов времени клиенты и серверы, работающие в manycast-режиме, используют адреса multicast-групп (сети класса D). Клиенты и серверы, использующие один и тот же адрес, формируют одну ассоциацию. Количество ассоциаций определяется количеством используемых multicast-адресов.

Время в Linux

После загрузки операционной системы, часы операционной системы и BIOS полностью независимы. Ядро системы раз в 11 секунд синхронизирует системные часы с аппаратными.

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

Примечание:

Ядро Linux’а всегда хранит и вычисляет время, как число секунд прошедших с полночи 1-го января 1970 года, в независимости от того, установлены ваши часы на локальное или всемирное время. Преобразование в локальное время производится в процессе запроса.

Поскольку количество секунд с 1-го января 1970 года всемирного времени сохраняется как знаковое 32-битное целое (это справедливо для Linux/Intel систем), ваши часы перестанут работать где-то в 2038 году. Linux не имеет проблемы 2000-го года, но имеет проблему 2038 года. К счастью, к тому времени все linux’ы будут запущены на 64-х разрядных системах. 64-х битное целое будет содержать наши часы приблизительно до 292271-миллионного года.

NTP Server Linux

Введение

Существует масса реализаций для синхронизации времени для ОС Linux. Наиболее известными являются Xntpd (NTP версия 3), ntpd (NTP версия 4), Crony и ClockSpeed. В нашем примере мы будем использовать ntp-сервер ntpd.

Демон ntpd является одновременно и сервером времени и клиентом, в зависимости от настроек конфигурационного файла /etc/ntpd.conf (иногда /etc/ntp.conf), демон может и «принимать» время с уделенных серверов и «раздавать» другим хостам время.

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

Установка ntpd

Перед настройкой демона на синхронизацию с внешним миром я бы посоветовал установить текущую системную дату на значение, максимально приближенное к реальному времени. Установка даты в Linux производится командой: date MMDDhhmmCCYY.ss, где MM — месяц, DD — день месяца, hh — часы, mm — минуты, CCYY — 4 цифры года, ss — секунды. При этом, значения CCYY.ss указывать не обязательно.

Как видно, указанная команда установит текущие дату и время на 27 декабря 2010года, 20:06:30. Команда date без параметров, выводить текущее системное время. У данной команды есть куча параметров, с которыми можно ознакомиться в man date.

Так же, необходимо правильно настроить аппаратные часы и часовой пояс. Как говорилось выше, часовой пояс настраивается копированием необходимого файла зоны из каталога /usr/share/zoneinfo/ в файл /etc/localtime:

Аппаратные часы я настроил на UTC:

Кроме установки настроек на использование времени в формате UTC, необходимо задать аппаратное время. (в большинстве случаев в этом нет необходимости, потому что заданное системное время неизбежно синхронизируется с аппаратным, силами ядра). Но все же, если у вас есть желание это сделать. Команда hwclock читает и устанавливает аппаратные часы на основании переданных ему параметров. Доступные параметры описаны в странице руководства команды. Вот несколько примеров использования hwclock:

Теперь, когда у нас все подготовлено и установлено, приступим к настройке.

Управление демоном ntpd

Управление демоном ntpd ничем не отличается от управления любыми другими демонами. Запуск или перезапуск службы ntpd:

Демон имеет следующие параметры запуска:

Настройка сервера ntpd

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

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

Итак, как я уже говорил, информация о конфигурации демона ntpd лежит в файле /etc/ntp.conf. Синтаксис файла стандартен, как и во многих других конфигах: пустые строки и строки, начинающиеся с символа «#» игнорируются. Вот простой пример:

Параметр server задает, какие серверы будут использоваться для синхронизации, по одному в каждой строке. Если сервер задан с аргументом prefer, как ntplocal.example.com, то этому серверу отдается предпочтение перед остальными. Ответ от предпочтительного сервера будет отброшен, если он значительно отличается от ответов других серверов, в противном случае он будет использоваться безотносительно к другим ответам. Аргумент prefer обычно используется для серверов NTP, о которых известно, что они очень точны, такими, на которых используется специальное оборудование точного времени.

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

restrict default ignore

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

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

где 192.168.1.0 является IP адресом вашей сети, а 255.255.255.0 её сетевой маской. /etc/ntp.conf может содержать несколько директив restrict.

Выбираем список эталонных NTP серверов

Идем по указанному адресу (http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers) и подбираем список начальных серверов. Из данного списка выбираем удовлетворяющий нашим требованиям серверы, с помощью анализа вывода команды ntpdate. При выполнении команды, применяется следующий синтаксис:

ntpdate параметры серверы_через_пробел

Для более углубленного понимания и настройки сервера, опишу некоторые параметры конфигурации ntpd, о которых не упоминал::

Итого, мы получили ntpd-server, который синхронизируется с внешним миром, позволяет получать время для клиентов из локальной сети 192.168.0.1 с маской 255.255.255.0, а так же может синхронизироваться с локальным сервером (если раскомментировать несколько строк). Нам осталось настроить клиентов и узнать, как наблюдать за нашим сервером.

Наблюдение за сервером ntpd и за синхронизацией

Когда у вас все настроено. NTP будет держать время в синхронизированном состоянии. Этот процесс можно наблюдать при помощи команды NTP Query (ntpq):

remote

refid

poll

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

reach

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

delay

Количество времени (в секундах) необходимого для получения ответа на запрос «который час? «.

offset

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

jitter

Значение знаков перед именами серверов

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

Проверить возможность синхронизации локально на сервере возможно командой:

Из вывода команды видно, что наш сервер уже стал уровня stratum 2. Для достижения данного уровня, необходимо некоторое время. Возможно, в первые 10-15 минут уровень сервера будет выше.

О корректной работе сервера ntp можно так же судить по логам демона ntpd:

Настройка netfilter (iptables) для NTP сервера

Настроив работу сервера, неплохо было бы его защитить. Мы знаем, что сервер работает на 123/udp порту, при этом запросы так же отправляются с порта 123/udp. Ознакомившись со статьей, что такое netfilter и правила iptables и ознакомившись с практическими примерами iptables, можно создать правила фильтрации сетевого трафика:

Это типовой пример! Для задания правил iptables под Ваши задачи и конфигурацию сети, необходимо понимать принцип работы netfilter в Linux, почитав вышеуказанные статьи.

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

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

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

Для настройки NTP клиента Windows, необходимо выполнить в консоли следующие команды:

Заключение

Что могу посоветовать почитать дополнительно:

Upd 2012.02.14: добавил настройку netfilter для NTP

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *