Avtoprokat-rzn.ru

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

NTP сервер на Linux Ubuntu

NTP сервер на Linux Ubuntu

Обновлено и опубликованоОпубликовано: 12.01.2018

Следить за актуальностью времени на всех узлах локальной сети удобнее с помощью сервера синхронизации времени 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

  • restrict default — задает значение по умолчанию для всех рестриктов.
  • kod — узлам, которые часто отправляют запросы сначала отправить поцелуй смерти (kiss of death), затем отключить от сервера.
  • notrap — не принимать управляющие команды.
  • nomodify — запрещает команды, которые могут вносить изменения состояния.
  • nopeer — не синхронизироваться с хостом.
  • noquery — не принимать запросы.
  • restrict 192.168.0.0 mask 255.255.255.0 — разрешить синхронизацию для узлов в сети 192.168.0.0/24.
  • IP адреса127.0.0.1 и ::1 позволяют обмен данные серверу с самим собой.

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

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

systemctl restart ntp || service restart ntp

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

iptables -I INPUT 1 -p udp —dport 123 -j ACCEPT

или с помощью ufw:

ufw allow in on enp2s0 to any port 123 proto udp

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

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

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

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

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

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

remote refid st t when poll reach delay offset jitter
==============================================================================
ru.pool.ntp.org .POOL. 16 p — 64 0 0.000 0.000 0.000
ntp.ubuntu.com .POOL. 16 p — 64 0 0.000 0.000 0.000
*91.189.94.4 17.253.34.253 2 u 58 64 377 55.802 3.790 0.412
-91.189.91.157 132.246.11.231 2 u 56 64 377 113.456 -1.746 0.334
+91.189.89.198 192.53.103.108 2 u 1 64 377 54.595 4.229 0.608
+91.189.89.199 17.253.34.253 2 u 61 64 377 54.061 2.637 0.557

  • remote — адрес сервера времени, с которым синхронизируется наш сервер;
  • refid — вышестоящий сервер (с которым сервер из графы выше получает время);
  • st — уровень сервера (stratum);
  • t — пир (unicast или multicast);
  • when — когда последний раз сверялось время;
  • poll — периодичность синхронизации с этим сервером;
  • reach — состояние работоспособности. Если удалось произвести синхронизации восемь раз в подряд становится равным 377;
  • delay — время задержки;
  • offset — разница между нашим временем и временем на сервере; положительное — наши часы спешат, отрицательное — отстают;
  • jitter — смещение времени на удаленном сервере;
  • * — с этим сервером синхронизирует время наш ntpd;
  • + — сервер можно использовать для сверки часов;
  • — — не рекомендован для синхронизации;
  • x — не доступен.

Проверить отдачу времени сервером можно введя команду на другом 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

CentOS / Red Hat:

yum 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

Возникает при попытке выполнить команду ntpq -p.

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

Решение: проверьте, удастся ли выполнить запрос командой ntpq -pn 127.0.0.1 или ntpq -pn ::1. Также убедитесь, что настройка restrict позволяет серверу подключаться к самому себе по нужному протоколу.

3. no server suitable for synchronization found

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

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

Linux синхронизация времени между собой

Центральной частью схемы аутентификации Kerberos является третья доверенная сторона — Key Distribution Center (KDC), которая является централизованным хранилищем информации о пользователях. Перед разворачиванием Kerberos, должен быть выбран сервер, который будет выполнять роль KDC. Физическая и сетевая безопасность критичны для этого сервера, так как его компрометация ведет к компрометации всего realm.

Выбор хорошего имени для realm так же важен. По правилам, имя realm это доменное имя сайта в верхнем регистре. Например, для сайта или доменной зоны example.com рекомендуется выбрать EXAMPLE.COM в качестве имени realm.

Все серверы и клиенты, которые входят в realm Kerberos должны иметь возможность взаимодействовать между собой. Время между устройствами в realm должно быть синхронизовано. Далее описано как этого добиться.

Host Names

Каждый сервер внутри Kerberos realm должен иметь Fully Qualified Domain Name (FQDN).

Kerberos так же ожидает, что FQDN сервера является reverse-resolvable. Если выяснение доменного имени по IP недоступно, то установите значение переменной rdns в значение false на клиентах в файле krb5.conf.

