[РЕШЕНО] Перестал работать NTP

Коллеги, у меня идеи кончились…

Некоторое время назад у меня перестал работать NTP на всех устройствах в доме. Сервера видны, пингуются, но время не отдают ну никак.
OpenNTPD просто говорит bad peer на всё, что я ему пытаюсь скормить. На второй машине chrony сервера также видит, но не получает от них ничего:

 # chronyc sources
210 Number of sources = 13
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^? boxi.trexler.at               0  10     0     -     +0ns[   +0ns] +/-    0ns
^? mxaut.kurios.at               0  10     0     -     +0ns[   +0ns] +/-    0ns
^? 194-208-145-077.tele.net      0  10     0     -     +0ns[   +0ns] +/-    0ns
^? 80.64.136.37                  0  10     0     -     +0ns[   +0ns] +/-    0ns
^? vz00.holub.co.at              0  10     0     -     +0ns[   +0ns] +/-    0ns
^? service01.vie.xpirio.net      0  10     0     -     +0ns[   +0ns] +/-    0ns
^? manage.mediainvent.at         0  10     0     -     +0ns[   +0ns] +/-    0ns
^? 212-186-250-154.static.su     0  10     0     -     +0ns[   +0ns] +/-    0ns
^? ntp.cnh.at                    0  10     0     -     +0ns[   +0ns] +/-    0ns
^? palmers.nobody.at             0  10     0     -     +0ns[   +0ns] +/-    0ns
^? 94.136.21.140                 0  10     0     -     +0ns[   +0ns] +/-    0ns
^? ts2.aco.net                   0  10     0     -     +0ns[   +0ns] +/-    0ns
^? ntp0.rrze.uni-erlangen.de     0  10     0     -     +0ns[   +0ns] +/-    0ns

tcpdump на интерфейсе, который смотрит в сеть провайдера, показывает только исходящие пакеты:

#  tcpdump -n -i net0  port 123
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on net0, link-type EN10MB (Ethernet), capture size 262144 bytes
16:33:02.848013 IP 93.100.X.X.34952 > 80.121.153.134.123: NTPv4, Client, length 48
16:33:02.848089 IP 93.100.X.X.43109 > 83.175.123.72.123: NTPv4, Client, length 48
16:33:02.848125 IP 93.100.X.X.60592 > 80.92.126.65.123: NTPv4, Client, length 48
16:33:02.848165 IP 93.100.X.X.48394 > 81.16.34.161.123: NTPv4, Client, length 48
16:33:02.848199 IP 93.100.X.X.58469 > 86.59.80.170.123: NTPv4, Client, length 48
16:33:02.848234 IP 93.100.X.X.49140 > 194.177.128.113.123: NTPv4, Client, length 48
16:33:02.848266 IP 93.100.X.X.35424 > 78.41.116.113.123: NTPv4, Client, length 48
16:33:29.829157 IP 93.100.X.X.42940 > 131.188.3.220.123: NTPv4, Client, length 48
16:35:18.007043 IP 93.100.X.X.51079 > 86.59.80.170.123: NTPv4, Client, length 48
16:38:17.967601 IP 93.100.X.X.41841 > 80.121.153.134.123: NTPv4, Client, length 48
16:38:17.967654 IP 93.100.X.X.48570 > 83.175.123.72.123: NTPv4, Client, length 48
16:38:17.967691 IP 93.100.X.X.39535 > 80.92.126.65.123: NTPv4, Client, length 48
16:38:17.967731 IP 93.100.X.X.34248 > 81.16.34.161.123: NTPv4, Client, length 48
16:38:17.967764 IP 93.100.X.X.43111 > 86.59.80.170.123: NTPv4, Client, length 48
16:38:17.967797 IP 93.100.X.X.56402 > 194.177.128.113.123: NTPv4, Client, length 48
16:38:17.967829 IP 93.100.X.X.37127 > 78.41.116.113.123: NTPv4, Client, length 48
16:38:52.289266 IP 93.100.X.X.41800 > 78.41.115.242.123: NTPv4, Client, length 48
16:39:39.984039 IP 93.100.X.X.43850 > 212.186.250.154.123: NTPv4, Client, length 48
16:40:03.601784 IP 93.100.X.X.33876 > 81.16.34.161.123: NTPv4, Client, length 48
16:40:49.085230 IP 93.100.X.X.50895 > 131.130.251.107.123: NTPv4, Client, length 48
16:41:00.395744 IP 93.100.X.X.57776 > 86.59.113.114.123: NTPv4, Client, length 48
^C
61 packets captured
91 packets received by filter
27 packets dropped by kernel

