Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

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

profile picture
Author
Hetzner Online
Published
2019-05-22
Time to read
3 minutes reading time

Введение

NTP (Network Time Protocol) - это протокол синхронизации часов сервера с центральным сервером времени. В стандартных образах Hetzner служба NTP уже преднастроена для работы с NTP-серверами Hetzner.

Шаг 1 - Установка службы NTP

Для синхронизации времени в собственной установке ОС сначала надо установить службу NTP. Она есть в каждом дистрибутиве Linux и может быть достаточно просто установлена.

Debian:

debian root # apt-get install ntp

Gentoo:

emerge ntp

OpenSuSE:

zypper install ntp

Шаг 2 - Настройка службы NTP

С января 2010 в Hetzner работают три сервера времени, которые используют протокол NTP. Они расположены в разных дата-центрах и имеют следующие адреса:

  • ntp1.hetzner.de
  • ntp2.hetzner.com
  • ntp3.hetzner.net

Для того чтобы использовать эти серверы времени в Linux надо соответствующим образом настроить ntpd. Например, в Debian, три следующие строки можно добавить (или заменить существующие) в файл /etc/ntp.conf:

server  ntp1.hetzner.de  iburst
server  ntp2.hetzner.com iburst
server  ntp3.hetzner.net iburst

Для более старых версий ntpd возможно потребуется добавить дополнительный параметр dynamic к каждой вышеуказанной строке с параметрами. Этот устаревший (еще в версии ntpd 4.х) параметр позволяет указать сервер, даже если он недоступен во время настройки.

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

server 0.de.pool.ntp.org
server 1.de.pool.ntp.org
server 2.de.pool.ntp.org
server 3.de.pool.ntp.org

Здесь ваш сервер выбирает любой немецкий NTP-сервер из пула. Это обеспечивает распределение запросов одновременно между несколькими серверами и повышает надёжность.

После изменения настроек NTP-сервера его надо перезапустить.

Шаг 3 - Безопасность

Так как ntp основан на протоколе UDP он уязвим при использовании распределенных атак типа «отказ в обслуживании», основанные на отражении и усилении трафика, известных как DRDoS атаки.

Если возможно, обновите ntp до версии 4.2.7p26 или более поздней. Либо заблокируйте все запросы статуса с помощью оператора noquery.

Конфигурация, в которой используются только NTP сервера Hetzner следующая:

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

restrict    127.0.0.1
restrict -6 ::1

server ntp1.hetzner.de iburst
server ntp2.hetzner.de iburst
server ntp3.hetzner.de iburst

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

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

restrict    default ignore
restrict -6 default ignore

restrict    127.0.0.1
restrict -6 ::1

server ntp1.hetzner.de iburst
restrict    213.239.239.164 nomodify notrap nopeer noquery
restrict -6 2a01:4f8:0:a0a1::2:1 nomodify notrap nopeer noquery

server ntp2.hetzner.de iburst
restrict    213.239.239.165 nomodify notrap nopeer noquery
restrict -6 2a01:4f8:0:a101::2:3 nomodify notrap nopeer noquery

server ntp3.hetzner.de iburst
restrict    213.239.239.166 nomodify notrap nopeer noquery
restrict -6 2a01:4f8:0:a112::2:2 nomodify notrap nopeer noquery

Шаг 4 - Ручная синхронизация с NTP

Ручная синхронизация может понадобится после установки NTP-сервера. Вы можете сделать это с помощью ntpd или ntpdate (может потребуется установить отдельно):

ntpd -q -g

Опция "-g" означает, что ntpd будет синхронизировать часы даже если разница будет более 1000 секунд. Опция "-q" означает, что ntpd запустится только одни раз и завершится после синхронизациии.

ntpdate NTP-Server
ntpdate ptbtime1.ptb.de

Шаг 5 - Сохранение нового времени в аппаратные часы

Последнее по порядку, но не по важности, что следует сделать — это сохранить текущее время в аппаратные часы компьютера:

hwclock --systohc

В противном случае неправильное время вновь применится после перезагрузки.

Заключение

Теперь у вас есть настроенная служба времени, использующая безопасное подключение для синхронизации времени со сторонним сервером.

Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue

Discover our

Dedicated Servers

Get €20/$20 free credit!

Valid until: 31 December 2026 Valid for: 3 months and only for new customers
Configure now
Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more