Active Directory сильно зависит от DNS, поэтому весьма вероятно что ваш Active Directory Domain Controller уже имеет роль DNS. В этом случае убедитесь в том, что каждый сервер имеет свое FQDN перед выполнением тестов, описанных ниже в этом разделе.

Если сервер уже имеет назначенное FQDN, проверьте корректность обнаружения forward и reverse выполнив на клиенте следующие команды:

Если вы используете Astra Linux (или другой дистрибутив), то для установки программы nslookup, вам необходимо установить пакет dnsutils.

Вы можете воспользоваться Synaptic Package Manager или выполнить из командной строки $ apt-get install dnsutils

Читайте так же:
Ключ для регулировки развал схождения

Вывод первой команды должен содержать IP адрес сервера. Вывод второй команды должен содержать FQDN сервера.

Если у сервера нет назначенного FQDN и сервис DNS не доступен, то вы можете отредактировать локальные файлы hosts (обычно они находятся в /etc) на сервере добавив туда следующую строку:

А на каждом клиенте добавить строку

Где IP-address — это IP адрес сервера. В нашем примере это будет 10.0.0.1.

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

Наличие соединения

Для проверки соединения между хостами, выполните ping для каждого хоста по его FQDN:

Вывод команды ping показывает успешное определение IP адреса по FQDN, и простой ответ от сервера. Ответ от сервера является подтверждением того, что между хостом и сервером есть соединение.

Проблемы при работе ping указывают на проблемы настройки сервера или клиента.

Синхронизация времени

Протокол Kerberos требует синхронизации времени сервера и клиента: если системные часы клиентов и сервера расходятся, то аутентификация не будет выполнена. Простейший способ синхронизировать системные часы — использование Network Time Protocol (NTP) сервера. Некоторый линуксы, например, Astra Linux по-умолчанию синхронизирует время с российскими NTP-серверами. Для настройки собственного NTP-сервера смотрите документацию на ваш дистрибутив (например, UbuntuTime для Ubuntu).

Active Directory Domain Controllers обычно так же являются NTP серверами.

Брандмауэры

Так же как и все остальные сетевые службы, Kerberos должен иметь возможность проходить через любые брандмауэры между хостами. Инструкция Kerberos System Administration Manual имеет детальное описание портов, которые необходимо открыть при настройке брандмауэров.

хорошая точность для синхронизации времени с NTP по JavaScript

Я хочу синхронизировать время с NTP по JavaScript. Клиент может быть обычным ПК или смартфоном или планшетом. Соединение может быть WLAN или 3G и т. д.

Я уже нашел эти вопросы и сайты

первая и вторая ссылки с использованием a timestamp с этого сервера: http://json-time.appspot.com/time.json но объект date имеет только вторую точность. Я хочу получить лучшую точность, если это возможно,

10 мс. (Я знаю, что точность зависит от соединения и времени поездки туда и обратно)
Правка: 10 мс-это почти невозможно. Я хочу максимально точное смещение.

Третья ссылка показывает библиотеку JavaScript, но она не использует прямое соединение с сервером ntp. Решение четвертого звена наиболее близко к тому, чего я хочу. Но это для синхронизации двух клиентов через сервер ‘own’. Есть ли способ синхронизировать его непосредственно с пулом ntp, таким как pool.ntp.org ?

1 ответ

  • Насколько хорош NTP для распределенной синхронизации времени?

Насколько точен NTP для синхронизации времени набора серверов? Я пишу сервис, который требует набора серверов (некоторые действуют как клиенты, некоторые как серверы), синхронизированных с детализацией второго уровня. Мне интересно, является ли NTP лучшей вещью для использования, или есть что-то.

Я хотел бы синхронизировать два события между двумя (или более) проводными сетевыми машинами Linux. Могу ли я использовать NTP для этого? NTP, похоже, в основном сосредоточен на синхронизации с сервером времени, где мне нужно, чтобы две машины были синхронизированы друг с другом. Здесь есть тонкая.

Клиент NTP управляет собственными внутренними часами компьютера для разрешения. Клиент должен оценить UDP раз в оба конца и медленно изменить внутреннюю тактовую частоту ,чтобы свести к минимуму среднюю ошибку.

