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:

Устанавливается через YaSt

Шаг 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

Configure your dream server. Top performance with an excellent connection at an unbeatable price!

Want to contribute?

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

Find out more