LINUX.ORG.RU
Форум — Admin  

Катастрофа в российской зоне проекта NTPPool.org

 


0

5

В процессе изучения проблемы я обнаружил, что что-то случилось в начале-середине октября и из зоны RU за 2 недели вылетело 120 серверов из 140 имеющихся.

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

Помогите сохранить точное время в Рунете. Если не мы, то кот?

UPD: на пост откликнулись представители timeweb.cloud и выделили под NTP 30 (!!!) виртуальных машин!

Оригинал: https://habr.com/ru/articles/860828/

Обсуждение на пуле: https://community.ntppool.org/t/collapse-of-russia-country-zone/3607

Что-то тут и не обсудили.

Решил проверить что да как. Включил в пул свою свободную VPS. Как только рейтинг поднялся и она попала в пул:

# time tcpdump -n -c 10000 ip and udp and dst port 123 | cut -d" " -f3 | cut -d. -f1-4 | sort | uniq -c | sort -rn | head
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
10000 packets captured
11214 packets received by filter
0 packets dropped by kernel
     87 195.16.36.245
     50 178.249.59.166
     34 81.200.148.195
     30 188.94.48.42
     26 178.249.59.167
     24 37.204.142.248
     11 31.44.178.251
     11 212.232.62.228
     11 212.232.62.216
     11 212.232.62.212

real    0m8.206s
user    0m0.068s
sys     0m0.019s
★★★★★
$ whois 195.16.36.245
% Abuse contact for '195.16.36.128 - 195.16.36.255' is 'abuse-b2b@beeline.ru'
descr:          111250 Russia SOVINTEL/EDN
descr:          p2p and clients static IP pool

И смысла банить нет…

AlexVR ★★★★★
() автор топика

Примечательно, что в это время колоночки от Яндекса массово флудили, пытаясь синхротить время с ru.pool.ntp.org

Это при том, что есть чёткие требования к таким товарищам:

AlexVR ★★★★★
() автор топика

Я в этом мало разбираюсь, но выглядит как детектив. Резко пропадают сервера, оставшиеся задыхаются от нагрузки и как доминошки отваливаются. Кучи операционок не могут выставить системное время. А говорить начинают тогда когда буквально 4 подкроватных тачки остаётся работать.

LINUX-ORG-RU ★★★★★
()

Поднял число контролируемых клиентов, через час:

# chronyc -n clients | head -2
Hostname                      NTP   Drop Int IntL Last     Cmd   Drop Int  Last
===============================================================================
# chronyc -n clients | sort --key=3n | nl | tail
475402	178.249.59.167                816    380   9  -3   519       0      0   -     -
475403	91.218.92.4                  1050    406   2  -1   300       0      0   -     -
475404	212.115.59.14                1286    460   5  -2    97       0      0   -     -
475405	37.208.73.254                1124    537   6  -2   796       0      0   -     -
475406	194.247.185.25               1086    560   6  -2   528       0      0   -     -
475407	95.84.208.109                1529    663  -3  -2   20m       0      0   -     -
475408	213.33.168.138               1175    843   9  -2    57       0      0   -     -
475409	37.204.142.248               4227   1815  -1  -2     0       0      0   -     -
475410	195.16.36.245                8729   5486  -3  -4     0       0      0   -     -
475411	217.175.46.18              152272  48935  -4  -5   815       0      0   -     -
# chronyc -n clients | sort --key=3n | nl | tail -1000 | head
470948	176.59.15.145                  21      1   8  -5   201       0      0   -     -
470949	176.59.15.230                  16      1   8  -5   278       0      0   -     -
470950	176.59.15.47                   12      1   8   -   295       0      0   -     -
470951	176.59.160.125                 15      1  -5   1   63m       0      0   -     -
470952	176.59.16.18                   17      1   7  -5   283       0      0   -     -
470953	176.59.162.110                 11      1   9  -5   22m       0      0   -     -
470954	176.59.162.141                 17      1   8   3   35m       0      0   -     -
470955	176.59.162.232                 11      1   9  -5   35m       0      0   -     -
470956	176.59.162.252                 12      1   2  11   22m       0      0   -     -
470957	176.59.164.60                  15      1  -1  -5   63m       0      0   -     -
# cat /etc/chrony/conf.d/as_server.conf 
allow all 
ratelimit interval -1 burst 8 leak 2
combinelimit 5
clientloglimit 134217728