Похожие вопросы:

Мое приложение работает на сервере Linux, каждые три-четыре дня, время сервера и время EST различаются от 2 до 40 секунд. Есть ли какой-нибудь способ синхронизировать время с NTP на ежедневной.

У меня есть реализация клиента NTP (на Linux) для отправки/приема пакетов на сервер (Stratum 1 или 2) NTP и получения серверного времени на плате. Кроме того, у меня есть еще одно приложение.

Читайте так же:
Регулировка рулевой рейки саньенг кайрон

У меня есть 5 серверов на LAN без подключения к интернету. Мне нужно, чтобы они синхронизировали часы между собой. Я мог бы настроить их как NTP сверстников и установить высокий уровень для.

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

Я хотел бы синхронизировать два события между двумя (или более) проводными сетевыми машинами Linux. Могу ли я использовать NTP для этого? NTP, похоже, в основном сосредоточен на синхронизации с.

Используют ли устройства Android протокол сетевого времени (NTP) для синхронизации времени? В настройках моего устройства я вижу checkbox со следующим текстом синхронизировать с сетью, но я не знаю.

Я пытаюсь исправить некоторый временной дрейф, который мы наблюдаем на серверах out azure, упомянутых в этой статье . Кто-нибудь мог настроить сервер azure для синхронизации с сервером NTP за.

Мне пришлось собрать ntp пакетов из исходного кода и установить их все на некоторых хостах. После установки ntpdate 1.us.pool.ntp.org работает для синхронизации. Однако, когда я попытался сделать.

Как говорится в Теме: лучше ли когда-нибудь использовать алгоритм Berkeleys over NTP для синхронизации времени? Насколько я понимаю, NTP-это надежный современный алгоритм, который дает наилучшую.

У меня есть настройка raspberrypi для синхронизации времени с сервера NTP, так как на нем нет часов HW, однако это обновление происходит не сразу и занимает некоторое время (

Ntp сервер в локальной сети

Что, если требуется организовать собственный ntp сервер в локальной сети Windows? Например, в изолированной сети системы видеонаблюдения или системы автоматики.

Вроде бы наиболее простое решение – настроить службу времени Windows (W32TIME) в качестве сервера времени на каком-нибудь постоянно включенном компьютере (сервере). Делается это элегантной правкой параметров в реестре и вроде бы работает. Однако выясняется, что W32TIME работает далеко не для всех клиентов.

Причина в том, что служба времени Windows поддерживает не NTP протокол, а SNTP (Simple NTP), в результате синхронизация часов может вообще не работать в такой конфигурации, например, для IP видеокамер в системах видеонаблюдения, контроллеров в системах автоматики и других подобных устройств.

В таком случае следует использовать альтернативное ПО, например, Meinberg NTP – это NTP service с GUI инсталлятором для Windows.

The current stable NTP version can be used with Windows XP and newer, on 32 bit and 64 bit Windows versions. Beside the standard IPv4 network protocol it also supports IPv6.

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

Устанавливаем NTP

Все настройки производятся в одном единственном файле ntp.conf.
Добавляем данные в него.

разрешим доступ к серверу времени только из нашей локальной сети

Посмотрим конфигурационный файл ntp.conf

если указанной ниже строки нет то добавляем ее или изменяем.

restrict default — задает значение по умолчанию для всех рестриктов.
kod — узлам, которые часто отправляют запросы сначала отправить поцелуй смерти (kiss of death), затем отключить от сервера.
notrap — не принимать управляющие команды.
nomodify — запрещает команды, которые могут вносить изменения состояния.
nopeer — не синхронизироваться с хостом.
noquery — не принимать запросы.
restrict 192.168.0.0 mask 255.255.255.0 — разрешить синхронизацию для узлов в сети 192.168.0.0/24.
IP адреса 127.0.0.1 и ::1 позволяют обмен данные серверу с самим собой.

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

перезапускаем наш сервер NTP

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

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

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

Ее вывод будет представлен в виде таблицы:

В таблице указываются следующие параметры:

Проверить, пригоден ли сервер из списка для синхронизации, можно при помощи утилиты ntpdate:
Устанавливаем ее

В данном случае вывода видно, что сервер пригоден для синхронизации, его уровень — 2, смещение — 0.000000 мс, задержка — 0.02563 мс.

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

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

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

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

ntpdate

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

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

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

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

Возможные ошибки

1. the NTP socket is in use, exiting

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

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

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

2. Connection refused

Возникает при попытке выполнить команду ntpq -p.

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

Решение: проверьте, удастся ли выполнить запрос командой ntpq -pn 127.0.0.1 или ntpq -pn ::1. Также убедитесь, что настройка restrict позволяет серверу подключаться к самому себе по нужному протоколу.

3. no server suitable for synchronization found

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

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

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

Читайте другие интересные статьи

Понравилась статья, расскажи о ней друзьям, нажми кнопку!

Для любой локальной сети, а особенно доменной, для избежания проблем взаимодействия между сетевыми программами рекомендуется синхронизация компьютеров с сервером точного времени.
Наиболее популярной программой сервера точного времени является демон ntpd из пакета ntp. Ntp обычно устанавливать не требуется, программа уже входит в минимальный набор программ устанавливаемый вместе с системой.

Конфигурация сервера достаточно проста – создаем файл /etc/ntpd.conf с таким содержимым

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

Вот и вся настройка, от root или sudo запускаем сервер, если он не был запущен

если был запущен, как это обычно бывает в debian и ubuntu – перезапускаем ntpd

Убедимся что в логе /var/log/ntp.log нет ошибок и демон корректно запустился. Теперь надо подождать минут 15-20, пока пройдет полная синхронизация времени между вашим сервером и серверами интернет.
Проверяем сервера синхронизации. "+" показывает тот сервер с которым в последний раз была синхронизация

Запрос на синхронизацию с самим собой

Самой лучшей проверки работы сервера времени будет успешная синхронизация времени клиентского компьютера. Для клиентов ОС unix выполняем команду от root или sudo

Читайте так же:
Регулировка зажигания культиватор крот

Сервер работает и отдает правильное время – задача выполнена. Добавим загрузку демона в стартовые скрипты ОС и при необходимости открываем порт 123 udp.
Для FreeBSD

В большинстве linux дистрибутивов что-то дополнительно для прописывания в запуск не требуется, это делается автоматически при установке пакета ntp.
Для FreeBSD добавим в /etc/rc.conf

Для сети с доменом из win машин в GPO AD указываем включение сервиса времени на всех ПК, и указать сервер с кем синхронизироваться.

Настройка NTP сервера для локальной сети

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

Устанавливаем NTP

Все настройки производятся в одном единственном файле ntp.conf.
Добавляем данные в него.

разрешим доступ к серверу времени только из нашей локальной сети

Посмотрим конфигурационный файл ntp.conf

если указанной ниже строки нет то добавляем ее или изменяем.

restrict default — задает значение по умолчанию для всех рестриктов.
kod — узлам, которые часто отправляют запросы сначала отправить поцелуй смерти (kiss of death), затем отключить от сервера.
notrap — не принимать управляющие команды.
nomodify — запрещает команды, которые могут вносить изменения состояния.
nopeer — не синхронизироваться с хостом.
noquery — не принимать запросы.
restrict 192.168.0.0 mask 255.255.255.0 — разрешить синхронизацию для узлов в сети 192.168.0.0/24.
IP адреса 127.0.0.1 и ::1 позволяют обмен данные серверу с самим собой.

перезапускаем наш сервер NTP

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

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

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

Ее вывод будет представлен в виде таблицы:

В таблице указываются следующие параметры:

Проверить, пригоден ли сервер из списка для синхронизации, можно при помощи утилиты ntpdate:
Устанавливаем ее

В данном случае вывода видно, что сервер пригоден для синхронизации, его уровень — 2, смещение — 0.000000 мс, задержка — 0.02563 мс.

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

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

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

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

ntpdate

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

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

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

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

Возможные ошибки

1. the NTP socket is in use, exiting

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

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

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

2. Connection refused

Возникает при попытке выполнить команду ntpq -p.

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

Решение: проверьте, удастся ли выполнить запрос командой ntpq -pn 127.0.0.1 или ntpq -pn ::1. Также убедитесь, что настройка restrict позволяет серверу подключаться к самому себе по нужному протоколу.

3. no server suitable for synchronization found

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

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

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