Есть ли NTP-сервер, который я должен использовать при использовании службы Amazon EC2 для борьбы с дрейфом часов?

Im использует AWS и am на сервере EC2...

[[email protected] ~]$ uname -a
Linux mydomain.org 3.14.33-26.47.amzn1.x86_64 #1 SMP Wed Feb 11 22:39:25 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Мои часы отключены на минуту, поэтому, несмотря на то, что у меня уже установлен NTPD и работает

[[email protected] ~]$ sudo service ntpd status
ntpd (pid  22963) is running...

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

[[email protected] ~]$ sudo ntpdate pool.ntp.org
 2 Apr 16:43:50 ntpdate[23748]: no server suitable for synchronization found

Кто-нибудь знает с AWS, если на другом сервере я должен связаться с NTP-информацией или если есть другие дополнительные конфигурации, которые мне нужны?

Спасибо, - Дейв

Изменить: Включение вывода из комментария...

[da[email protected] ~]$ sudo ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 173.44.32.10    .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 deekayen.net    .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 dhcp-147-115-21 .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 time-b.timefreq .INIT.          16 u    - 1024    0    0.000    0.000   0.000

Второе редактирование:

Ниже приведено содержимое файла /etc/ntp.conf

# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).

driftfile /var/lib/ntp/drift

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default nomodify notrap nopeer noquery

# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1 
restrict ::1

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.amazon.pool.ntp.org iburst
server 1.amazon.pool.ntp.org iburst
server 2.amazon.pool.ntp.org iburst
server 3.amazon.pool.ntp.org iburst

#broadcast 192.168.1.255 autokey    # broadcast server
#broadcastclient            # broadcast client
#broadcast 224.0.1.1 autokey        # multicast server
#multicastclient 224.0.1.1      # multicast client
#manycastserver 239.255.254.254     # manycast server
#manycastclient 239.255.254.254 autokey # manycast client

# Enable public key cryptography.
#crypto

includefile /etc/ntp/crypto/pw

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography. 
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8

# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats

# Enable additional logging.
logconfig =clockall =peerall =sysall =syncall

# Listen only on the primary network interface.
interface listen eth0
interface ignore ipv6

# Disable the monitoring facility to prevent amplification attacks using ntpdc
# monlist command when default restrict does not include the noquery flag. See
# CVE-2013-5211 for more details.
# Note: Monitoring will not be disabled with the limited restriction flag.
disable monitor

и ниже - вывод из "ntpq -p"

sudo ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 173.44.32.10    .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 deekayen.net    .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 dhcp-147-115-21 .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 time-b.timefreq .INIT.          16 u    - 1024    0    0.000    0.000   0.000

Ответ 1

Да, вы должны использовать как минимум 3, а в идеале 5 или более серверов, которые имеют низкий уровень и близки (время прохождения туда-обратно) к вашему экземпляру.

Amazon предоставляет некоторые документы, в которых подробно описывается, как настроить ntp. Следует отметить, что вам не нужно использовать перечисленные серверы пула - они являются фронтом для общедоступного пула ntp, к которому Amazon загружает баланс нагрузки; Вы можете выбрать любые серверы, которые вам нравятся, просто не забудьте обновить настройки безопасности /ACL для новых адресов.

Вывод, который вы предоставили

[[email protected] ~]$ sudo ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 173.44.32.10    .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 deekayen.net    .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 dhcp-147-115-21 .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 time-b.timefreq .INIT.          16 u    - 1024    0    0.000    0.000   0.000

Показывает, что настроенные вами серверы недоступны.

Refid=.INIT. означает, что вы еще не инициализировали связь с указанным сервером. Вы опрашиваете их каждые 1024 секунды, но все они имеют reach=0, поэтому вы не можете связаться с ними и не получаете время ни с одного сервера. Вот почему ваши часы все еще не в порядке.

Возможно, у вас слишком жесткие настройки брандмауэра/сетевой безопасности и вы блокируете доступ к этим хостам или, скорее, к порту.

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

Как только вы исправите проблему достижимости, проверьте, что числа в ntpq -p показывают действительные данные, и вы должны найти свою проблему отсортированной, и часы будут проверены, как и ожидалось.

Просто предупреждение людям об использовании сервиса времени AWS на 169.254.169.123; Этот сервер не является настоящим NTP-сервером, так как он неправильно обрабатывает високосные секунды. Вместо этого сервер AWS выполняет "скачкообразное смазывание".

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

Ответ 2

(2018) Amazon теперь рекомендует "просто" использовать свой NTP-сервер 169.254.169.123, потому что

Вашему экземпляру не требуется доступ к Интернету, и вам не нужно настраивать правила группы безопасности или правила ACL сети, чтобы разрешить доступ.

(Похоже, локальная ссылка "Сервис синхронизации времени Amazon" была введена в конце 2017 года)

Примечание: сервер 169.254.169.123 выполняет "скачкообразное смазывание" и НЕ ДОЛЖЕН смешиваться с другими (не Amazon) NTP-серверами из Интернета, которые не выполняют смазывание точно так же путь. Amazon также рекомендует использовать chrony вместо ntpd, если только вы не застряли в устаревшей ситуации, когда chrony недоступен, так как по сравнению с ntpd, chrony быстрее при достижении синхронизации точнее и надежнее.

Ответ 3

Amazon документы NTP здесь. Они включают конфигурацию NTP с их дистрибутивами Amazon linux. Экземпляр Amazon, который я сейчас запускаю, перечисляет эти серверы в файле /etc/ntp.conf, что также рекомендует их документация:

server 0.amazon.pool.ntp.org iburst 
server 1.amazon.pool.ntp.org iburst
server 2.amazon.pool.ntp.org iburst 
server 3.amazon.pool.ntp.org iburst