Т.е. за час набралось 400 тыр. клиентов.

Особо долбанутых из них не так и много.

AlexVR ★★★★★
() автор топика

На заметку. OpenWrt.

На OpenWrt можно поставить NTP-сервер и прописать его в DHCP:

root@OpenWrt:~# uci add_list dhcp.lan.dhcp_option="42,192.168.1.1"
root@OpenWrt:~# uci add_list dhcp.lan.dhcp_option="4,192.168.1.1"
AlexVR ★★★★★
() автор топика

Не надо звбывать, что есть vniiftri.ru и не стесняться добавлять их сервера тоже, хотябы 1-2.

Все NTP сервера работают от сигналов рабочих шкал Государственного первичного эталона времени, частоты и национальной шкалы времени РФ и вторичных эталонов в Иркутске, Хабаровске и Новосибирске.

AS ★★★★★
()
Ответ на: комментарий от AS

Не надо звбывать, что есть

Плохой совет. Они для тех, кто подымает стратум 2.

Для дома/работы достаточно поднять стратум 3.

pool 0.ru.pool.ntp.org
pool 1.ru.pool.ntp.org
pool 2.ru.pool.ntp.org
# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^+ 89.223.121.214                2  10   377   662  -1444us[-1245us] +/-   12ms
^- 213.234.203.30                2  11   377    85  -1958us[-1959us] +/-   76ms
^+ ntp1.mail.ru                  2  11   377    46  -3996us[-3997us] +/-   55ms
^- 195.218.227.230               3  11   377    81  -2775us[-2776us] +/-   57ms
^+ 5.178.87.94                   2  10   377   930  +3981us[+4285us] +/-   12ms
^+ 5.188.119.216                 2  10   377   735  +5252us[+5501us] +/-   11ms
^+ v2679487.hosted-by-vdsin>     2   7   377    82  -1617us[-1618us] +/-   13ms
^+ time100.stupi.se              1  10   377    59    +25ms[  +25ms] +/-   41ms
^+ 185.247.185.18                2  10   377   929   -931us[ -626us] +/-   11ms
^+ stratum2-1.ntp.mow01.ru.>     2  10   277   935  -2131us[-1826us] +/-   11ms
^+ 93.183.81.140                 2  10   377   926   +672us[ +976us] +/-   19ms
^+ ntp.swl.su                    2   8   377   276   -402us[ -242us] +/-   15ms
^+ 89.223.121.197                2   8   377   194   -699us[ -629us] +/-   11ms
^+ 89.111.140.79                 2   9   377   222  -1969us[-1899us] +/-   13ms
^+ 80.76.60.21                   2  10   377   913  -2165us[-1860us] +/- 9794us
^+ ntp2.mail.ru                  2  10   377   789  -2973us[-2703us] +/-   55ms
^* 1324914-cy06275.tw1.ru        2   6   377    46  -2390us[-2391us] +/-   14ms

Обрати внимание на число плюсиков.

Для обычного ПК

server 0.ru.pool.ntp.org
server 1.ru.pool.ntp.org
server 2.ru.pool.ntp.org
server 3.ru.pool.ntp.org
AlexVR ★★★★★
() автор топика
Последнее исправление: AlexVR (всего исправлений: 1)
Ответ на: комментарий от th3m3

А кто виноват в итоге? Яндекс?

