Столкнулся тут что один говнохостер блочит исходящие со 123 UDP. То есть поставил ntpd со стандартным конфигом, запустил и вижу такое:
[root@localhost ~]# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== sip.dicode.nl .INIT. 16 u - 64 0 0.000 0.000 0.000 ntp.luna.nl .INIT. 16 u - 64 0 0.000 0.000 0.000 metronoom.dmz.c .INIT. 16 u - 64 0 0.000 0.000 0.000 server1.bertold .INIT. 16 u - 64 0 0.000 0.000 0.000
ntpdate тоже не работает:
[root@localhost ~]# ntpdate pool.ntp.org 13 Feb 11:16:33 ntpdate[16114]: no server suitable for synchronization found [root@localhost ~]#
Однако дебаг работает нормально:
[root@localhost ~]# ntpdate -d pool.ntp.org 13 Feb 11:17:18 ntpdate[16209]: ntpdate 4.2.6p5@1.2349-o Mon Feb 6 07:22:46 UTC 2017 (1) Looking for host pool.ntp.org and service ntp host found : backup.kabelnetveendam.nl transmit(213.109.127.82) receive(213.109.127.82) ... reference time: dc4be672.223c708d Mon, Feb 13 2017 11:01:54.133 originate timestamp: dc4bea0f.6d4c2184 Mon, Feb 13 2017 11:17:19.426 transmit timestamp: dc4bea0f.6d238c2e Mon, Feb 13 2017 11:17:19.426 filter delay: 0.02826 0.02809 0.02814 0.02835 0.00000 0.00000 0.00000 0.00000 filter offset: -0.00049 -0.00073 -0.00082 -0.00077 0.000000 0.000000 0.000000 0.000000 delay 0.02809, dispersion 0.00009 offset -0.000738 13 Feb 11:17:19 ntpdate[16209]: adjust time server 5.79.108.34 offset -0.000738 sec [root@localhost ~]#
Взял tcpdump, повтыкал пару минут и понял что при наличии опции ‘-d’ запросы уходит с непривилегированного порта, а без этой опции со 123 порта и ответ мне не приходит.
[root@localhost ~]# tcpdump host A.B.C.D -nn & ntpdate A.B.C.D > /dev/null [5] 16694 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 11:22:41.771719 IP X.Y.Z.A.123 > A.B.C.D.123: NTPv4, Client, length 48 11:22:41.771722 IP X.Y.Z.A.123 > A.B.C.D.123: NTPv4, Client, length 48 ... 11:22:44.771655 IP X.Y.Z.A.123 > A.B.C.D.123: NTPv4, Client, length 48 11:22:44.771662 IP X.Y.Z.A.123 > A.B.C.D.123: NTPv4, Client, length 48 11:22:44.771645 IP X.Y.Z.A.123 > A.B.C.D.123: NTPv4, Client, length 48 13 Feb 11:22:45 ntpdate[16695]: no server suitable for synchronization found [root@localhost ~]# tcpdump host A.B.C.D -nn & ntpdate -d A.B.C.D > /dev/null [6] 16697 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes host found : sip.dicode.nl 11:22:51.724108 IP X.Y.Z.A.59690 > A.B.C.D.123: NTPv4, Client, length 48 11:22:51.724112 IP X.Y.Z.A.59690 > A.B.C.D.123: NTPv4, Client, length 48 11:22:51.724115 IP X.Y.Z.A.59690 > A.B.C.D.123: NTPv4, Client, length 48 11:22:51.724118 IP X.Y.Z.A.59690 > A.B.C.D.123: NTPv4, Client, length 48 ... 11:22:51.736426 IP A.B.C.D.123 > X.Y.Z.A.59690: NTPv4, Server, length 48 11:22:51.736435 IP A.B.C.D.123 > X.Y.Z.A.59690: NTPv4, Server, length 48 11:22:51.736422 IP A.B.C.D.123 > X.Y.Z.A.59690: NTPv4, Server, length 48 [root@localhost ~]#
Уже было думал поднимать vpn только ради синхронизации времени, но потом подумал немного, почитал «man ntpd», «man ntp.conf» и «man ntpdate» и таки нашел нужную опцию (а заодно выяснил почему ntpdate с разных портов пакеты отправляет):
-u Direct ntpdate to use an unprivileged port for outgoing packets. This is most useful when behind a firewall that blocks incoming traffic to privileged ports, and you want to synchronize with hosts beyond the firewall. Note that the -d option always uses unprivileged ports.
В общем добавляем «ntpdate -u» в крон и радуемся жизни (костыль конечно, но меньший, чем поднимать vpn только ради синхронизации времени)