Провайдер говорит, что 123 порт не фильтрует, но из инета тем не менее ничего не приходит. Дамп смотрю на интерфейсе, т.е. до всяких iptables.
Единственное, что привлекло внимание – запросы идут с непривилигированных портов, но это вроде как допускается. Да и раньше работало.

Уже голову сломал. Подскажите что-нибудь путное.

Ну, если Вам будет от этого легче - проблема не в кальке. Поскольку

server ~ # ntpdate pool.ntp.org
21 Apr 05:35:28 ntpdate[16351]: adjust time server 85.21.78.8 offset 0.066946 sec
server ~ # ntpdate 192.168.100.2
21 Apr 05:35:56 ntpdate[16490]: adjust time server 192.168.100.2 offset 0.052050 sec

То есть сферический хост в вакууме с калькой на борту видит и локальные и внешние NTP сервера
Стало быть, правильней будет попытаться вспомнить с чего все началось и ковырять настройки домашней сети. А лучше - сети провайдера.
Я бы начал с попытки доступа к внешним NTP через запасной интернет, мабилу там например…

И вдогонку, взгляните что Ваш роутер получает по дхцп от провайдера и что раздает по квартире.
В смысле, как прописана option ntp-servers на дхцп-сервере и дхцп-клиентах (если, конечно, у Вас ISC dhcp server а не какойнть экзотический dnsmasq - впрочем, и в его настройках указанная опция тоже наверняка есть).

Роутер суть ПК с калькой на борту. Он же и ntp по дому раздавал, пока работало. И да, “экзотический” dnsmasq. Но ntp сервера явно прописаны в настройках openntpd и chrony, неважно что провайдер даёт. Службы работают, сервера видят, но ничего не получают от них.
Меня смущает, что на интерфейс ответы из сети не приходят, если я правильно понимаю, как работает tcpdump. Он же на интерфейсе сетевом пакеты ловит, т.е. ещё до обработки iptables и роутинга, так? Ну то есть проблема вроде как вовне, хотя интуиция и здравый смысл твердят, что внутри. Если только ядро их выкидывает по какой-то причине, но почему именно ntp под раздачу попало? Я уже не понимаю, где смотреть.

Николай Ка wrote:

Меня смущает, что на интерфейс ответы из сети не приходят, если я правильно понимаю, как работает tcpdump. Он же на интерфейсе сетевом пакеты ловит, т.е. ещё до обработки iptables и роутинга, так?

По крайней мере, я всегда именно так и думал.

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

Моя интуиция твердит другое ))) судя по Вашим рассказам Вас именно провайдер мучает.
В этом случае Ваш роутер/нтпсервер ничего не получает - а следовательно ему и отдавать в локалку тоже нечего.
Повторюсь, попробуйте мобилку или еще какой другой интернет. Полагаю, результат Вас порадует - а дальше уже провайдера будет чем додавить.

Ну как всегда, сам спросил – сам ответил :slight_smile:

Как выяснилось не без помощи провайдера, проблема была в том, что pool.ntp.org начал игнорировать запросы с непривилегированных портов. Внезапно.

Добавление в конфиг строчки с привязкой исходящего порта на кошерный 123/UDP проблему решило. Для chronyd:

acquisitionport 123

И всего-то…