Как минимум их уличили в свинском поведении.

  1. Прописали ru.pool.ntp.org в качестве часиков для своих колонок. А должны были, либо завести свой пул аля ntp.yandex.ru, либо использовать 0.yandex.pool.ntp.org (с.м. https://www.ntppool.org/ru/vendors.html )

You must absolutely not use the default pool.ntp.org zone names as the default configuration in your application or appliance.

  1. Синхронили свои колонки раз в пять секунд. Это в локалке то не имеет смысла. https://www.ntppool.org/ru/use.html

Будьте дружелюбны. Многие сервера предоставляются добровольцами, и почти все NTP-сервера на самом деле являются файловыми, почтовыми или web-серверами, на которых просто запущен ntpd. Поэтому не используйте более трех серверов в своей конфигурации, и не выкидывайте грязных трюков с параметрами burst и minpoll — все, чего вы добьетесь, это гибель нашего проекта, раньше или позже.

AlexVR ★★★★★
() автор топика
Ответ на: комментарий от AlexVR

Синхронили свои колонки раз в пять секунд.

Фига себе они упоролись!

urxvt ★★★★★
()
Ответ на: комментарий от AlexVR

Если использовать ntp для времени, то даже в случае откровенно бракованных локальных часиков не вижу смысла синхрить чаще раза в десять минут.

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

Bfgeshka ★★★★★
()
Ответ на: комментарий от AlexVR

Плохой совет. Они для тех, кто подымает стратум 2.

Для дома/работы достаточно поднять стратум 3.

Да, что-то я со своей колокольни. Для дома/работы должен быть сервер провайдера по идее. Вот только все ли делают... А потом все ли клиенты интересуются и используют.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS

Для дома/работы:

Сейчас проверил в офтопе:

ntp.local провайдера работает и пингуется, ip от него поставил вместо того, что было.

anonymous
()
Ответ на: комментарий от XMPP

И? У рндекса должен быть внутренний ntp сервер (который бы они синхронизировали извне мб через несколько серверов масимум и гораздо реже) в любом случае, вместо этого они сношаются с внешним публичным

Bfgeshka ★★★★★
()
Ответ на: комментарий от Bfgeshka

Выше кинул ссылку на ответ Яндекса. Говорят, что запилят свои ntp-сервера.

th3m3 ★★★★★
()
Ответ на: комментарий от AlexVR

Для дома/работы достаточно поднять стратум 3.

До недавнего времени в debian.pool.ntp.org было зачем-то до фига узлов st1 с синхронизацией от первичных источников типа GPS или PPT. Зачем — загадка. А сейчас в основном российские сервера st2:

 0.debian.pool.ntp.org              .POOL.          16 p    -   64    0   0.0000   0.0000   0.0001
 1.debian.pool.ntp.org              .POOL.          16 p    -   64    0   0.0000   0.0000   0.0001
 2.debian.pool.ntp.org              .POOL.          16 p    -   64    0   0.0000   0.0000   0.0001
 3.debian.pool.ntp.org              .POOL.          16 p    -   64    0   0.0000   0.0000   0.0001
*v2678489.hosted-by-vdsina.ru       130.173.91.58    2 u   32 1024  377  20.5686  -4.1054   1.8979
-5.178.87.93                        127.127.1.1      2 u  209 1024  377  32.4572 -27.1860   2.4014
-time.cloudflare.com                10.87.8.6        3 u  35m 1024  376  19.8146  -3.4486   1.0280
+213.mcs.mail.ru                    216.239.35.4     2 u    5 1024  377  19.7825  -1.5357   1.2161
-unspecified.mtw.ru                 194.190.168.1    2 u  940 1024  377  20.6769 -31.7112   1.8163
+time.cloudflare.com                10.136.8.111     3 u   70 1024  377  19.7808  -4.0017   0.5093
+time.cloudflare.com                10.87.8.6        3 u  707 1024  377  19.7017  -3.7254   0.6165

Они по GeoIP, что ли, отдают сервера? Хз где найти инфу о пуле…

anonymous
()
Ответ на: комментарий от th3m3

В Яндексе ответили:

мы написали простой NTP‑клиент для синхронизации часов.

Писец. Вот очень очень надо было свой. При этом «этот свой» не цепляет выданный по DHCP NTP-сервер.

AlexVR ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Они по GeoIP, что ли, отдают сервера?

Да. И это разумно. Чем ближе, тем проще синхронизироваться.

AlexVR ★★★★★
() автор топика

Отчёт Яндекса по сабжу читали?

https://habr.com/ru/companies/yandex/articles/861538/

Они признались что именно их говнокод в дебил-колонках «Алиса» ответственен за эту проблему.

Для Ъ:

Недавно на Хабре вышла статья об аномальной нагрузке на публичные NTP‑серверы в рунете. К сожалению, к этой ситуации привела ошибка в прошивке Яндекс Станций.

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

В выходные 23–24 ноября ситуация с NTP‑серверами обостряется: доступными остаются лишь четыре сервера. К этому моменту мы уже начали раскатывать релиз с исправлением на 10% устройств. Но фактически обновления происходят по ночам. Мы поняли, что нельзя ждать ближайшей ночи, при этом форсировать этот процесс опасно, поэтому решили пойти на альтернативные, срочные меры.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

Какого фига надо было писать «свой» NTP-клиент. Что за фразы «обновляли раз 5 секунд», «решили обновлять раз в 5 часов» и т.п. Что за детский лепет. Есть chrony и т.п. в которых заложены механизмы синхронизации. Задал «minpoll»/«maxpoll» и нормальный NTP-клиент будет подбирать интервал, в зависимости от убегания.

С такими фразами возникает вопрос, а они понимают что у «часиков» есть возможность подстройки частоты?

Следующая их фраза об необходимости частой синхронизации для двух Алис в доме. Что *ля за тупняк? Причём тут синхронизация с внешними серверами и синхронизация пары рядом стоящих устройств? Что за бред сивой кобылы? Если надо синхронизировать два устройства между собой, то и надо синхронизировать два устройства между собой. У chrony и т.п. есть понятие peer.

Не говоря про PTP или Wi-Fi TimeSync, которые явно не про дешман от Яндекса.

AlexVR ★★★★★
() автор топика

С другой стороны, считай что в двое поднялось число узлов в ru-зоне.

https://www.ntppool.org/zone/ru

IPv4: There are 283 active servers in this zone.

249 (+34) active 1 day ago
5 (+278) active 7 days ago
9 (+274) active 14 days ago
124 (+159) active 60 days ago
131 (+152) active 180 days ago
146 (+137) active 1 year ago
127 (+156) active 3 years ago
91 (+192) active 6 years ago

IPv6: There are 56 active servers in this zone.

54 (+2) active 1 day ago
33 (+23) active 7 days ago
33 (+23) active 14 days ago
40 (+16) active 60 days ago
43 (+13) active 180 days ago
42 (+14) active 1 year ago
38 (+18) active 3 years ago
19 (+37) active 6 years ago

З.Ы.:

https://www.ntppool.org/ru/

Из-за большого количества клиентов мы испытываем острую необходимость в новых серверах. Если у вас есть сервер с внешним статическим IP-адресом и устойчивым интернет-соединением, пожалуйста, подумайте о том, чтобы включить его в пул.

AlexVR ★★★★★
() автор топика
Ответ на: комментарий от EXL

До сих пор ведь находятся дебилы, считающие «покрытие автотестами» панацеей от ошибок.

anonymous
()
Ответ на: комментарий от AlexVR

Такой вот «лидер отрасли», чо. Зато красными флагами при найме увешались, как ёлка. Ну, таких вот и понанимали, которые хорошо умеют только собеседования проходить.

anonymous
()

Небольшая статистика по моему серверу.

  • Выставлен лимит 100 Мб/с в пуле.
  • Реальный поток около 500 запросов в сек.
  • Настроен учёт клиентов в таблице на один лям.
  • Неадекватов почти не осталось.
        Hostname                      NTP   Drop Int IntL Last     Cmd   Drop Int  Last
        ===============================================================================
# chronyc -n clients | tail -n +3 | sort --key=3n | nl | tail 
1048567	95.104.184.150                 24      1   7  -5   85m       0      0   -     -
1048568	213.109.66.105                255      2   7   4    60       0      0   -     -
1048569	31.135.43.189                  20      2  -5  -5   99m       0      0   -     -
1048570	94.233.240.226                 42      2   8  -5   75m       0      0   -     -
1048571	176.111.79.89                 621      3   8  -5   24m       0      0   -     -
1048572	188.170.74.193                407      3  11   2   366       0      0   -     -
1048573	37.19.2.162                   481      5   9  -5   20m       0      0   -     -
1048574	89.208.236.16                 580      5  -3  -4   37m       0      0   -     -
1048575	85.140.1.111                  175     11  11   9   34m       0      0   -     -
1048576	109.198.109.175             13905   9070   8   9   65m       0      0   -     -
# chronyc -n clients | tail -n +3 | sort --key=2n | nl | tail 
1048567	188.0.141.25                 7191      0   1   -   138       0      0   -     -
1048568	185.234.229.127              7515      0   4   -    12       0      0   -     -
1048569	92.124.80.13                 7884      0   6   -    47       0      0   -     -
1048570	213.208.168.194              8131      0   3   -    13       0      0   -     -
1048571	31.42.47.210                 8250      0   9   -   486       0      0   -     -
1048572	176.215.249.18               8825      0  10   -    34       0      0   -     -
1048573	185.162.94.213               9218      0   6   -   348       0      0   -     -
1048574	109.198.109.175             13905   9070   8   9   65m       0      0   -     -
1048575	188.170.251.201             41341      0   6   -   23m       0      0   -     -
1048576	212.119.193.2               50434      0  -1   -   525       0      0   -     -
AlexVR ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Их куски пластика еще пингами нонстоп спамят. Это у них так интернет проверяется бгг.

Если заблочить им icmp то эти дебильные куски пластика делают пуксреньк и не работают.

Я молчу уже что их помойные поделия хостнейм свой не привязывают к маку. А просто название модели используют.

Ни капсула майла, ни сбердевайсы такого треша не позволяют себе. Только криворукие оленьпиадники из куяндекса.

Вообще авторам этого кала надо уринкой все личико облить.

guyvernk ☆
()
Последнее исправление: guyvernk (всего исправлений: 4)

IPv4

There are 303 active servers in this zone.

292 (+11) active 1 day ago
8 (+295) active 7 days ago
10 (+293) active 14 days ago
126 (+177) active 60 days ago
132 (+171) active 180 days ago
146 (+157) active 1 year ago
125 (+178) active 3 years ago
95 (+208) active 6 years ago

Ехоу нас 300+

AlexVR ★★★★★
() автор топика
Ответ на: комментарий от grem

в моей квартире в каждой комнате должно поселится N устройств с микрофоном в каждой комнате, которым я управлять не могу физически ( дают какую-то виртуальную кнопку с подсветкой, которая непонятно что означает). WTF?

ivanich10 ★★
()
Ответ на: комментарий от ivanich10

Ты всë правильного понял. В каждой к комнате по устройству. И за каждое платишь. Типо не налог. Но больше чем налог, и частному лицу, хоть и через уважаемую компанию.

Так надо.

AlexVR ★★★★★
() автор топика

Не нравится мне стандартные сервисы времени из-за требования рут полномочий для установки системного времени.

Сделал свой сервис который под пользователем берет время с IP пакетов и записывает разницу в файл. А под рутом с этого файла устанавливаю время. Даная схема работает хорошо, в логах матюков на время не встречал. Даёт точность ~0.01с при синхронизации пару раз в день (надо Интернет).

Мне кажется что при современных RTC и хорошей батарейки на мамке вполне должно хватать прописать в cron hwclock -s и дергать раз в час (ничего не надо). Любую другую синхронизацию отключить. Если надо раз в год руками устанавливать точное время hwclock --set --date=... по курантам. Отклонение какое за год набежит примерно? Не тестировал данный вариант.

Синхронизация с радиоканалов (надо радио модуль):

  • GPS/GLONASS https://wirenboard.com/wiki/NTP_GPS все ноуты и смарты могут брать точнейшие время с спутников геолокации. Это самый лучший с доступных вариантов!!!
  • CDMA/GSM сотовая связь.
  • Радиосигнал, например цифрового TV.
anonymous
()
Ответ на: комментарий от AS

Для дома/работы должен быть сервер провайдера по идее.

Идея так себе, фиг знает как там у прова, сегодня робит, завтра не робит...

А потом все ли клиенты интересуются и используют.

Никогда не интересовался и не использовал. Работаю по старинке.

anc ★★★★★
()
Ответ на: комментарий от XMPP

Смысл точного времени нужен для TOTP,

Смысл точного времени в том, что бы было точное время. А для чего можно перечислять долго, хоть для себя любимого, что бы посмотрел на часики и увидел сикока сейчас времени.

anc ★★★★★
()
Ответ на: комментарий от XMPP

Но они решили иначе, отсюда и.

Они никак не решали, просто взяли то, что есть из каробки и не парились.

anc ★★★★★
()
Ответ на: комментарий от AlexVR

мы написали простой NTP‑клиент для синхронизации часов.

Писец. Вот очень очень надо было свой. При этом «этот свой» не цепляет выданный по DHCP NTP-сервер.

Да вангую ничего не писали, запилили в крон какий-нидь ntpdate и на этом успокоились.

anc ★★★★★
()
27 сентября 2025 г.
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария