ntp и блокировка портов

Столкнулся тут что один говнохостер блочит исходящие со 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 только ради синхронизации времени)

You can leave a response, or trackback from your own site.

Leave a Reply

Subscribe to RSS Feed