Назад | Перейти на главную страницу

Невозможно выполнить запрос к узлу ntp, к которому у меня есть подключение

Итак, у меня есть соединение точка-точка Ethernet от моего ПК к устройству, на котором запущен NTP на UDP-порту 123. Вот что показывает nmap:

root@kali:~# nmap -sU mydevice
PORT    STATE         SERVICE
123/udp open|filtered ntp

Теперь, когда я запускаю ntp и проверяю его статус, я получаю следующее:

root@kali:~# sudo service ntp start
root@kali:~# sudo service ntp status
● ntp.service - Network Time Service
   Loaded: loaded (/lib/systemd/system/ntp.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2019-12-06 10:31:22 CET; 1s ago
     Docs: man:ntpd(8)
  Process: 4203 ExecStart=/usr/lib/ntp/ntp-systemd-wrapper (code=exited, status=0/SUCCESS)
 Main PID: 4209 (ntpd)
    Tasks: 2 (limit: 4915)
   Memory: 2.2M
   CGroup: /system.slice/ntp.service
           └─4209 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 105:111

Dec 06 10:31:22 kali ntpd[4209]: Listen normally on 2 lo 127.0.0.1:123
Dec 06 10:31:22 kali ntpd[4209]: Listen normally on 3 eth0 10.96.104.97:123
Dec 06 10:31:22 kali ntpd[4209]: Listen normally on 4 wlan0 192.168.1.126:123
Dec 06 10:31:22 kali ntpd[4209]: Listen normally on 5 lo [::1]:123
Dec 06 10:31:22 kali ntpd[4209]: Listen normally on 6 eth0 [fe80::868a:75a:e3ad:2cbc%2]:123
Dec 06 10:31:22 kali ntpd[4209]: Listen normally on 7 wlan0 [fe80::cbd2:c686:502d:d0d0%3]:123
Dec 06 10:31:22 kali ntpd[4209]: Listening on routing socket on fd #24 for interface updates
Dec 06 10:31:22 kali ntpd[4209]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
Dec 06 10:31:22 kali ntpd[4209]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
Dec 06 10:31:23 kali ntpd[4209]: Soliciting pool server 162.159.200.123

А это ответ от ntpq -npcrv

root@kali:~# ntpq -npcrv
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 10.96.104.98    .STEP.          16 u    -   64    0    0.000    0.000   0.000
 0.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.debian.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
*83.168.200.199  192.36.143.130   2 u   76   64    1    3.652   -0.742   0.646
 193.182.111.143 194.58.202.20    2 u   40   64    1    2.206   -0.768   4.768
-213.199.225.30  212.160.106.226  2 u   46   64    3   44.320    0.156   4.717
+213.251.52.202  195.66.241.10    2 u   11   64    3   19.966   -1.813   1.371
-109.201.133.100 151.80.124.104   3 u   44   64    3   31.114    1.118   0.964
+147.78.228.41   193.11.166.36    2 u   11   64    3    3.708   -1.263   0.946
 193.182.111.14  192.36.143.130   2 u   40   64    1    2.196   -0.488   0.677
+193.182.111.13  194.58.202.20    2 u   47   64    3    2.062   -1.249   4.331
+27.124.125.250  85.199.214.98    2 u   45   64    3   31.547   -1.261   1.389
 218.186.3.36    .GPS.            1 u   38   64    1  307.278   37.465  11.156
 162.159.200.1   10.128.8.119     3 u   41   64    1    1.660   -0.669   0.295
+62.201.225.9    62.201.214.162   2 u   45   64    3   84.179   -1.641   0.768
-45.231.168.6    23.31.21.163     3 u   46   64    3  170.302  -27.169   0.945
 193.182.111.141 194.58.202.20    2 u   42   64    1    2.567   -0.554   2.066
 102.130.49.223  85.199.214.98    2 u   42   64    1  186.493   -1.765   0.277
 176.9.241.107   130.149.17.8     2 u   40   64    1   36.654   -0.853   0.272

associd=0 status=0618 leap_none, sync_ntp, 1 event, no_sys_peer,
version="ntpd 4.2.8p13@1.3847-o (1)", processor="x86_64",
system="Linux/5.3.0-kali2-amd64", leap=00, stratum=3, precision=-22,
rootdelay=4.995, rootdisp=219.827, refid=83.168.200.199,
reftime=e19b727a.eb1b269c  Wed, Dec 11 2019 14:49:46.918,
clock=e19b72c6.3c2e95c2  Wed, Dec 11 2019 14:51:02.235, peer=1791, tc=6,
mintc=3, offset=-1.425931, frequency=-5.187, sys_jitter=0.437287,
clk_jitter=0.668, clk_wander=0.017, tai=37, leapsec=201701010000,
expire=202006280000

В нем написано "Слушайте нормально на 3 eth0", которое является моим удаленным устройством. B Теперь с wirehark я могу видеть входящие и исходящие NTP-пакеты к / от этого хоста.

Трассировка Wireshark

РЕДАКТИРОВАТЬ: это папка на Google Диске, содержащая скриншоты двух запросов, одного клиента и одного сервера, а также полный .pcap от wirehark: https://drive.google.com/drive/folders/1PbvjJugtpRJKN0YrvX5VbI9iJfnJxdYH

Пока все в порядке, похоже, между моим компьютером и устройством существует NTP-связь.

Однако, когда я пытаюсь выполнить ntp-запрос устройства:

root@kali:~# ntpdate -q mydevice
29 Nov 12:59:17 ntpdate[9599]: no server suitable for synchronization found
root@kali:~# ntpq -p mydevice
10.96.104.98: timed out, nothing received
***Request timed out

Почему я не могу вручную запросить удаленный хост, когда мой wirehark ясно показывает мне, что у меня с ним "автоматическая связь по протоколу ntp"? Это потому, что на удаленном хосте работает только клиент ntp, а не сервер ntp? Если да, то какие команды ntpq я могу использовать для связи с ним?

На основе захвата вашего пакета локальные часы 10.96.104.98 были установлены на 00:00 1 января 1997 г., когда вы запустили NTP. Для первых 4 опросов часы все еще были установлены на это время, что означало бы, что вы не были синхронизированы (потому что смещение было слишком большим). К моменту 5-го опроса 10.96.104.98 изменил свои часы на правильное время, а к 6-му опросу он показал 10.96.104.97 в качестве эталонных часов.

В ntpq -npcrv записанный вами вывод показывает максимум 3 успешных опроса для любого сервера времени. Это говорит о том, что результат был получен до 5-го опроса. Если вы попробуете снова сейчас (или в любое время после этого 6-го опроса), синхронизация должна быть успешной.

Обратите внимание, что если вы не контролируете 10.96.104.97, это нормально, если вы откажетесь отвечать на ntpq -p, и ntpdate не выбрал бы его, потому что ваше время было слишком далеко.

Дважды проверьте, что ваш ntpd начинается с -g или -G flags, чтобы он правильно устанавливал часы при первоначальном запуске.