Почему ntpd выдает сообщение «Сервер не найден», когда я синхронизирую время вручную?

Почему ntpd выдает сообщение «Сервер не найден», когда я синхронизирую время вручную?

Мой сервер размещен в IDC, из-за этого сервер IDC не может получить доступ к Интернету, поэтому я могу использовать сервер NTP в Интернете. Но у поставщика услуг IDC есть атомные часы, поэтому я могу синхронизировать время с атомными часами.
IP атомных часов — 192.168.90.118, а IP моего сервера — 192.168.90.18. Операционная система моего сервера — Debian 8.11, и я устанавливаю ntp с помощью sudo apt install ntp, версия ntpd — 4.2.6p5. Содержимое
сервера /etc/ntp.confвыглядит следующим образом:

driftfile /var/lib/ntp/ntp.drift
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server 192.168.90.118 version 3
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1

И я попробовал выполнить команду ниже, чтобы синхронизировать время с атомными часами, она показывает «сервер не найден».

sudo service ntp stop
sudo ntpd -gq

Я попытался пинговать IP-адрес атомных часов, он доступен и имеет низкую задержку. Я попытался перехватить несколько пакетов между атомными часами и моим сервером с помощью tcpdim, он показывает следующее:

sudo tcpdump -vvv -ni eth0 port 123

16:43:44.802334 IP (tos 0x0, ttl 126, id 12371, offset 0, flags [none], proto UDP (17), lenth 76)  
    192.168.90.118.123 > 192.168.90.18.123: [udp sum ok]NTPv3, lenth 48
        Server, Leap indicator: (0), Stratum 6 (secondary reference), poll 6 (64s), pricision -6
Root Delay: 0.000000, Root disprsion: 10.371246, Reference-ID: 95.31.153.26
            Reference Timestamp: 3843677595.431751999 (2021/10/20 08:13:15)
            Originator Timestamp: 3843708224.802159560 (2021/10/20 16:43:44)
            Receive Timestamp: 3843708322.196751999 (2021/10/20 16:45:22)
            Transmit Timestamp: 3843708322.196751999 (2021/10/20 16:45:22)
                Originator - Receive Timestamp: +97.394592739
                Originator - Transmit Timestamp: +97.394592739
16:43:46.802173 IP (tos 0x0, ttl 64, id 19514, offset 0, flags [DF], proto UDP (17), lenth 76)  
    192.168.90.18.123 > 192.168.90.118.123: [bad udp cksum -> 0x4b29!]NTPv3, lenth 48
        Client, Leap indicator: clocl unsynchornized(192), Stratum 0 (unspecified), poll 6 (64s), pricision -23
Root Delay: 0.000000, Root disprsion: 0.000091, Reference-ID: (unspec)
            Reference Timestamp: 0.000000000
            Originator Timestamp: 3843708322.196751999 (2021/10/20 16:45:22)
            Receive Timestamp: 3843708224.1802334560 (2021/10/20 16:43:44)
            Transmit Timestamp: 3843708226.802159634 (2021/10/20 16:43:46)
                Originator - Receive Timestamp: -97.394417439
                Originator - Transmit Timestamp: -95.394592365

Вышеуказанный текст введен вручную. На основании вышеприведенного результата, похоже, что kernelполучены пакеты ntp, и протокол между сервером и клиентом совпадает. Но ntpd моего сервера не получил или не распознал пакеты. Как это исправить?

Я выполнил команду ntpq -np, она показана ниже:

ntpq: read: Connection refused

решение1

После того, как я спросил своего поставщика услуг, сервер NTP основан на Windows, какой протокол - SNTP. В программном обеспечении NTP по умолчанию Debian 8.11 он не может принимать пакеты SNTP. Поэтому мне нужно обновить версию ntp.

решение2

Вы не указали этого в своем вопросе (но указали в комментариях), но вы говорите, что ваша система не может получить доступ к Интернету, а может получить доступ только к службам в вашем центре обработки данных, которые не включают NTP, а только SNTP.

Если настоящий сервер NTP недоступен и вы не можете воспользоваться альтернативой синхронизации GPS, то единственным вариантом будет отключить NTPD в вашей системе и использовать клиент NTP, возможно, в cron.

Связанный контент