Personalcam.ru

Авто Аксессуары
6 просмотров
Рейтинг статьи
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

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

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

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

Настройка 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) нет сетевой доступности из-за проблем на сети или брандмауэра.

Установка и настройка NTP-сервера в Linux

Протокол сетевого времени NTP (Network Time Protocol) используется для синхронизации времени в вашей системе с централизованным NTP-сервером. В этой статье рассмотрим установку и настройку NTP сервера.

Установка NTP

В первую очередь нужно установить пакет NTP при помощи менеджера пакетов. Например, в RedHat или CentOS используется yum:

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

Установка ограничений в ntp.conf
В файл /etc/ntp.conf нужно добавить две строки restrict. Они разрешают синхронизацию с источником данных о времени, но не разрешают источнику опрашивать сервис на нашей системе или изменять его параметры.

Первая строка разрешает другим клиентам опрашивать ваш сервер времени. В ней заданы следующие параметры:

noquery – запрещает получение данных о состоянии ntpd
notrap – запрещает использование управляющих сообщений.
nomodify – запрещает все запросы ntpq, которые пытаются изменить параметры сервера.
nopeer – запрещает все пакеты, которые пытаются установить синхронизацию с узлом.
kod – отправка пакета об отказе в обслуживании “Kiss-o-death” для исключения нежелательных запросов, затем отключение от сервера.

Значение -6 во второй строке устанавливает аналогичные параметры для IPV6. Более подробная информация о параметрах приведена в соответствующей man-странице

Проверьте что у вас в фале конфигурации прописаны внешние NTP-сервера. При желании измените их на свои

Ограничение круга клиентов

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

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

Резервное использование локальных часов

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

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

Протокол NTP использует иерархию, называемую Stratum. Sratum 0 – это эталонные часы, Stratum 1 – серверы, получающие время от них напрямую (не по сети). Начиная со Stratum 2 и далее серверы получают время по сети от серверов предыдущего уровня. С каждым уровнем точность времени снижается. Лучше всего выбирать для синхронизации серверы уровня 2, так как несмотря на более высокую точность Stratum 1 они сильнее загружены, и задержка получения пакетов от них может быть слишком большой.

В двух следующих строках мы командой server указываем использование локального узла в качестве сервера времени, а командой fudge задаем его уровень в иерархии Stratum и исключаем обновление, когда доступ к Интернету есть.

Установка параметров журнала

Укажите в файле конфигурации расположение файла погрешности (driftfile) и файла журнала (logfile):

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

Запуск NTP-сервера

После задания необходимых параметров в файле конфигурации ntp.conf нужно запустить службу ntp.

И добавим в автозагрузку

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

Установка сервера точного времени NTP в Ubuntu 16.04

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

До недавнего времени за синхронизацию времени отвечал демон ntpd. Он подключал сервер к пулу серверов NTP, что обеспечивало точное хронометрирование.

В Ubuntu 16.04 вместо ntpd по умолчанию использует timesyncd. Сервис timesyncd подключается к тем же серверам времени и работает примерно таким же образом, но он легче ntpd и интегрирован с systemd.

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

Прежде чем установить ntpd, отключите timesyncd:

Убедитесь, что timesyncd отключился:

В выводе должна быть строка:

Установка NTP и конфигурирование NTP сервера в Ubuntu 16.04 для синхронизации точного времени через интернет

В своей работе NTP использует порт 123 по протоколу UDP. Клиенты запрашивают текущее время на сервере и используют его для установки своих собственных часов.

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

Конфигурирование NTP сервера

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

Читайте так же:
Сузуки альто f10d регулировка клапанов

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

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

Работу общедоступных серверов точного времени координирует проект pool.ntp.org — это огромный кластер серверов точного времени, предоставляющий надежный и простой в использовании NTP-сервис для миллионов клиентов.

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

Правим файл настроек NTP — /etc/ntp.conf:

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

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

Перестартуем NTP сервер:

И в завешении установки проверим статус NTP сервера:

Должно выдать что-то типа:

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

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

Слева от адреса сервера могут быть указаны следующие символы:

* сервер выбран для синхронизации;
+ сервер, пригодный для обновления (с которым можно синхронизироваться);
— с сервером синхронизироваться не рекомендуется;
х сервер недоступен.

Для защиты от DDoS-атак по умолчанию в файлe /etc/ntp.conf установлены следующие ограничения:

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

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

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

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